Shifting from Java to Kotlin by Łukasz Pluskota

As with most programming languages, they will advance over time and will replace the ones that are considered dated. When I started my job at Davis Nolan, I noticed that many of the companies have changed their approach when it comes to developing new Android applications, drastically. Less code for example, means more time will be saved and therefore more money. No wonder they change their expectations over time!

However, it’s not just the companies change their requirements. Most developers are searching for new ways too to increase the effectiveness regarding the way they code by finding new ways where they can code more and read less. Sounds like a dream?

It’s closer than you might think, which is exactly what this article will tell you from an Android development perspective. The way apps are will be developed will undergo a drastic change over the next period. The “old-fashioned” Java will slowly be replaced by a competitive programming language which is easier, requires less code, and eliminates the frustration of many Android developers (and Java developers in general for that matter) – the infamous nullpointerexception. There’s a new sheriff in town and its name is Kotlin.

Should you worry? Will your Java skills become obsolete? Is there even a point in focusing on Java at all? I figured these questions might come to mind after hearing the news, which I why I broke these questions down in to pieces so you know exactly what it is you should do.

Enjoy!


Ever since the Google I/O keynote, developers have been wondering whether they should stick to Java or start focusing on Kotlin, which is now an official programming language for the development of Android applications. To answer this question, there are a few things you should take into consideration as it depends on your situation as an (aspiring) Android Developer what you should do. Are you a novice, intermediate, or an advanced Android developer? This all plays a role in answering the most trending question that has been going through the mind of Android developers which will be broken down further in this article.

Android Development for Beginners

You just started to learn Java, and perhaps you even made an attempt to build your first app. When suddenly, Java is under fire by Kotlin as the newly acknowledged programming language for app development. Should you stick to Java or start using Kotlin?

The truth is that as opposed to Java, the resources for learning Kotlin are scarce. For example, if you’re aiming to learn how Google voice API works, the tutorials for Java are plentiful, whereas with Kotlin this is unfortunately not the case. Furthermore, what is one of the first websites that come to mind when you need to solve a particular problem? That’s right, Stackoverflow. The issue, however, is that few questions related to developing apps using Kotlin are asked now, hence not many answers are available either that could give an answer to your Kotlin-related issues.

Take all the above into consideration and you might feel already that if you started to learn Java, you might as well stick with it for a while. Java for developing apps is not going anywhere and as the adage goes; practice makes perfect. If you keep sharpening your Java knowledge, you will eventually become more confident using Kotlin at a later stage.

Confident intermediate Android developers on the other hand…

Finished” learning Java and I’m sure you are confident enough to take on another challenge. This is the point where you should try to code in Kotlin and start enjoying the benefit of creating less code that is both precise and cleaner (among many other advantages). This is what makes Kotlin an easy and enjoyable language to use in developing your apps.

Perhaps you’re not even planning to use it in your most recent project, but you should consider trying it out in any upcoming projects that you have in mind so you can test your knowledge. Having said this, I do recommend you stay connected with the communities that discuss the use of Kotlin for the development of apps. Informing others, and getting informed about the language is crucial when you want to reiterate the way you utilise the code for your own projects.

Teach others your ways, Sensei

Java vs. Kotlin shouldn’t even be a question to you considering you are already an advanced developer. Seriously, you are in a stage where both Java and Kotlin are BOTH at your disposal and you would have the knowledge to utilize the latter in a way it turns into beautifully orchestrated code, albeit with a lot of practice still. Perhaps not immediately, but eventually you have all the preliminary know-how to prove that Java for developing Android apps is becoming old school. Nonetheless, advanced, or not, jumping from one programming language to another can be a bit daunting and I believe this counts for every developer.

Will the advent of Kotlin impact my career opportunities?

No, it will not. Plain and simple. Or at least not anytime soon. We already established that there is not much available regarding learning resources, and it is an unreasonable expectation from companies to expect a developer to build high quality apps by being fluent in Kotlin. Not at this stage. But companies do applaud the idea of developers practicing this disruptive programming language. Similarly to Swift, you can bet on it that Kotlin will become increasingly important over time as well. And there are some logical reasons behind this, the most prominent one being that Kotlin has a more concise syntax than Java, which means less typing which sounds great because who else sometimes feels that you spend 6x more time on reading code than writing code?

In other words, being fluent in Kotlin will give you an incredible competitive edge in the future as companies (will) perceive this as a huge asset since more time (thus, money) can be saved. Another major advantage that both saves a lot of time and a lot of frustration among developers is Kotlin’s aim at eliminating the danger of null references from code, also known as the infamous “Billion Dollar Mistake”.

Key takeaways from the Java vs. Kotlin dilemma

Regardless whether you are a rookie or a seasoned developer, if Java is the language to develop Android applications, don’t stop! Java is still the most popular language for developing apps and the community behind it will not cease to exist any time soon. In my experience, the main requirement when it comes to finding a job as an Android developer is being proficient in Java.

Kotlin, however, is a language that is going to play an incredibly important role in the development of Android applications and when it comes to finding a job as a developer. The amount of resources that are required for coding in Kotlin are significantly less as opposed to Java. This means that by having Java as your weapon and Kotlin as your shield, you will have a competitive edge for getting a fulfilling and rewarding job.

I’m very much looking forward to how Kotlin will evolve over time and how it will disrupt the way applications are developed. The companies I talk to don’t require developers to be fluent in Kotlin yet but be wary of the advantages it gives you over others applying for Android developer roles. If you wish to discuss this in more detail, drop me a message on LinkedIn, I’d be happy to talk about it. Thanks for reading!

Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

0 Comments
Inline Feedbacks
View all comments

© HAKIN9 MEDIA SP. Z O.O. SP. K. 2013