And Now for Something Completely Different – Kotlin Developer track

Finishing it took some time, but was definitely worth it :)

I will take the opportunity to write a short review of the whole learning path. I think that most important question raised by newcomers is – was it worth the time and effort? Well, based on the fact that this learning path is related to the IT world, the answer is – it depends. If you plan to learn Kotlin, I think it’s really worth it. If you plan to make a short sneak peek into Kotlin’s features, I think there are better places to look at.

The track itself (Kotlin Developer) is quite well prepared. It covers Kotlin’s basics, basic algorithms and data structures, basics of math, an introduction to Gradle, and some Android related topics. However, the best part of it is not the content but its formula. You are not watching some “talking heads” describing IT concepts but, instead, you learn using an old school way of teaching. This is a text based course that requires time and effort to learn and master the content. Each section ends with quiz (multiple choice answers questionnaire). At the same time, in parallel, you have to work on projects that are divided into sections (typically you have 5/6 sections per task). Once you complete everything and pass all the quizzes, you can proceed further. I think that topics covered during lessons are quite well explained. Knowledge is practically served on the plate. There was just one place when I had to resort to Sidgewick (Dijkstra’s algorithm). I think that Sidgewick provided better explanation of it. If you want to take a quick look on the path overview, take a look at the picture below.

Click the image to enlarge

There are, of course, some drawbacks as well. This is not an ideal tutorial without any scars. The biggest issue is that each following stage of the project, sometimes, introduce fundamental changes to requirements. It means that whole project must be either rewritten or you have to patch it here and there to get it working as expected.

Another issue is related to the way problems are defined. I know that tasks should cover the content you have learned, but sometimes results look little bit awkward as you have to use certain approach even though it could be done differently.

The last issue I have found is the way some topics are explained. I think that there is still too much pressure from old coding style (structural). This results in having solutions that are build as a one long file, and the code itself seems more like structural one instead of OO or functional.

Anyways, if you plan to learn Kotlin, you should definitely take a look at this one. As for me, even though I have finished all the topics, I still have to google how to write for loop (there are so many ways of doing it).

How much time will it take? Well, JetBrains claims it should take around 63 hours to complete 14 projects, 166 topics and quizzes. In my humble opinion it will take three times more. I have spent on this one 8 months (doing it in my free time), and I am pretty sure I have spent like 160 hours in total. So, if you think you can simply get cracking and finish it in no time, well, think twice before starting it.

Even though there are small drawbacks, it takes lots of time and effort to finish it, I am still pretty sure it’s worth time and effort. And remember, it’s still free as long as it is in beta stage. Later on it will cost you 50 USD per month.