Java Roadmap
Phase 1:Java Fundamentals
beginner2 weeksJava Syntax
Variables, types, operators, control flow, and methods. Familiar ground if you've programmed before, and the entry point if you haven't. Java's verbosity here is intentional: every type and scope is explicit.
beginner2 weeksOOP: Classes and Objects
Classes, objects, constructors, and instance methods. This is where Java earns its reputation: object-oriented thinking takes a few weeks to internalize but shows up in every Java program you'll ever read.
beginner2 weeksInheritance and Interfaces
Extend classes, override methods, and use interfaces to write code that works across multiple types. These are the tools that let large Java codebases stay maintainable.
beginner2 weeksCollections and Generics
Lists, Maps, Sets, and the generics syntax that makes them type-safe. Collections are in every Java program; understanding them well separates beginner code from professional code.
Phase 2:Software Quality
intermediate2 weeksUnit Testing with JUnit
Write tests before or alongside code. JUnit is the standard Java testing framework, and test-driven development is not optional at any serious company. Covering this early means your project work in Phase 4 will already have tests.
intermediate2 weeksSpecifications and Abstraction
How to separate what a method promises from how it does it. MIT's software construction course makes this concrete: a well-specified method can be tested in isolation and changed without breaking callers.
intermediate1 weekException Handling
Checked and unchecked exceptions, try-catch-finally, and when to throw versus catch. Java's exception model is explicit by design, and understanding it well prevents the antipatterns that make Java code painful to debug.
Phase 3:Ecosystem and Tooling
beginner1 weekMaven or Gradle
Dependency management and build automation. Every Java project uses one of these. Maven is simpler to start with; Gradle is what most new projects use. Pick one and learn to add dependencies, run builds, and run tests from the command line.
beginner1 weekGit and Version Control
Branching, commits, pull requests, and resolving conflicts. Not Java-specific, but essential context for working with Java in any professional setting.
intermediate2 weeksConcurrency Basics
Threads, synchronization, and why shared mutable state is dangerous. Java has first-class concurrency support and a long history of concurrency bugs, so knowing the basics helps you read real code without being surprised.
Phase 4:Build Something Real
intermediate2 weeksCommand-Line Application
Build a self-contained CLI program that reads input, processes data, and writes output. Simpler than a web app, and fast to finish: a working CLI is a concrete demonstration that your Java code runs.
intermediate3 weeksSpring Boot REST API
Spring Boot is the default Java web framework at most companies. Build a simple REST API with a few endpoints. The official spring.io guides are free and walk through the first app step by step.
intermediate3 weeksPortfolio Project
One finished project pushed to GitHub with a README that explains what it does and how to run it. This is the thing a hiring manager can look at. A working API or a well-tested CLI with clear documentation beats an unfinished ambitious project.
Next steps
Keep exploring
Other goals