Stage 0 — Prerequisites (1 week)
- A laptop with JDK 21+ installed.
- IntelliJ IDEA Community (best Java IDE) or VS Code with Java extensions.
- Basic command line + Git.
Stage 1 — Java Core (3-4 weeks)
- Syntax, primitives, reference types.
- Control flow, loops.
- Methods, varargs, method overloading.
- Classes, objects, packages.
- Strings +
StringBuilder. - Arrays.
- Exception handling — checked vs unchecked.
- File I/O (
Files,Paths).
Project: CLI todo app stored as JSON via Jackson.
Stage 2 — OOP and Modern Java (3 weeks)
- Inheritance, polymorphism, interfaces, abstract classes.
- Visibility modifiers, final, static.
- Generics (
List<T>). - Lambdas + functional interfaces.
- Streams API.
Optional.- Records, sealed classes (Java 17+).
- Switch expressions, pattern matching.
Stage 3 — Collections + Concurrency (2 weeks)
List,Set,Map,Queue.ArrayListvsLinkedList,HashMapvsTreeMap.Iterator,Iterable.ConcurrentHashMap,BlockingQueue.Thread,ExecutorService.CompletableFuture.- Virtual threads (Java 21).
Stage 4 — Tooling (1 week)
- Maven or Gradle build tools.
- JUnit 5 + AssertJ + Mockito.
- Git workflow.
- IntelliJ shortcuts that 10× your productivity.
Stage 5 — Database + JDBC (2 weeks)
- JDBC fundamentals.
- Prepared statements.
- Connection pooling (HikariCP).
- SQL refresher in parallel.
Stage 6 — Spring Boot (6-8 weeks)
@SpringBootApplication, auto-configuration.- Dependency injection —
@Component,@Service,@Repository. - REST controllers —
@RestController,@GetMapping,@PostMapping. - Validation —
@Valid, Bean Validation API. - Spring Data JPA + Hibernate.
- Spring Security for auth (JWT or session).
- Profiles, properties,
application.yml. - Actuator endpoints.
- Spring Boot Testing —
@SpringBootTest,MockMvc.
Project: Full REST API with auth, validation, persistence, tests.
Stage 7 — Production Skills (2 weeks)
- Logging — SLF4J + Logback.
- Metrics — Micrometer + Prometheus + Grafana.
- Tracing — OpenTelemetry.
- Caching — Spring Cache + Redis.
- Async + scheduled jobs —
@Async,@Scheduled. - Containerisation — Docker + multi-stage builds.
Stage 8 — Microservices (4 weeks)
- Service discovery — Spring Cloud / Eureka / Consul.
- API gateway — Spring Cloud Gateway.
- Messaging — Kafka, RabbitMQ.
- Circuit breaker — Resilience4j.
- Distributed tracing.
- Service mesh basics (Istio).
Stage 9 — Performance + JVM (2 weeks)
- JVM internals — heap, metaspace, GC.
- Garbage collectors — G1, ZGC.
- JFR + VisualVM + async-profiler.
- JMH for micro-benchmarks.
Stage 10 — Specialise (ongoing)
- Android (Kotlin recommended but Java works).
- Big data — Spark, Flink, Kafka Streams.
- Backend systems — high-throughput services.
- Quant / finance — JVM dominates this industry.
Capstone Projects
- E-commerce service with payments + inventory + orders microservices.
- Real-time dashboard streaming Kafka events to WebSockets.
- Open-source contribution to Spring or Hibernate.
Time investment
Full-time: 5-7 months to job-ready.
Part-time (10 hr/week): 12-15 months.
