Codementor Events

How to learn Kotlin?

Published Dec 20, 2019
How to learn Kotlin?

This is an edited version of an interview I have done that explain the best ways to learn Kotlin depending on your background : are you a beginner or do you have serious Java skills? Do you like books or do you like learning by doing? Do you want a no-install browser experience or do you want to experience a powerful IDE? I hope it empowers you to get started with Kotlin!

I am a Kotlin enthusiast because it's in the Venn diagram of well-designed languages that are also a good choice in practice because of its pragmatism and its tooling.

Kotlin is mostly known right now for backend programming and Android. But early adopters are building interesting things in lots of other areas as well, like improving Gradle with Kotlin, Data Science, sharing code between iOS and Android, using Kotlin on the frontend most notably JetBrains Space, command-line tools with Kotlin/Native, ...

But first things first.

If you are interested in any of this, the first question is:

What is the most efficient way for you to learn Kotlin?

That's the right question because Time is you most valuable resource. You really want to find the best learning material available and leverage your existing skills*.

I made an interview with Sebastian Aigner, a Kotlin Developer Advocate at JetBrains. He told me about JetBrains Educational Products, whose mission is to make the lives of everyone who wants to learn or teach programming easier.

If I'm new to programming...

Let's imagine I am pretty new for programming and want to learn Kotlin first.
How could I get started?

We believe that Kotlin is a great language to get started out with. The go-to resource for learning programming from scratch using Kotlin is the book Atomic Kotlin from Bruce Eckel and Svetlana Isakova. It does not assume any kind of previous knowledge about programming. You can find out more about the book at https://www.atomickotlin.com/

Especially if you’re struggling with motivating yourself to get started, we have a second approach currently brewing.

Hyperskill by JetBrains Academy is our effort for teaching folks how to program in a project-based environment. This means that instead of listening to lectures without knowing why you’re learning a topic, you’ll always know the reason for a lesson.

We do this by tailoring your curriculum around a catalog of projects from which you can pick.

We announced the Kotlin track on Hyperskill on KotlinConf 2019. You can get started for free while the project is in EAP at https://hyperskill.org/.

If I'm a Java developer...

Now let's imagine I have Java experiences and want to learn the Kotlin specific stuff. Where should I go?

If you’re into books, a good start is probably Kotlin in Action by my colleagues Svetlana Isakova and Dmitry Jemerov.

It focuses on people who are already familiar with developing in Java and want to get started with Kotlin. You can find out more about the book at https://www.manning.com/books/kotlin-in-action.

Jemerov-Kotlin-HI

If you would like to get hands-on directly, I can always recommend the Kotlin Koans that are available on the Kotlin Website.

They are essentially a list of small exercises that each target some special idiom or Kotlin syntax.

You can work on them from the browser directly on the website, or choose to do them from your IDE.

You can find out more about Kotlin Koans at https://play.kotlinlang.org/koans/.

And then there’s also our course called Kotlin for Java Developers which you can audit for free on Coursera. It features Andrey Breslav, the Kotlin team lead, as well as Svetlana Isakova (for a third time!), so you know that as a Kotlin beginner, you’ll be in great hands. You can find out more about it at https://www.coursera.org/learn/kotlin-for-java-developers.

If I want to learn from inside the IDE...

Now let's imagine I am savvy enough to have my computer setup with JetBrains IntelliJ or Android Studio and I would like to go one step further and learn Kotlin by using it from the IDE as professional devs do. How could I do this?

Easy! The folks from the Education team have neatly bundled up all the functionality for learning into the EduTools plugin.

It’s available for all of our most popular development environments. Once you’ve installed it, you can simply select from a set of courses, and begin to learn.

By default, it for example ships with the Kotlin Koans I’ve mentioned before. But it also allows you to log in to online learning platforms like Coursera or Hyperskill, and work on assignments from the courses you have enrolled in.

You can learn more and get started with the EduTools plugin at https://plugins.jetbrains.com/plugin/10081-edutools.

If you are interested in Kotlin, you should definitely get started NOW!

Ok that was it for the interview

I hope that it was empowering and gave you the right ideas on how to get started building great things.

If you are interested in Kotlin, you should definitely get started NOW!

Kotlin may well be as great for your career as it has been for mine.

For the procrastinators around there, NOW means the contrary of "someday". There are seven days in a week and someday is not one of them. If you start learning Kotlin someday, you won't..

Remember though that it's possible to learn alone, but it's much faster to learn with a code mentor. If you start to feel stuck, schedule a session with me.

Discover and read more posts from Jean-Michel Fayard
get started
post comments1Reply
delacruz webster
7 months ago

@four colors
Thank you for providing useful knowledge to help readers start learning Kotlin by providing guidance tailored to each individual’s situation, interests, and learning style.