My learning process

I started from the very beginning of never having even seen Kotlin syntax. So, to start, like with almost everything, I typed “Kotlin” into YouTube search engine.

Step 1- Kotlin Tutorial by Derek Banas

The video that caught my eye was the Kotlin Tutorial by Derek Banas:

This is a great starting point for anyone to get going with Kotlin

In fact, I ended up watching the video twice end to end to get overall understanding of what Kotlin was about. This phase of learning was all about understanding the context. When learning anything detached facts are difficult to remember but information in right context is easy to understand. I needed to prime my personal context engine so I can start learning on full.

It’s worth noting that I did try the Koans at this point but that wasn’t the way to go for me. I didn’t like that approach.

Step 2- Kotlin for Android Developers by Antonio Leiva

This book got me up to speed

Now I was ready to start learning and understanding how Kotlin will work in my day job as an Android dev.

I bought Antonio Leiva’s book “Kotlin for Android Developers”.

This book is great. It assumes that you know Android development already but that’s it. It helps you to understand the basics in your own, and familiar, context.

While I’m not huge fan of the database examples in the book (I don’t work much in that part of Android so the examples didn’t fit my experience) the rest is exactly what you need to get going.

While reading I did play around in Android Studio a little bit writing some simple classes and Activities and familiarised myself with the AS Kotlin integration.

Step 3- Kotlin language reference

Kotlin language reference is exceptionally well written. It’s without fluff and it has everything. I downloaded it as a PDF from JetBrain’s website, uploaded to my Google Books and took a comfortable position on our office couch with my Chromebook and read it.

Now that I understood the context of the language (and had dabbled with some of it in AS) the reference documentation made a lot of sense. Every new concept I read about felt connected to something I had already learned.

The first readthrough I didn’t even try to memorise any of it. I just consumed it hungrily to understand the size of the language.

In the end I ended up reading the reference through 3 times. On every readthrough more of it stuck.

Of course, at this point I was also working on a hobby project already writing it in Kotlin from ground up.

Step 4- Hobby project

Android Studio’s Kotlin integration is amazing. JetBrain has been working on this for years already in their IntelliJ IDE which AS is based on.

I love the fact that I can copy an example in Java from web (SO) and paste it to my Kotlin project and the IDE will perform a conversion for me.

The best part is the Android Studio’s quick helps when it detects that your code could be written better. Once I had the Kotlin basics down I simply kept on working on my hobby project and whenever AS noticed that I did something suboptimally I learned something new!

An example of me using initialiser ineffectively