Skip to content

Learning Paths

Six tracks, matching six common programmer growth trajectories. Each track is a recommended study route consisting of selected chapters from the 14 volumes. There is no requirement to complete all tracks — pick the one that fits your goals.

TrackTarget AudienceEstimated Duration
Track 1: From Zero to First JobCollege freshman, self-taught beginners6–12 months
Track 2: Backend EngineerJunior → competent backend engineer3–6 months
Track 3: Data & AI EngineerData analyst → ML engineer4–8 months
Track 4: Systems ProgrammerApplication dev → infrastructure dev6–10 months
Track 5: Software ArchitectSenior dev → architectContinuous
Track 6: CS Interview SprintInterview prep in limited time1–3 months

Track 1: From Zero to First Job

Goal: Go from zero programming ability to eligible for a junior developer position.

Phase 1: Developer Survival Toolkit (2–4 weeks)

Phase 2: Programming Foundations (4–8 weeks)

Phase 3: Common Data Structures (3–4 weeks)

  • [Vol 2 ch01–ch06]
  • Focus: Big O, arrays/lists, hash tables, trees, sorting

Phase 4: Basic Computer Systems (2–3 weeks)

  • [Vol 3 ch01–ch04]
  • Focus: number representation, memory model, process model

Phase 5: Database Basics (2–3 weeks)

  • [Vol 5 ch01–ch04]
  • Focus: SQL, indexes, transactions

Phase 6: Web Backend & Practical Skills (4–6 weeks)


Track 2: Backend Engineer

Goal: From junior backend engineer → competent senior developer.

Prerequisite Review (1–2 weeks)

  • Vol 1 review: Collections, Exceptions, I/O
  • Vol 2 review: Common data structures
  • Vol 4 review: HTTP, TCP basics

Core Backend Chain (8–12 weeks)

  • [Vol 4: Networking – Full volume]
  • [Vol 5: Databases & Data Systems – Full volume]
  • [Vol 7: Distributed Systems – Full volume]
  • [Vol 6: Software Engineering – Full volume]

Tooling Depth (4–6 weeks)

Advanced Topics (elective)

  • Vol 9 JVM memory model
  • Vol 6 microservice patterns

Track 3: Data & AI Engineer

Goal: From data analyst capable of writing SQL → ML engineer.

Foundation Phase (4–6 weeks)

  • Vol 1 ch01–ch12 (Java or Python basis, pick one)
  • Vol 10 Mathematics: Linear algebra, probability, calculus
  • Vol 5 ch01–ch04: SQL, indexes, query optimization

Data Processing (4–6 weeks)

  • Vol 12: Data Processing & Data Science (all chapters)
  • Vol 5 ch05–ch08: Distributed data processing, streaming

Machine Learning (8–12 weeks)

  • Vol 13: AI & ML (all chapters)
  • Vol 2: Algorithm analysis, specific algorithm + data structure needs (DP, trees)

Deepening (elective)

  • Vol 11: Compilers (for understanding DL compiler principles)
  • Vol 3: Computer Systems (GPU programming, CUDA foundation)

Track 4: Systems Programmer

Goal: From application developer → infrastructure / systems developer.

Foundation Phase (4–8 weeks)

  • Vol 3: Computer Systems – Full volume (C/assembly focus)
  • Vol 11: Compilers – Full volume (lexer/parser, code generation)
  • Vol 1 ch01–ch12: Solid OOP foundations

Systems Development (8–12 weeks)

  • Vol 7: Distributed Systems – Full volume
  • Vol 4: Networking – Full volume
  • Vol 5: Database internals (ch06–ch10)

Performance & Optimization (4–6 weeks)

  • Vol 3 ch05–ch08: Performance engineering, caches, parallelism
  • Vol 9: JVM tuning, memory model

Track 5: Software Architect

Goal: From senior engineer → architect / tech lead.

Note: This track requires at least 3–5 years of practical development experience. It's recommended to complete Tracks 2 or 4 first.

Architecture Foundation (8–12 weeks)

  • Vol 6: Software Engineering & Design Patterns (all chapters)
  • Vol 7: Distributed Systems (all chapters)

System Design (continuous)

  • Deep dive on specific topics: CQRS, Event Sourcing, DDD
  • Security architecture: Vol 8 ch01–ch04
  • Observability: Vol 7 ch07 (monitoring, tracing, logging)

Soft Skills (supplementary)

  • Communication skills, technical writing
  • Project management, OKR breakdown
  • Review and decision-making processes

Track 6: CS Interview Sprint

Goal: Prepare for major company technical interviews in a limited time.

Data Structures & Algorithms (4–6 weeks)

  • Vol 2 ch01–ch10: Focus on hands-on practice, at least 100 LeetCode problems
  • Focus: Arrays/linked lists, hash tables, trees, graphs, recursion/DP, sorting

Computer Systems (1–2 weeks)

  • Vol 3 ch01–ch04: Number representation, memory, processes & threads
  • Vol 3 ch06: Caches

Networking (1 week)

  • Vol 4 ch01–ch03: TCP, HTTP, DNS

Databases (1–2 weeks)

  • Vol 5 ch01–ch04: SQL, indexes, transactions, locks, MVCC

Design & System Design (2–3 weeks)

  • Vol 6 ch01–ch02: OOP design, SOLID principles
  • Vol 7 ch01–ch03: CAP, consistency, Raft

Language Fundamentals (1 week)

  • Vol 1 ch10–ch11: Collections, exceptions (interview staples)
  • Vol 1 ch14: Concurrent basics (synchronized, volatile)

Learning Across Languages

Most chapters in this atlas use Java as the primary language, with cross-language comparison windows for Python and C++.

  • If you're a Java developer → follow directly
  • If you're a Python developer → read the "Python Difference" sections, focus on concepts, ignore Java-specific syntax details
  • If you're a C++ developer → same principle, use the "C++ Difference" windows

Built with VitePress | Software Systems Atlas