✅ Kotlin is approachable. If you know Java, Kotlin will feel immediately readable. If you don't, Kotlin's concise syntax and helpful compiler messages make it a good first JVM language. The coroutines track (Advanced) is the steepest part — save it for after you're comfortable with the foundations.
Track 1
Foundations
Variables, null safety, classes, and collections
- Variables, types, and control flow
- Null safety: String vs String?, ?. and ?:
- Classes, data classes, and objects
- Collections: listOf, mapOf, filter, map
- Functions: lambdas, higher-order, extension
Track 2
Practitioner
Sealed classes, scope functions, generics, and OOP
- Sealed classes and exhaustive when
- Scope functions: let, run, apply, also, with
- Generics and variance (out, in)
- Interfaces, abstract classes, and delegation
- Object expressions and companion objects
Track 3
Advanced
Coroutines, Flow, DSLs, and Kotlin Multiplatform
- Coroutines: suspend, launch, async/await
- Structured concurrency and CoroutineScope
- Flow: cold streams, operators, StateFlow
- Type-safe DSL builders
- Kotlin Multiplatform basics