Learning Paths by Role¶
Suggested reading orders through the material for different backgrounds and goals.
New Graduate Path¶
Goal: Build foundational understanding from first principles up to system design.
- Programming Paradigms (Tier 0)
- Data Structures (Tier 0)
- Algorithmic Thinking (Tier 0)
- Type Systems & Memory (Tier 0)
- Software Design (Tier 2)
- Testing Strategies (Tier 2)
- Concurrency & Parallelism (Tier 1)
- Software Architecture (Tier 2)
- API Design (Tier 2)
Backend Engineer Path¶
Goal: Deep systems understanding for building reliable server-side applications.
- Data Structures (Tier 0)
- Compute & Memory Foundations (Tier 0)
- Storage & I/O Foundations (Tier 0)
- Data Modeling & Persistence (Tier 1)
- Networking Foundations (Tier 1)
- Concurrency & Parallelism (Tier 1)
- Distributed Fundamentals (Tier 1)
- Distributed Patterns (Tier 1)
- API Design (Tier 2)
- Performance Optimization (Tier 3)
- Observability (Tier 3)
Frontend Engineer Path¶
Goal: Understanding the full stack while focusing on user-facing concerns.
- Programming Paradigms (Tier 0)
- Data Structures (Tier 0)
- Algorithmic Thinking (Tier 0)
- Software Design (Tier 2)
- API Design (Tier 2)
- Testing Strategies (Tier 2)
- Networking Foundations (Tier 1)
- Performance Optimization (Tier 3)
- Observability (Tier 3)
Senior Engineer Deepening Path¶
Goal: Fill gaps and deepen understanding for experienced engineers.
- Distributed Fundamentals (Tier 1)
- Algorithm Patterns (Tier 0)
- Compute & Memory Foundations (Tier 0)
- Security Patterns (Tier 2)
- Observability (Tier 3)
- Software Architecture (Tier 2)
Security Specialist Path¶
Goal: Deep security understanding grounded in system fundamentals.
- Type Systems & Memory (Tier 0)
- Compute & Memory Foundations (Tier 0)
- Networking Foundations (Tier 1)
- Security Patterns (Tier 2)
- API Design (Tier 2)
- Distributed Fundamentals (Tier 1)
- Observability (Tier 3)
Data Engineer Path¶
Goal: Specialization in data systems and pipelines.
- Data Structures (Tier 0)
- Algorithmic Thinking (Tier 0)
- Storage & I/O Foundations (Tier 0)
- Data Modeling & Persistence (Tier 1)
- Distributed Fundamentals (Tier 1)
- Distributed Patterns (Tier 1)
- Performance Optimization (Tier 3)
- Observability (Tier 3)
Platform/Infrastructure Engineer Path¶
Goal: Building reliable platforms for other engineers.
- Compute & Memory Foundations (Tier 0)
- Storage & I/O Foundations (Tier 0)
- Networking Foundations (Tier 1)
- Concurrency & Parallelism (Tier 1)
- Distributed Fundamentals (Tier 1)
- Distributed Patterns (Tier 1)
- Security Patterns (Tier 2)
- Observability (Tier 3)
- Performance Optimization (Tier 3)
Quick Reference Path¶
Goal: Minimum viable understanding for cross-functional work.
- Programming Paradigms (Tier 0)
- Software Architecture (Tier 2)
- Distributed Fundamentals (Tier 1)
- Security Patterns (Tier 2)
- Observability (Tier 3)
Tips for All Paths¶
Read tensions first: Every domain starts with fundamental tensions. Understanding these frames everything else.
Cross-reference liberally: When a concept says 'Transfers To: X', consider reading that domain's treatment of similar ideas.
Don't memorize, understand: The goal is to recognize patterns in unfamiliar code, not to recite definitions.
Apply immediately: After each domain, try to identify its concepts in code you're currently working with.
Revisit periodically: Understanding deepens with experience. A domain read at year 1 will yield different insights at year 5.