I have been coding for most of my life. My father taught me the first basics using Delphi (formerly Object Pascal) around 1997. I still remember my first „real“ project I created with my dad during a vacation in Sweden. It was a simple quiz that read the questions and possible answers from a text file. The UI was a classic Windows form. It was magic. I could add new questions to the text file, and they would appear on the next startup of the quiz. I‘m not 100% sure, but I assume that this might have been the experience that influenced me to keep coding.
In my computer science class in school (it must have been around 1999), I started using Java for the first time. We used JavaKara (unfortunately, the documentation is only available in German) to get around basic syntax and control structures. Sometime later, we switched to “plain old” Java. In 2004, I created a little game as an intermediate exam in my computer science class. If you like looking at funny code and don’t care about German words spread across the codebase, take a look at this “masterpiece” here: https://github.com/n-develop/intermediate-exam-cs 🙈
During my vocational training at the Warsteiner Brewery, I started using VisualBasic.NET and the .NET-Framework for the first time and fell in love with it right away. During my time at Warsteiner, I witnessed all the improvements and new features in .NET 2.0 and .NET 3.5. What a great time to be alive a programmer. 💪
Since then, I have always been coding in the .NET ecosystem in one way or another. Even though I was forced to use Java and C++ during my studies, I always used .NET and C# “on the side”. After my studies, I focused on .NET and used it “full-time” until 2021.
In 2021, I transitioned to mobile development in the Apple ecosystem using the Swift programming language. That was a lot of fun as well. Coming from a backend world with just a little frontend work (a little HTML, CSS, and JavaScript), doing mobile app development was quite a change. Restricted computing power on the devices, a bigger focus on frontend and design, and using Xcode instead of these awesome JetBrains IDEs… But it was a lot of fun as well. Swift is a great language with a lot of modern language features.
Coding for Fun and Profit
Coding stopped being part of my day job in June 2023 when I started serving as the “Head of Engineering” in our engineering department. As a manager of managers, it’s no longer my primary job to write code. Nevertheless, I try to stay in (or at least around) the code to some degree. James Stanier put it this way:
I think that there is a big difference between being in the code and writing code. All managers should be in the code, but not all managers should be writing code.
— James Stanier, February 2025
One of my favorite ways to stay in the (iOS) codebase is fixing accessibility issues. In most cases, these changes are relatively small and don’t affect the features too much.
A few weeks ago, my boss approached me with an idea for an app. Our long-time CEO left the company end of February and some colleagues had the idea to build him a TikTok clone with special videos the employees created to give him a special goodbye. As I have done iOS development myself, I took the opportunity to create the app myself. What a fun project. 🙂 Even I was able to create the TikTok-like interface super fast with the help of SwiftUI.
But I also try to be in the other codebases my department maintains. If special requirements come up during a meeting, I’ll look at the Java codebase of the microservice in which the implementation probably needs to be done. Not to implement the actual change, but to understand the potential effort.
As you can see in the previous chapter, it’s been a while since I wrote “real” Java code. To improve my understanding of Spring Boot services, I did some video trainings on Spring, Spring Boot, Spring Data, and Spring Security (on “LinkedIn Learning”) and then created a small pet project I use almost daily now. While coding this little web app, I even discovered that the Spring ecosystem is a great alternative to my usual C#/ASP.NET setup.
Sure, implementing a super small web app doesn’t make me a professional Java developer, but it helped me understand our Java codebase better. That’s all I wanted.
That’s it.
I wrote my first lines of code some time around 1997 and still code whenever I get the chance. Whether it’s for work, a passion project, or just the thrill of making a computer do my bidding, I keep coming back to the keyboard.