This isn’t another post about the benefits of using Kotlin. Hell, I’m not even going to cover any of its language features. Nor will I try to convince you to make the switch.
In contrast, this post will talk career. How learning a new language makes you a better developer and ensures you stay relevant. And in that regards, Kotlin now presents a golden opportunity.
Why you should learn a new programming language#
Predicting the future is nearly impossible. But 10 years ago (2007) there where no smartphone apps… And 10 years before that (1997) well… dot-com bubble anyone?
So how will the future look like in 10 years from now? Or 20 years?
Only sure thing is that you’ll still be working as retirement age continues to be raised.
Two things are likely to happen though:
- Software will become even more ubiquitous than today
- The platform you’re now developing for is no longer relevant
Differently put: your software skills will still be needed, but you’ll have to switch programming languages several times along the way.
Say what?
Learning a new programming language isn’t easy! And I will have to do that multiple times? Even when I’m 40 or 50?
Yes, absolutely!
But here’s the thing: while there are hundreds of programming languages, programming concepts are finite.
And with every language you learn, you pick up a couple extra of those concepts.
So while learning your first programming language is really time consuming. Your second will already go slightly smoother and after your third you’ll realize: “Hey Kotlin coroutines are like C# async/await, but then slightly different”.
Learning a new language becomes easier with every language you learn. And every time you learn a new language, your horizon broadens and you pick up tons of new widely applicable software concepts.
Challenges in learning a new language#
While the previous statement may be true, you hardly ever learn a programming language alone.
For instance while learning Android you need to learn the core platform concepts (e.g. activity lifecycle), environment (e.g battery constraints), Android APIs, …
And that’s just to get you started. If you really want to get productive you’ll also have to figure out what 3rd party libraries to use, how to get the most out of the IDE and especially how to write tests effectively.
So imagine you want to learn how to build a web app:
- What technology do you use? Ruby on rails, Javascript,…?
- What Javascript framework should you use?
- How does a DOM work?
- Do I use a text editor or are there any good IDE’s?
- How/where do I deploy my web app?
- How can I find the answers to my problems?
- …
That’s a lot to take in, right?
Learning all of this at once can easily become a very frustrating experience. You’ll manage, I’m sure, but it will take you quite some time before you’ll become productive.
Why your next language should be Kotlin#
Here’s where Kotlin enters the game. Suddenly every Android developer has gotten the opportunity to learn a new, modern language inside of his/her already familiar cocoon.
You’re already used to every Android problem you may encounter. You know the ins and outs of Android studio. And I’ll be damned if you’re not a StackOverflow wizard by now!
So grab the opportunity to learn a new language without it being too frustrating. Learn those extra programming concepts that will remain relevant throughout your entire career. Have your horizon broadened by new concepts and ways of thinking.
I’m not saying you must learn Kotlin. But learning a new programming language is inevitable if you’re aspiring a technical career. And Kotlin presents a damn fine opportunity to keep your sanity while you’re at it.
Wrap-up#
Learning a new programming language is essential in staying relevant as a software developer. Thanks to Kotlin, Android developers can now learn a new language without the frustration of all boilerplate around it.
If you’ve made it this far you should probably follow me on Mastodon. Feel free leave a comment below!