Advanced Kotlin

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.

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.

Skills You'll Learn

After this course, you’ll be able to:

  • understand the most complex Kotlin features
  • contribute to complex codebases
  • write libraries and tools for other developers
  • use the Kotlin type system for generic, easily reusable code
  • write frameworks that generate or analyze other source code

Skills you’ll get:

  • Kotlin type system mastery
    • OOP and FP (obviously)
    • Delegation and delegated properties
    • Using delegated properties in the standard library for specific contexts
    • Simplifying your types
    • Using advanced generics with variance
    • Understanding the compiler type-checker and variance positions
  • Kotlin internals proficiency
    • Contracts and compiler type checks
    • Inline functions and performance optimization
    • Avoiding JVM type erasure
    • Using reified types
    • Using reflection for manipulating and using code dynamically at runtime
    • Creating code generators and analyzers
    • Writing symbol processors

and much more, all with live runnable examples and practiced with exercises.

Plus some extra perks:

  • You’ll have access to the entire code I write on camera (1800+ LOC)
  • You’ll be invited to our private Slack room where I’ll share latest updates, discounts, talks, conferences, and recruitment opportunities
  • You’ll have access to the takeaway slides

Meet Rock the JVM

Daniel Ciocîrlan

I'm a software engineer and the founder of Rock the JVM.

I'm a software engineer and the founder of Rock the JVM. I started the Rock the JVM project out of love for Scala and the technologies it powers - they are all amazing tools and I want to share as much of my experience with them as I can.

As of February 2024, I've taught Java, Scala, Kotlin and related tech (e.g. Cats, ZIO, Spark) to 100000+ students at various levels and I've held live training sessions for some of the best companies in the industry, including Adobe and Apple. I've also taught university students who now work at Google and Facebook (among others), I've held Hour of Code for 7-year-olds and I've taught more than 35000 kids to code.

I have a Master's Degree in Computer Science and I wrote my Bachelor and Master theses on Quantum Computation. Before starting to learn 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.

What's Included

Loading...

Take this course now!

Advanced Kotlin - Lifetime License

Loading...

Just the course with a one-time payment

  • 7.5 hours of 4K content
  • 1800 lines of code written
  • All PDF slides
  • Access to the private Rock the JVM community
  • Free updates
  • Lifetime access
Get Now

All-Access Membership

Loading...
/monthly

All of the Rock the JVM courses

  • 320 hours of 4K content
  • 60660 lines of code written
  • All Scala courses
  • All Kotlin courses
  • All ZIO courses
  • All Typelevel courses
  • All Apache Flink courses
  • All Apache Spark courses
  • All Akka/Pekko courses
Join Now
The Kotlin Bundle

The Kotlin Bundle

Become a Kotlin expert from scratch with our all-inclusive course bundle: master everything you need in one complete package, at a discount

100% Money Back Guarantee

If you're not happy with this course, I want you to have your money back. If that happens, contact me with a copy of your welcome email and I will refund you the course.

Less than 0.05% of students refunded a course on the entire site, and every payment was returned in less than 72 hours.

FAQ