22 practical days: code experiments, codelabs, samples, debugging labs, benchmarks and interview exercises—supported by precise references only when needed.
Every task has two distinct destinations: Learn / Study uses readable official guides or focused learning material—not the formal language specification as the primary lesson. Practical / Senior Lab applies the topic in real code. Study first when the topic is new or unclear; then clone/run/modify/debug/test the practical resource. The practical link is not considered complete by reading it only.
Keep a short engineering notebook: prediction → result → why → rule you can reuse.
Times are estimates. Finish the deliverable and invariants; don't stop merely because the clock says the day is over.
Correctness before cleverness.
Measure performance claims; don't assume “zero allocation”, “lock-free”, or “faster”.
Separate Kotlin language guarantees from JVM behavior and kotlinx.coroutines behavior.