Advanced Kotlin
Become an expert Kotlin developer with our advanced course. Master Kotlin through clear lessons, practical exercises, and a smooth learning curve. Ideal for those already comfortable with Kotlin essentials, this course will elevate your coding skills to the next level.
- Duration
- 7.5h of 4K content
- Lessons
- 19 lessons
By Daniel Ciocîrlan
Money-back guarantee · Unlimited access · Free updates
Course Roadmap
Skills You'll Learn
- Understand the most complex Kotlin features
- Contribute to complex codebases written in Kotlin
- Write libraries and tools for other developers
- Use the Kotlin type system for generic, reusable code
- Write frameworks that generate or analyze source code
- Use delegation and delegated properties effectively
- Simplify complex types with Kotlin’s advanced type system
- Apply advanced generics with variance and variance positions
- Write contracts and enable compiler type checks
- Optimize performance with inline functions
- Avoid JVM type erasure with reified types
- Use reflection for runtime code manipulation
- Create code generators and analyzers
- Write symbol processors
Goal
Become a Kotlin pro.
If you’re on this page, Kotlin will need no introduction. You know the basics, and you’ve written your fair share of Kotlin in production for your projects, either personal or at work.
Perhaps your codebase has become larger than you can manage, or you would like to become a senior developer, or need to write libraries and tools for other team members.
For this, you need deep knowledge of Kotlin’s type system and internals, so that you can create the best tools.
This course is for you.
Is There More to Kotlin?
Oh yeah.
You already know that Kotlin is such a game changer. It’s very pragmatic, very flexible, has a powerful compiler, and allows you to write concise code that’s easy for other people to understand.
But there’s far more to it.
Beyond essentials OOP or functional principles, Kotlin has features that few developers have mastered. Kotlin’s type system is among the best on the JVM, and the tools to manipulate types and code at runtime are top notch.
With these tools, you can write libraries, tools for other developers, frameworks for large codebases, and much more.
This is what you’ll learn in this advanced Kotlin course.
How This Course Works
Who is this course is for?
This course is best for Kotlin developers who need to deeply understand the internals of Kotlin and use its type system to write complex applications, libraries, tools, code generators or analyzers.
If you’re a Kotlin developer looking to become senior, this course is for you.
If this is your first time with Kotlin, the Kotlin Essentials course is your best starting point.
And rest assured - if you buy this course and find that it’s not for you, you’ll get your money back anytime 💰.
This course is 100% hands-on - this picture shows the code we write in this course.
Platform Agnostic
Many people learn Kotlin to build Android apps. Like the Kotlin Essentials course, this advanced course does not focus on Android, but on Kotlin itself.
The skills you get in this course will allow you to build complex systems, libraries and tools for other developers. Notice that this applies to Android, the JVM, native code, KotlinJS, or anything else - this course transcends any platform!
If you are specifically looking for an Android course, this course is still useful because after you finish this course, you can study the Android specifics without thinking too much about Kotlin - because by this time it will be second nature to you.
Regardless of what your goal is, this Kotlin course will help you no matter where you deploy your code.
100% Practical
As always, code is king, and we write it from scratch.
We don’t waste time on endless theory, and I only use a few slides every lesson as “flashcards” you can come back to. You’ll also get the slides in PDF for easy recall.
Besides the dozens of examples that demonstrate the most complex Kotlin features, we spend a lot of time in real-life exercises, where we try to write (at small scale) the same kind of tools you’d be in charge of at work.
The picture you see here is a mini-library we write in the course for HTML rendering with a nice DSL.
In the process, you’ll get hands-on experience not only with the hard Kotlin features, but you’ll get a sense of what it’s like to write complex code for other people.
What Our Students Say
-
My team is expanding the use of Akka in our products so I needed a quick introduction on this topic. I have tried a couple of courses but the introduction to Akka was always too abrupt, too hard to comprehend. I blamed Akka for this as being too hard to explain. This was until I was exposed to the Rock The JVM courses which were an absolute delight when it comes to presenting such complex topics in such an easy to understand way. And Daniel has not stopped at Akka but has added to his portfolio amazing courses on Scala and Spark too. It seems like he is quite enjoying taking such challenges like complex technologies and making them so simple for everyone. I have instantly recommended Daniel’s work to my team, which helped them immensely with taking their skills to a new level, and I do recommend these courses to anyone who wants to have the fastest ramp-up in these tough but popular technologies.
Mihai FecioruAdobe · California
-
From Scala, to Akka, to Spark, Daniel delivers exceptional material in each and every one of these technologies. I’ve been using them for a long time and there is always something new I will discover from him. The level of detail he gets into as well as the way he delivers material is mindblowing. I personally find his latest course Spark Optimization pure gold and one of a kind. I’ve been using Spark for a year now and I haven’t even thought how much you can leverage query plans to make such optimizations. I can’t stop thinking every time, how he manages to go so deep - because using a technology is one thing, but knowing its internals so well and how everything works behind the scenes is another story when it comes to distributed systems. Long story short Daniel is definitely the best instructor I’ve come across and each one of his courses is the best resource you can find online. Kudos for all your work and knowledge sharing.
Giannis PolyzosVerverica · Greece
-
Daniel’s courses on Scala and Big Data are the best in class. I’ve been in touch with Daniel’s teaching and courses since early 2018. The first course that I took from him was Scala & Functional Programming; I was skeptical about it because over the internet there are many courses you can find, but few really worthy. I remember the very first day when Daniel started to speak and shared his examples - I started to love Scala, and then more as we went on. I am with Scala for the last 5 years now, but never ever has anyone explained to me or gave me comparable resources to Rock the JVM. Daniel gave me a shift in life and helped me crack top tech company interviews. His courses on big data are a must for any aspiring big data developer or data enthusiast. I highly recommend Daniel as an educator both online and on campus.
Anirban GoswamiApple · California
What's Included
Meet Rock the JVM
Daniel Ciocîrlan
Founder, Rock the JVM
I'm a software engineer and the founder of Rock the JVM.
I started Rock the JVM out of love for Scala and the technologies it powers. They are amazing tools, and I want to share as much of my experience with them as I can.
I've taught Java, Scala, Kotlin and related technologies such as Cats, ZIO and Spark to 100,000+ students at various levels. I've held live training sessions for companies including Adobe and Apple, taught university students who now work at Google and Facebook, run Hour of Code for 7-year-olds, and taught more than 50,000+ kids to code.
I have a Master's Degree in Computer Science and I wrote my Bachelor and Master thesis on Quantum Computation. Before learning programming, I won medals at international Physics competitions.
With Special Thanks To
Riccardo Cardin, one of the best Rock the JVM alumni, now a senior software engineer and an important contributor on the Rock the JVM blog, focusing on high-performance systems in Scala, Kotlin and Java. Big thanks, Riccardo, for reviewing the code I prepared for this course.
kjpargeter on Freepik for the free background I used for photoshopping the banner of the course.
Enroll now!
All-Access Membership
Full (and growing) catalog
$195 billed yearly —Save 54%
Unlimited access to every Rock the JVM course
- 348 hours of 4K content
- All Scala courses
- All Kotlin courses
- All Typelevel courses
- All ZIO courses
- All Apache Spark courses
- All Apache Flink courses
- All Akka/Pekko courses
- Access to the private Rock the JVM community
- New courses included automatically
The Kotlin Bundle
4 courses, one price
$160All courses in this bundle with a one-time payment
- 4 courses included
- 31 hours of 4K content
- All PDF slides
- Free updates
- Lifetime access
- Access to the private Rock the JVM community
Advanced Kotlin
Lifetime license
$75Just this course with a one-time payment
- 7.5 hours of 4K content
- All PDF slides
- Free updates
- Lifetime access
- Access to the private Rock the JVM community
100% Money Back Guarantee
If you're not happy with this course, I want you to have your money back. Contact me with a copy of your welcome email and I will refund you.
Less than 0.05% of students have ever asked for a refund — and every payment was returned in under 72 hours.