This corner of the blogosphere is maintained by Timo Hildén. I’m a passionate iOS & Android developer currently working at Bitfactor Ltd in Oulu, Finland. For more than a decade I’ve worked in a wide variety of professional mobile software projects, while also staying on the top of my game by studying software development on my free time. Since this is my personal blog, opinions presented here are my own and not affiliated with any way with my employer.
I equally love both Android and iOS platforms. So much so that it’s often difficult to decide which one I’m mentioning first when talking about both platforms at the same time (see what I did there?). They each have a lot of similarities, like varying screen sizes, battery, memory and performance constraints, etc. But they approach the problems from their own unique standpoint. By stuying one platform implicitly gives you a better understanding of the other. It’s really a fascinating feeling!
What comes to app development, graphics and performance are especially close to my heart. Not only does an app need to look good, it needs to do so by maintaining a constant 60 FPS performance throughout on reasonably recent hardware. Generally my aim is to ensure that my apps run without dropping frames on ~3 year old hardware.
The drive to learn
The number one reason I am in this business is that it gives me tremendous opportunities to learn new things that are of great interest to me. Mobile software architecture, UI and graphics programming, performance optimization and the like are topics that provide me with limitless chances to develop my thinking and understanding.
I love to spend time researching new programming patterns, paradigms, and libraries that I feel may be of use in either my professional life or personal projects. I feel that the best way to grow understanding on a topic is to examine it from multiple different viewpoints. For example, I feel that I learn a lot more from Android by studying how similar concepts are implemented on iOS, and vice versa. I never get bored of learning because if I get bored of one topic, I can effortlessly move onto the next and continue studying. In fact, the only problem is the lack of time — there’s never enough of it!
Quality is of utmost importance
Writing top-quality software is pivotal. For me, it’s not enough just to get things working. The software must be well-designed and written to be both a joy to use, and easily maintainable and expandable. Even though modern software development is done in an incremental fashion, having a certain amount of foresight through experience is essential in order to be able to make the right, educated decisions as early as possible in the development cycle.
Having the focus on the users is central to all software development. When producing commercial software, we don’t write it for ourselves, or to people with similar level of technological know-how. The target market is usually people who do not understand why certain software components are broken, and who are not willing to put up with flaws because they know how to avoid them when using the software. Instead, every release of shipped software must be of high enough quality that regardless of who uses it, they won’t have to deal with a plethora of quality issues.
Oh no, I think they’re here… I must c