iwantcoding.com
🔥 Daily 👥 Rooms 🏆 Top Log in Sign up

Bootcamp

A two-week sprint to be production-ready in modern Java.

Bootcamp plan

EXAMPLE
# Java bootcamp - 10 working days

Day 1 - Tooling: JDK 21, Maven or Gradle, IntelliJ basics.
Day 2 - Language: records, sealed types, pattern matching, text blocks.
Day 3 - Collections + Streams: lazy evaluation, Collectors, parallel streams.
Day 4 - Concurrency: virtual threads, structured concurrency, CompletableFuture.
Day 5 - JDBC + JPA: connection pools, transactions, N+1.

Weekend project: a CLI that reads CSV, queries Postgres, writes JSON.

Day 6 - Spring Boot basics: starters, auto-configuration, dependency injection.
Day 7 - Spring Web: controllers, validation, exception handling, OpenAPI.
Day 8 - Spring Data JPA: repositories, criteria queries, projections.
Day 9 - Testing: JUnit 5, Mockito, Testcontainers for integration tests.
Day 10 - Observability + release: Micrometer, OpenTelemetry, GraalVM native image (optional).

Capstone: ship a small Spring Boot REST API on Fly or Render.

## Tips

- Use records and sealed types in domain modelling from day one
- Switch to virtual threads in Spring 6.1+; rip out custom executors
- Testcontainers is non-optional - in-memory H2 lies to you
- GraalVM native image is real now; revisit it for serverless and CLI tools

Why it matters

Modern Java is a different language than Java 8. Records, sealed types, virtual threads, and Testcontainers change how you build and test. The capstone is the moment you discover Spring Boot really does just work.

Tip: Tweak the snippet with Try it Yourself », then sit the quiz at the bottom of the page.

Example

Example
// 30-day Java bootcamp in the lesson body.
Try it Yourself »

Discussion

Loading…