No straight line ๐
Perhaps you’ve seen a picture similar to this, comparing one’s expectations versus reality?
I’ve found it to be very true in many ways, not the least when it comes to my career path and technology choices. Allow me to indulge in a bit of personal reflection, and I’ll explain.
My career, the short version #
I learned to program in Basic and Visual Basic. Even worked a little bit with C# when it was new. I felt at home in the Microsoft tech stack.
Then I started college and was forced to learn Java. I did not like it. I didn’t think it was cool, and thought that it would not be relevant in the coming years. To my surprise, Iย ended up liking it and it became the foundation for my career.
It liked it so much, that when I started looking for work, I looked for Java positions. Some years later, a colleague argued for Scala. I thought it looked a bit crazy, and that it would mostly be a distraction from building our product. We started using Scala anyway. Iย ended up liking it a lot, and learned much about functional programming.
I liked it so much, that when it was time to look for a new job, I explicitly looked for opportunities to work with Scala. I found one and started. For various reasons, that project failed. Me and a colleague were put in charge of starting over. We initially assumed we would use Scala again. But we had some doubts, so we made a proper evaluation of our options. To my surprise, we reached the conclusion that Kotlin would fit our particular circumstances the best. So we switched to Kotlin, and I liked it even better.
I liked it so much, that when I was looking for a new job next time, I was looking for a Kotlin gig. I found one (my current employer, in fact) and was happy about it. After a while, the strategic landscape changed for the company, so we had to reevaluate our choice. Weย realized that given the new circumstances, we would be better off using TypeScript. So we made the switch, and I’ve been learning a lot about structural typing and other interesting stuff.1
Things change #
So what is the moral of the story? I guess it is that things change. You shouldn’t expect to go in a straight line. You should perhaps not even try to.
I’m amused by how often I’ve actively searched for something, only to end up with something else, and then realized that I like that too. In some cases even better!
And it has helped me to keep learning, even after 20 or so years in the business. I guess it is hard to stagnate when the ground beneath you is constantly moving. ๐
What was the most recent thing you changed? (Or that changed you?)
-
Some things in TypeScript are really cool, like expressing types in terms of other types. Unfortunately, I’ve also had to learn about the many inconsistencies in JavaScript. ↩︎