If you are a Java developer, you probably heard of Kotlin: a language that conquered a lot of territory in a short amount of time. By now we can say: Kotlin is here to stay. It looks like it will be the JVM language №2 and on Android, it became for many of us the language of choice.
But not everyone is excited. If you are a long time Java developer, you might be worried about all of this.
Some people say that developers should learn a new language every two years, that we should spend our spare time to code on hobby projects!
I never really did this, and I know a lot of developers don’t do either.
To be honest, there are many reasons why you should look outside of your own programming world. Learning a new language helps you to become better in your main language.
As of its large universe, Java made it very simple to stay in a comfort zone and there was so much to experience on Android too.
And then Kotlin happened
As mentioned a lot of developers love Kotlin! Others are hesitating. And the first often don’t understand the second group. Didn't Kotlin make development fun again?
The hesitation might have various reasons. Like that there is no good reason to move to Kotlin in your project.
And this might actually be true.
But other times it hides fear!
What could a developer be afraid of, you might ask?
- being afraid that now someone new, with less experience is all of the sudden “smarter” than them?
- or that you lose control of a project in a language you knew by heart?
Losing our comfort zone scares us! I’ve seen this happen to many developers. And it can happen to any of us! It does not matter if you are a junior, probably constantly afraid of not knowing everything anyway or a very experienced one, maybe even the team lead who fears the loss of control.
Let me tell you a story.
A long time ago…
When I got my first development job after university in 2001, I quickly moved to Java. For quite some time I wrote J2SE “apps” running on Windows, Linux MacOS and OS/2. Very soon, I turned towards embedded (CDC) and especially mobile (CLDC, J2ME).
Certifications were a thing back then for developers. So I did my Java Certified Programmer, and as I was on mobile, became a certified Blackberry developer. A great time to be a developer! So I thought.
Nothing lasts forever
At some point, it became clear that Blackberry, like Nokia, was losing the fight with the new opponents Apple and especially Google’s Android.
I realized my developer certificate would soon not be worth the paper it was printed on. Was I afraid? Of course, I totally was! I thought I would need to start again! Learn a new platform!? That was scary!
Back to Kotlin, please
I think many developers feel similar about Kotlin.
But I truly believe none of us should fight Kotlin. In the end, it would lead to colleagues leaving. Over time those will be harder and harder to replace on a “legacy” Java codebase. In the long term, you might ruin the whole project as of this.
So what else can you do?
Change your field? Abandon Android and go to Backend? Java is the new Cobol! You will find a job in Java for decades! So there are ways to stay in your comfort zone. But if you, like me, love Mobile: let’s stay, together!
Isn’t Kotlin just another one of these changes why we actually love Android? Only this time it’s a new programming language.
The good news is: everything you know is still valid!
All those JVM details you know? Valid! The new developers won’t have these insights!
But it’s more than this. You’ve seen so many things. It does not matter what language those were written in! This is valuable knowledge for every new project! You are needed more than ever! Otherwise, the new team members will repeat mistakes we could have helped to avoid.
Pair up with them! Learn from them as they will from you.
You might still not learn a new language every other year and that is fine but Kotlin now is your chance to learn one! Let’s use it!
Back to the future
When I was thrown out of my comfort zone, it was, looking back, one of the best things that ever happened to me in my life! Android opened new possibilities for me, and I became part of a new community that I still think is the best I can wish for.
In 2016 I moved to Kotlin. I want to believe my previous experiences made me more open for this move.
Lately, I had to touch some Groovy code. I missed my Kotlin but it got me curious to look into even more things. I heard Clojure is a thing. I definitely left my comfort zone a long time ago.
Come and join me!