Career OS

Curriculum & Resources

What to learn, and where

The from-scratch Java Backend map, ruthlessly prioritised. Each topic points to the single best 2026 resource. Tick what you've learned.

0 / 115 topics learned
P0 essential P1 important P2 later P3 skip

☕ Core Java P0

From zero syntax to streams & concurrency. The language everything else is built on.

Setup: JDK 21, IntelliJ, run a program P0 L2 deep dive →
Variables, types, operators, I/O, control flow P0 L2
Methods, parameters, return values P0 L2
OOP: classes, objects, constructors, encapsulation P0 L4 deep dive →
Inheritance, polymorphism, abstraction, interfaces P0 L4 deep dive →
Strings, StringBuilder, arrays P0 L2
Collections: List, Set, Map, Queue, Deque P0 L4 deep dive →
equals/hashCode, Comparable, Comparator P0 L4 deep dive →
Exceptions (checked/unchecked, try-with-resources) P0 L4 deep dive →
Generics (bounded wildcards) P0 L4 deep dive →
Enums, static/final, access modifiers, records P0 L2
Lambdas, functional interfaces, Streams, Optional P0 L4 deep dive →
Concurrency: threads, Executors, synchronized, virtual threads P1 L4 deep dive →
JVM / memory / GC basics (heap vs stack, OOM vs SO) P1 L4 deep dive →

🧩 DSA (Java) P0

Patterns → understanding → repetition → timed practice. ~146 problems, not 450. Skip the Hard tier.

Big-O: time & space complexity P0 L4 deep dive →
Arrays & Hashing P0 L4 deep dive →
Two Pointers P0 L4 deep dive →
Sliding Window P0 L4 deep dive →
Prefix Sums P1 L2
Stack & Queue P0 L4 deep dive →
Binary Search P0 L4 deep dive →
Sorting P1 L2
Linked Lists P0 L4 deep dive →
Trees & BST (BFS/DFS) P0 L4 deep dive →
Heap / Priority Queue P1 L4 deep dive →
Graphs (BFS/DFS, topo, union-find) P1 L3
Dynamic Programming (1-D basics) P1 L3 deep dive →

🗄️ SQL & DBMS P0

Fluent SQL + interview-level DBMS. Window functions are the differentiator at this band. Not DBA level.

DB, table, row, column, primary/foreign key P0 L4 deep dive →
SELECT, WHERE, ORDER BY, GROUP BY, HAVING, DISTINCT, LIMIT P0 L4 deep dive →
INSERT, UPDATE, DELETE P0 L2
Joins: INNER, LEFT, RIGHT, SELF (heavily tested) P0 L4 deep dive →
Subqueries, CTEs, CASE, EXISTS, UNION P0 L4
Window functions (ROW_NUMBER, RANK, LAG/LEAD) P0 L4 deep dive →
Indexes, composite indexes, EXPLAIN basics P0 L4 deep dive →
Transactions, ACID, isolation levels, locks, deadlocks P0 L4 deep dive →
Normalization (1NF/2NF/3NF), when to denormalize P1 L4 deep dive →
SQL vs NoSQL — when to use each P1 L4 deep dive →
Replication / partitioning / sharding (concept only) P2 L1 deep dive →

🌐 How the Web Works P0

The backend foundation. What actually happens when you type a URL. Do this before Spring Boot.

Client, server, request/response cycle P0 L4 deep dive →
HTTP methods + idempotency P0 L4 deep dive →
Status codes (200/201/204/400/401/403/404/409/500/502/503) P0 L4
Headers, cookies vs sessions vs JWT P0 L4
REST principles, JSON P0 L4 deep dive →
HTTPS/TLS (concept), DNS, TCP handshake P1 L2 deep dive →
"What happens when you type a URL" P1 L4 deep dive →

🌱 Spring Boot P0

Understand what Spring solves, then Core → MVC → Data JPA → Security. Concepts over annotations.

What problem Spring solves (manual DI first) P0 L4 deep dive →
Spring Core: IoC, DI, beans, ApplicationContext, config P0 L4 deep dive →
Spring Boot: starters, auto-config, properties/yml, profiles P0 L2 deep dive →
Spring MVC: Controller, Service, Repository, DTO P0 L4 deep dive →
Validation (@Valid) + global exception handling P0 L4 deep dive →
Spring Data JPA: entities, repositories, relationships P0 L4 deep dive →
Lazy vs eager, transactions, pagination, JPQL, N+1 P0 L4 deep dive →
Spring Security 6: filter chain, UserDetails, BCrypt P0 L4 deep dive →
JWT auth flow, roles, @PreAuthorize, CORS/CSRF P0 L4 deep dive →

🧱 Backend Engineering P0

How to actually build systems: API design, idempotency, pagination, logging, async, queues.

REST API design, URI design, versioning P0 L4
DTOs, validation, consistent error JSON P0 L4
Pagination (offset + cursor), filtering, sorting P0 L4
Idempotency (keys for POST/payments) P1 L4
Rate limiting, retries + backoff, timeouts P1 L3 deep dive →
Structured logging + correlation IDs P1 L3
Sync vs async, background jobs, queues P1 L2
HATEOAS, GraphQL/gRPC, event sourcing/CQRS P3 L1

🧪 Testing P0

Turn your testing background into an edge. JUnit 5 + Mockito + Testcontainers.

Why test? Unit vs integration vs E2E, the test pyramid P0 L4 deep dive →
JUnit 5 + AssertJ (assertThat, parameterized) P0 L2
Mockito (@Mock/@InjectMocks, when/verify) P0 L2
Spring Boot slices (@WebMvcTest, @DataJpaTest, MockMvc) P1 L2
Testcontainers (real PostgreSQL, @ServiceConnection) P1 L2

🐛 Debugging P1

Symptom → Hypothesis → Evidence → Root Cause → Fix → Regression Test. Your daily superpower.

Read stack traces & logs P0 L3
Reproduce → hypothesis → evidence → root cause P0 L3
Breakpoints, inspect variables (IntelliJ) P0 L3
Debug APIs, SQL, Spring, Docker P1 L3

🔀 Git & GitHub P0

The 20% you use 80% of the time — plus PRs, branching, conflict resolution.

init/clone, add/commit, status/log, .gitignore P0 L2 deep dive →
branch/switch, push/pull, remotes P0 L2 deep dive →
Pull requests + conflict resolution P0 L3 deep dive →
merge vs rebase (never rebase shared branches) P1 L3 deep dive →
undo/recovery: reset, revert, stash P1 L3 deep dive →

🖥️ Operating Systems P1

Interview-relevant only. Processes, threads, memory, concurrency, deadlocks. Not an academic course.

Process vs thread, context switching P0 L4 deep dive →
Memory: stack/heap, virtual memory, paging P1 L4 deep dive →
Race conditions, mutex vs semaphore P0 L4
Deadlocks (Coffman conditions + prevention) P0 L4

📡 Networking P1

Backend & interview scoped. TCP/UDP, DNS, TLS, load balancers, proxies. Skip subnetting math.

OSI vs TCP/IP, TCP vs UDP P1 L4 deep dive →
DNS resolution flow, 3-way handshake P1 L4 deep dive →
TLS handshake (high level), ports & sockets P1 L2 deep dive →
Proxy vs reverse proxy, load balancer L4/L7, CDN P1 L4

🐧 Linux P2

Backend-relevant commands only. Install WSL2 and run everything as you learn.

Navigation, file ops, permissions (chmod/chown, rwx) P2 L2
pipes, grep, ps/top/kill, tail -f logs P2 L2
ports (ss/lsof), curl, ssh P2 L2
systemctl, journalctl, env vars P2 L2

🐳 Docker P1

Images, containers, Dockerfile, Compose. The job-relevant skill: compose Spring + Postgres + Redis.

What Docker solves; images vs containers P1 L2 deep dive →
Write a Dockerfile (multi-stage for Java) P1 L2 deep dive →
Volumes, networks, env vars P1 L2 deep dive →
docker-compose: Spring + Postgres + Redis P1 L2 deep dive →

⚡ Redis & Caching P2

Why caching exists, cache-aside, TTL, invalidation — and when NOT to use it (interview gold).

What Redis is; why caching exists; key/value + TTL P2 L2
Cache-aside pattern + invalidation P1 L4 deep dive →
When NOT to cache; cache stampede, stale reads P1 L4
Sessions, rate limiting with Redis P2 L2

☁️ AWS P2

Junior backend scope, NOT certification. IAM, EC2, S3, RDS, CloudWatch. Set a billing alarm day one.

IAM: users/roles/policies, least privilege P1 L2 deep dive →
EC2 (launch, security groups, SSH) P2 L2
S3 (buckets, policies, presigned URLs) P2 L2 deep dive →
RDS (managed Postgres) + CloudWatch (logs, billing alarm) P1 L2 deep dive →

🏛️ System Design P1

Junior/mid depth. Requirements → API + DB → scale → cache → queues. Mention (not design) distributed internals.

What is system design; functional vs non-functional reqs P1 L4 deep dive →
API + relational DB schema design; estimation P1 L4 deep dive →
Scaling (horizontal/vertical), load balancers P1 L4 deep dive →
Caching, message queues, read replicas, indexing P1 L4
CAP, sharding/partitioning (concept only) P1 L1
Consensus (Raft/Paxos), consistent hashing, Kafka internals P3 L1

🌍 Open Source P2

Quality > count. Read a repo → find a good-first-issue → make a real, merged PR.

What open source is; reading a repo (README→CONTRIBUTING→tests) P2 L2
Fork→clone→branch→commit→PR loop P2 L2
Find a good-first-issue; comment before starting P2 L2
Write a clear PR; respond to review feedback P2 L2

🎤 Interview Prep P1

DSA + Java/Spring + SQL + CS + HR + mocks. Mocks are the highest-ROI, most-skipped step.

DSA rounds (Medium mastery) P0 L4 deep dive →
Java + Spring concept questions P0 L4 deep dive →
SQL + CS fundamentals rapid review P0 L4
HR/behavioral (STAR, 6–8 stories, why-this-company) P1 L4
3–5 mock interviews before real ones P0 L4