learning-roadmap
Core Philosophy
Learning a complex skill—whether it is distributed systems engineering, corporate finance, or machine learning—without a structured roadmap is like sailing across an ocean without a compass. Learners fall into the "tutorial purgatory" trap: endlessly following video courses, copying code, and feeling productive while remaining utterly incapable of independent problem-solving. A professional learning roadmap operates as a Directed Acyclic Graph (DAG) of competencies: decomposing domains into prerequisites, establishing measurable milestone projects, curating battle-tested primary literature, and pacing progression from Novice to Autonomous Practitioner.
4-Step Learning Roadmap Architecture
Step 1: Competency Mapping & Prerequisite DAGs
- The Dreyfus Model Progression:
- Novice: Rule-based execution; zero context awareness.
- Advanced Beginner: Recognizes recurring situational patterns.
- Competent: Solves novel problems independently using conceptual frameworks.
- Proficient: Intuitive grasp of edge cases and trade-offs.
- Expert: Authoring new patterns, tools, or theory.
- Prerequisite Graph Dependency:
- Ensure foundational competencies are mastered before dependent abstractions are introduced (e.g. Memory pointers & CPU cache lines $\to$ Concurreny & Locks $\to$ Lock-free queues).
Step 2: Tiered Curriculum & Primary Source Curation
- The 3-Tier Source Hierarchy:
- Tier 1 (Foundational Texts): Canonical textbooks and seminal whitepapers (e.g. Tanenbaum, Hennessy & Patterson, Knuth).
- Tier 2 (Official References & Standards): Language specifications, official RFCs, production documentation.
- Tier 3 (Applied Practice): Open-source codebases, interactive sandboxes, production teardowns.
- Eliminating Low-Signal Noise:
- Ban generic 40-hour video bootcamps that hold the student's hand through copy-paste exercises.
Step 3: Milestone Gate Projects (Proof of Competence)
- The "No-Tutorial" Project Rule:
- At each milestone gate, the learner must build a non-trivial project from scratch with zero boilerplate or video tutorials.
- The Defense Gate:
- A milestone is only passed when the project is tested, documented, and capable of handling edge cases.
Step 4: Time Estimation & Pacing Models
- Deliberate Practice Hours Calculation:
$$T_{\text{mastery}} = \sum_{i=1}^{N} (\text{Theory Hours}_i \times 1.0 + \text{Build Hours}_i \times 2.5)$$
- Allocate 70% of total learning time to hands-on building and debugging, and 30% to reading.
Deliverable Format: 6-Month Systems Programming (Rust) Roadmap
# Roadmap: Zero to Production Rust Systems Engineer
## Phase 1: Systems Foundations & Memory Model (Weeks 1-6)
- **Core Competencies**: Stack vs Heap, CPU Cache Locality, Pointer Arithmetic, OS Syscalls.
- **Reading / Resources**:
- *The Rust Programming Language* (Klabnik & Nichols) — Chapters 1-10.
- *Computer Systems: A Programmer's Perspective* (Bryant & O'Hallaron) — Ch 1-3.
- **Milestone Project 1**:
- Build a custom CLI memory visualizer that parses `/proc/$PID/maps` on Linux and prints mapped virtual memory segments.
## Phase 2: Ownership, Lifetimes & Concurrency (Weeks 7-14)
- **Core Competencies**: Affine Type System, Borrow Checker, Unsafe Rust, Mutex/RwLock, Atomics.
- **Reading / Resources**:
- *Rust for Rustaceans* (Jon Gjengset) — Chapters 1-5.
- *The Rustonomicon* (Selected chapters on Unsafe & Invariants).
- **Milestone Project 2**:
- Implement a thread-safe, lock-free MPSC (Multi-Producer Single-Consumer) bounded ring-buffer queue from scratch using atomic operations (`std::sync::atomic`).
## Phase 3: Network Systems & Asynchronous I/O (Weeks 15-24)
- **Core Competencies**: Epoll / Kqueue, Tokio Async Runtime, Reactor Pattern, Zero-Copy Parsing.
- **Reading / Resources**:
- *Programming WebAssembly with Rust* or Tokio official architecture guides.
- RFC 793 (TCP Specification fundamentals).
- **Milestone Project 3 (Capstone)**:
- Build a mini Redis-compatible in-memory caching server supporting `GET`, `SET`, `EXPIRE`, and concurrent client connections, benchmarking $\ge 80,000\text{ QPS}$ under `redis-benchmark`.
Worked Example: Accelerating a Junior Backend Developer into Distributed Systems
- Problem: A junior developer wanted to learn distributed systems but was jumping randomly between Kubernetes tutorials, Kafka documentation, and YouTube videos, retaining nothing.
- Intervention:
- Structured a 16-week rigorous curriculum focused on the MIT 6.824 Distributed Systems syllabus.
- Anchored the roadmap around 3 seminal papers (Google GFS, Raft Consensus, Amazon Dynamo).
- Established 4 hard programming milestones implemented in Go: Lab 1 (MapReduce), Lab 2 (Raft Leader Election & Log Replication), Lab 3 (Fault-Tolerant KV Store).
- Outcome: The developer successfully implemented a passing Raft consensus cluster and transitioned into a Senior Infrastructure Engineer role within 9 months.
Verification Checklist
Anti-Patterns
- Tutorial Hell: Watching 200 hours of video courses without writing a single line of original code or building an unguided project.
- Skipping Prerequisites: Trying to learn deep learning transformers before understanding linear algebra and multivariate calculus.
- Unbounded Scope: Declaring "I want to learn AI" without defining specific bounded outcomes (e.g. "Deploy fine-tuned LoRA weights for customer support triage").
1---2name: learning-roadmap3description: Build the roadmap: skill tree, milestone checkpoints, ordered reading with difficulty ratings, and time estimates. Use when planning structured skill acquisition from beginner to mastery.4---56# learning-roadmap78## Core Philosophy9Learning a complex skill—whether it is distributed systems engineering, corporate finance, or machine learning—without a structured roadmap is like sailing across an ocean without a compass. Learners fall into the "tutorial purgatory" trap: endlessly following video courses, copying code, and feeling productive while remaining utterly incapable of independent problem-solving. A professional learning roadmap operates as a **Directed Acyclic Graph (DAG)** of competencies: decomposing domains into prerequisites, establishing measurable milestone projects, curating battle-tested primary literature, and pacing progression from Novice to Autonomous Practitioner.1011---1213## 4-Step Learning Roadmap Architecture1415### Step 1: Competency Mapping & Prerequisite DAGs161. **The Dreyfus Model Progression**:17 - **Novice**: Rule-based execution; zero context awareness.18 - **Advanced Beginner**: Recognizes recurring situational patterns.19 - **Competent**: Solves novel problems independently using conceptual frameworks.20 - **Proficient**: Intuitive grasp of edge cases and trade-offs.21 - **Expert**: Authoring new patterns, tools, or theory.222. **Prerequisite Graph Dependency**:23 - Ensure foundational competencies are mastered before dependent abstractions are introduced (e.g. *Memory pointers & CPU cache lines* $\to$ *Concurreny & Locks* $\to$ *Lock-free queues*).2425### Step 2: Tiered Curriculum & Primary Source Curation261. **The 3-Tier Source Hierarchy**:27 - **Tier 1 (Foundational Texts)**: Canonical textbooks and seminal whitepapers (e.g. Tanenbaum, Hennessy & Patterson, Knuth).28 - **Tier 2 (Official References & Standards)**: Language specifications, official RFCs, production documentation.29 - **Tier 3 (Applied Practice)**: Open-source codebases, interactive sandboxes, production teardowns.302. **Eliminating Low-Signal Noise**:31 - Ban generic 40-hour video bootcamps that hold the student's hand through copy-paste exercises.3233### Step 3: Milestone Gate Projects (Proof of Competence)341. **The "No-Tutorial" Project Rule**:35 - At each milestone gate, the learner must build a non-trivial project from scratch with zero boilerplate or video tutorials.362. **The Defense Gate**:37 - A milestone is only passed when the project is tested, documented, and capable of handling edge cases.3839### Step 4: Time Estimation & Pacing Models401. **Deliberate Practice Hours Calculation**:41 $$T_{\text{mastery}} = \sum_{i=1}^{N} (\text{Theory Hours}_i \times 1.0 + \text{Build Hours}_i \times 2.5)$$42 - Allocate 70% of total learning time to hands-on building and debugging, and 30% to reading.4344---4546## Deliverable Format: 6-Month Systems Programming (Rust) Roadmap4748```markdown49# Roadmap: Zero to Production Rust Systems Engineer5051## Phase 1: Systems Foundations & Memory Model (Weeks 1-6)52- **Core Competencies**: Stack vs Heap, CPU Cache Locality, Pointer Arithmetic, OS Syscalls.53- **Reading / Resources**:54 - *The Rust Programming Language* (Klabnik & Nichols) — Chapters 1-10.55 - *Computer Systems: A Programmer's Perspective* (Bryant & O'Hallaron) — Ch 1-3.56- **Milestone Project 1**:57 - Build a custom CLI memory visualizer that parses `/proc/$PID/maps` on Linux and prints mapped virtual memory segments.5859## Phase 2: Ownership, Lifetimes & Concurrency (Weeks 7-14)60- **Core Competencies**: Affine Type System, Borrow Checker, Unsafe Rust, Mutex/RwLock, Atomics.61- **Reading / Resources**:62 - *Rust for Rustaceans* (Jon Gjengset) — Chapters 1-5.63 - *The Rustonomicon* (Selected chapters on Unsafe & Invariants).64- **Milestone Project 2**:65 - Implement a thread-safe, lock-free MPSC (Multi-Producer Single-Consumer) bounded ring-buffer queue from scratch using atomic operations (`std::sync::atomic`).6667## Phase 3: Network Systems & Asynchronous I/O (Weeks 15-24)68- **Core Competencies**: Epoll / Kqueue, Tokio Async Runtime, Reactor Pattern, Zero-Copy Parsing.69- **Reading / Resources**:70 - *Programming WebAssembly with Rust* or Tokio official architecture guides.71 - RFC 793 (TCP Specification fundamentals).72- **Milestone Project 3 (Capstone)**:73 - Build a mini Redis-compatible in-memory caching server supporting `GET`, `SET`, `EXPIRE`, and concurrent client connections, benchmarking $\ge 80,000\text{ QPS}$ under `redis-benchmark`.74```7576---7778## Worked Example: Accelerating a Junior Backend Developer into Distributed Systems7980- **Problem**: A junior developer wanted to learn distributed systems but was jumping randomly between Kubernetes tutorials, Kafka documentation, and YouTube videos, retaining nothing.81- **Intervention**:82 1. Structured a 16-week rigorous curriculum focused on the MIT 6.824 Distributed Systems syllabus.83 2. Anchored the roadmap around 3 seminal papers (Google GFS, Raft Consensus, Amazon Dynamo).84 3. Established 4 hard programming milestones implemented in Go: Lab 1 (MapReduce), Lab 2 (Raft Leader Election & Log Replication), Lab 3 (Fault-Tolerant KV Store).85- **Outcome**: The developer successfully implemented a passing Raft consensus cluster and transitioned into a Senior Infrastructure Engineer role within 9 months.8687---8889## Verification Checklist9091- [ ] Learning goals decomposed into a clear prerequisite dependency tree (DAG).92- [ ] Resources prioritized by authoritative canonical texts and primary documentation.93- [ ] 70/30 split enforced between hands-on project building and passive reading.94- [ ] Every milestone concludes with an independently built, unguided artifact.95- [ ] Realistic time budgets allocated based on weekly available study hours.9697---9899## Anti-Patterns100101- **Tutorial Hell**: Watching 200 hours of video courses without writing a single line of original code or building an unguided project.102- **Skipping Prerequisites**: Trying to learn deep learning transformers before understanding linear algebra and multivariate calculus.103- **Unbounded Scope**: Declaring "I want to learn AI" without defining specific bounded outcomes (e.g. "Deploy fine-tuned LoRA weights for customer support triage").