Saltar a contenido

Month 6 - Capstone (Weeks 21–24)

The first five months were instrumented practice. Month 6 is one substantial project, defended end-to-end. Pick one of the three tracks in CAPSTONE_PROJECTS.md. The schedule below is track-agnostic - the deliverables differ, the cadence doesn't.

Estimated effort: 60–80 hours over four weeks. Real engineering, not toy code.


Weeks


Month 6 Exit Criteria

You have: - One non-trivial system you built end-to-end, in modern Java, on the JVM you understand from runtime to deployment. - A repo, a runbook, a writeup, and a published artifact. - A defensible answer to "why Java for this?" - and an equally defensible answer to "where Java was the wrong choice."

You are now a master-level Java engineer. The curriculum is done. The career is not.


After Month 6

Pick one of:

  • Contribute upstream. OpenJDK (see APPENDIX_C_CONTRIBUTING_TO_OPENJDK.md), or a major framework (Spring, Quarkus, Micronaut), or an infrastructure project (Kafka, Cassandra, Elasticsearch, Trino - all heavyweight JVM codebases that train you on real-world performance work).
  • Specialize. Pick one of: JIT/Graal compiler, GC research (ZGC, Shenandoah, Generational ZGC), Loom continuations, Panama/FFI, Valhalla value classes, Vector API.
  • Cross-pollinate. Take what you know about the JVM into Kotlin (still a JVM language; Kotlin coroutines vs Loom is an instructive contrast), or learn a non-JVM language with deep contrast: Rust (no GC, ownership), Go (GO_LEARNIN_PLAN/ - you have a 24-week roadmap for that too), or a strict-FP language (OCaml, Haskell).

The deliverable of mastery is not "I know Java." It is "I can pick the right tool, and when it's Java, I know which knob to turn."

Comments