All Roadmaps
Roadmap

Java Roadmap

Java has run enterprise software and Android apps for nearly 30 years and is still the fourth most-used language in the world. This roadmap runs in four phases: the syntax and object-oriented model that Java is built on, then software quality and design, then the Java ecosystem and build tools, then building a real project you can show employers. It is for people targeting backend development, Android development, or enterprise engineering roles where Java is the default language. Expect 4 to 6 months at 10 hours a week from a standing start.

46 months
4 phases
~25 weeks

Phase 1: Java Fundamentals

beginner
2 weeks

Java 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.

beginner
2 weeks

OOP: 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.

beginner
2 weeks

Inheritance 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.

beginner
2 weeks

Collections 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

intermediate
2 weeks

Unit 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.

intermediate
2 weeks

Specifications 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.

intermediate
1 week

Exception 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

beginner
1 week

Maven 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.

beginner
1 week

Git and Version Control

Branching, commits, pull requests, and resolving conflicts. Not Java-specific, but essential context for working with Java in any professional setting.

intermediate
2 weeks

Concurrency 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

intermediate
2 weeks

Command-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.

intermediate
3 weeks

Spring 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.

intermediate
3 weeks

Portfolio 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.

Keep exploring

Languages in this roadmap

More Roadmaps