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¶
- Week 21 - Design and Foundation
- Week 22 - Core Implementation
- Week 23 - Failure, Observability, and Operations
- Week 24 - Defense
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."