10 years of software development

#craftsmanship Jul 12, 2023 3 min Mike Kowalski

The calendar doesn’t lie. A decade of my professional career in software development has just passed. 10 years of experience always felt like a magical and very distant boundary. Am I a better engineer now? Am I a different person? Absolutely! Yet, it didn’t happen overnight.

Reviewing these changes is a fascinating exercise. Sometimes I struggle to remember what I had for lunch the day before… But 10 years?! That’s really a lot of time! Yet, I feel it was really worth the effort.

Let’s look at how ten years of professional experience have shaped the way I think today.

The world has changed

The programming world looked completely different in 2013. Java 8 was yet about to come. Extremely expensive “enterprise” components like ESB, application servers, and message queues were all over the place, often running on dedicated ($$$) hardware. Docker was just a niche curiosity in its very early days. There was no Spring Boot, so we’ve been copying tons of XMLs around projects trying to understand why they don’t work as expected. jQuery ruled the frontend. Oh, and for some reason everybody needed a Hadoop cluster…

Many things I learned through these years are no longer used. I don’t think that was a waste of time though. Observing how our industry was changing gives a unique perspective. You not only know what failed/disappeared in the past but also understand why it happened. This is the kind of experience that helps to shape up the future. Also, forgotten ideas are sometimes coming back to the mainstream. Just think about all these “rediscovered” distributed systems publications! Keeping pace with changes is a part of this job. I don’t expect our industry to slow down any time soon.

Knowing the past makes me appreciate present times even more. People becoming programmers today are simply accepting the craftsmanship of modern software engineering. They learn that certain approaches are good and read about their benefits. Yet, they may not know what the world was like without them. I still remember that. As a result, I won’t even think about taking certain shortcuts. Now, I finally understand the advantage that more experienced colleagues had when I was just starting.

I have changed

My experience makes me a bit more skeptical. Skepticism is good for critical thinking but also makes leaving the comfort zone harder. As a result, staying open-minded got a bit more challenging than before. That’s why working with less experienced people who still have that “fresh look” is as important as being surrounded by people more skilled than me.

The older I get, the more I appreciate simplicity. Maybe I’m just getting lazy, or I saw enough of “bad complexity” already… What I learned is that simplicity doesn’t break.

I follow my intuition more than before. This applies to all aspects of my work from coding and designing solutions to leading teams. Sixth sense? Not really. It’s just a matter of experience. This can be very useful but also quite risky. I’m definitely more opinionated than a couple of years ago.

I’m still making mistakes. Luckily, I don’t expect that to ever change. Of course, the expectations are getting higher and higher. Being a perfectionist doesn’t help here as well. Yet, I promised myself that I would give up on what I’m doing the same day I felt infallible. Nobody is.

I’m proud of where I’m now overall. Sure, I haven’t created a multi-million dollar startup. I haven’t revolutionized the industry either. But how many people actually do? Being ambitious doesn’t mean we don’t deserve to celebrate “smaller” achievements.

Finally, I still love what I’m doing for a living. That’s a true privilege I’m really grateful for. As a former workaholic, I know it’s also a trap. Yet, a decade later, I think I finally found the right balance…

What’s next?

Although my predictions for 2023 turn out to be quite accurate, I won’t even try to predict the upcoming decade. The only thing I know now is that I’m not going anywhere else soon. So, there’s a chance for another retrospective summary 10 years from now.

No matter how experienced you are, I recommend you a similar exercise. Try to remind yourself how the world and yourself looked like when you were starting. Look for what has changed. I hope this would help you to appreciate where you’re now even more. And don’t forget to celebrate what you achieved! Let me start:

Happy 10th anniversary Mike!

Mike Kowalski

Software engineer believing in craftsmanship and the power of fresh espresso. Writing in & about Java, distributed systems, and beyond. Mikes his own opinions and bytes.