37
The story so far. A developers' journey
Shortly after becoming a Google Developer Expert for Android earlier this year, I was asked to share my journey, to tell what eventually brought me here. While I love sharing and learning and most certainly enjoy technical writing, I felt somewhat hesitant to do an autobiographic piece. Not because of imposter syndrome. Actually, I am quite proud of how things went. It's more about not being sure if I'm a good storyteller. Still, we should try out new things and improve ourselves, right? Well, here we go...
I was born in 1970. At that time computers had already existed for decades. But it took another 10 years before they became somewhat common at home and in school. Those machines were called home computers. They were usually connected to TV sets for display. Programs and data were stored on compact cassettes.
My first computer was a Laser 210. It was programmed in BASIC. Its graphics and sound capabilities were, well, barely present. Yet I fell in love. Because it allowed me to be creative, to make things happen. I kept writing small games, conversion tools, and recipe databases. Inevitably none of them survived.
At that time, not many pupils had computers. And that wasn't primarily a money thing. To tell the truth, most felt it was just not necessary. While I considered writing programs fun and creative, most others thought it was boring.
My second computer was a Commodore 64, probably the most iconic and successful home computer. With it came a pause in programming, BASIC lost me to...games... 😎 At that time, quite a few pupils had or wanted computers. For exactly that reason, by the way...
A few years later (technology kept evolving at a breath-taking pace) I got my third computer, an Atari 1040ST. BASIC was back. I wrote small games, conversion tools, and music databases. By that time it was common to send self-written programs to magazines to have them printed and receive some money. I implemented a music creation program. Certainly, it was rejected. And, inevitably, it did not survive.
The 1990s brought my fourth computer, an Atari TT. By that time a seriously powerful machine. I had started studying computer science, later computational linguistics and German literature. I switched to C and wrote a few shareware programs. Even though the PC had pushed home computers to a niche, in Germany we had a thriving Atari ST scene, driven by a distributed Bulletin Board System called MausNet. Please recall: that was before the web became mainstream (or, even existent 😂). Such BBS had already been present in the 80s (and probably earlier), with forums, file sharing areas, and regular meetups at the local pub.
Fun fact: program filenames on the Atari ST ended in .prg or .app.
This time I was more serious about keeping the source code of my apps. The PC had replaced my TT, but there was a very good emulator which allowed me to continue developing for the Atari. Still, I lost the source code for all my Atari apps sometime around 2010. 😥 Turns out I never succeeded in deploying a working backup strategy. Fortunately, today GitHub, Bitbucket, GitLab, and other cloud-based services save my neck. 🤣
During the 90s I discovered my love for writing. A German Atari magazine called ST-Computer printed some of my early articles. At university, I got an assistant job at the computer science lab and learned Perl and C++. There I got an idea of what programming at a larger scale was all about. The university offered email accounts to students and my task was to automate account renewal. While the program was meant to send out emails to students who needed to renew their accounts, a bug made it send out the mail to everyone. About 26000. I didn't get fired. All I got was a Won‘t be your last bug, now go fix it.
My professional career started in the early 2000s. After earning my master's degree I had stayed at the university and tried to write a dissertation, but never finished due to... circumstances... 🤣 While applying for a developer job I worked at the hotline of a bank. Quite an interesting experience.
Earlier I had acquainted myself with Java. This allowed me to join a huge community and contribute to it. java.net was one of the most important and influential portals for all things Java. It was maintained by Sun Microsystems and O'Reilly. Besides forums and news, there was a well-curated articles section. I am proud that I contributed quite a few pieces about Java programming in general, UI/UX, and mobile. Java ME, anyone?
Already during the 1990s, I had fallen in love with mobile computing. There certainly were no smartphones back then, but quite a few organizers, or Personal Digital Assistants. Its chips (well, their grand grand grandsons) happen to influence our industry still today. But that's another story. Still, one of those PDAs could be programmed in Java. Which allowed me to write a few articles about that in a magazine called Palmtop.
When the iPhone appeared, I had already owned a bunch of smartphones, all of which had operating systems by Microsoft. Which meant that - being a Java geek - I could not write programs for them. Fortunately Android came to the rescue. I grabbed the first preview version of the SDK in November 2007 and played with it. When the Google G1 finally appeared in Germany in early 2009, I got one as fast as I could. And started programming it. This time I will not be repeating the Inevitably none of them survived joke as, fortunately, both apps and source code are still present.
The first one, TKBirthdayReminder, brought me an incentive from Google. Early 2010 devs who had an app with good store ratings and, I believe, 5000 downloads were eligible for a Nexus One or a Motorola Milestone. To learn more about ecosystems, I decided to put my second one, TKWeek, into the Amazon App Store. It was the free app of the day on May 10, 2012.
Java and Android have been my inspiration for writing for many years. I did countless printed articles in German magazines. And three books. One is maybe one of the least sold books. 🤣 Still, I am proud I did it. It was called Java for Windows and shows you how to do things with Java that go beyond cross platform. The market did not care. Fortunately, my publisher had faith in my writing skills and allowed me to continue. The other two have been quite a success.
Besides writing, I am fortunate to have been speaking at quite a few conferences in Germany and abroad. Being visually challenged, doing so is always quite a thrill. Still, nothing compares to direct feedback and interaction. Because speaking is in equal parts sharing and learning. And the need for continuous learning and improving yourself will never fade. Finally, being part of a community is indescribably rewarding. I don't want to miss it. Neither should you.
No matter how far your career has grown so far, be sure to never lose the fun. Do things that inspire you. Be yourself. And remain open-minded. Allow me to explain: being a fan or expert of a particular platform (in my case Android) must not mean you ignore all the others. For example, I keep myself updated on what's going on in iOS. To truly understand computing we must master different approaches.
This applies to programming languages, too. I love Kotlin. But to really comprehend what's going on behind the scenes we must know how others do it, too. That's why I also pay close attention to Flutter and Dart. So, to become an expert you must stick to a topic for quite a while and drill real deep. But allow yourself to be inspired be adjacent areas, too.
So, that's my story so far. If you took only 3 things from it, let it be the following:
- Preserve your work
- Pursue the things you want
- Never stop interacting
What do you think? Please share your thoughts in the comments.
37