Roadmaps
Each roadmap is a reading order for one kind of engineering job, from the basics up to what a senior engineer is expected to know. It is split into stages, and every topic links to a page to read or a simulator to try. There are 8 roadmaps with 670 topics between them.
Topics are marked core, recommended or optional, and each roadmap can show only the core ones if you are starting out.
- Building APIs and backend servicesBackend engineer
- A system design interviewSystem design
- Building web interfacesFrontend engineer
- Running infrastructure and being on callDevOps and SRE
- Keeping systems and data safeSecurity engineer
- A coding interviewData structures and algorithms
- Data pipelines and machine learningData and ML engineering
- Running workloads on AWS, GCP or AzureCloud engineer
-
Backend engineer
15 stages, 163 topics
HTTP, databases, caching, queues and APIs, up to designing a distributed backend.
- The internet and HTTP
- OS and networking foundations
- Version control
- Pick a language
- Design principles and patterns
- APIs and protocols
- Databases
- Caching
- Web security
- Testing
- Containers and orchestration
- Scaling out
- Distributed systems
- Observability
- System design
-
System design
15 stages, 91 topics
Load balancers, caches, storage and replication, up to complete interview designs.
- Trade-offs and terms
- The edge: DNS, CDNs and anycast
- Load balancing and reverse proxies
- The application tier
- Relational databases
- NoSQL databases
- Sharding and denormalisation
- Caching
- Queues, workers and back-pressure
- Communication protocols
- Capacity estimates
- Failure modes
- Security in system design
- Observability
- Worked problems
-
Frontend engineer
16 stages, 95 topics
How the browser loads and draws a page, up to the architecture of a large frontend.
- How the web loads
- HTML and semantics
- CSS and layout
- JavaScript
- TypeScript
- The DOM and browser APIs
- Version control and collaboration
- Build tools and packages
- Pick a framework
- State and data fetching
- Styling and design systems
- Rendering and architecture
- Performance and Core Web Vitals
- Accessibility
- Testing
- Frontend system design
-
DevOps and SRE
14 stages, 69 topics
The Linux shell, CI/CD, containers, Kubernetes, monitoring and being on call.
- Linux and the shell
- Networking for ops
- Version control and collaboration
- CI/CD pipelines
- Containers (Docker)
- Kubernetes
- Infrastructure as code
- Configuration and secrets
- Cloud platforms
- Observability
- Scaling and load management
- Reliability engineering
- Security and compliance
- Platform engineering
-
Security engineer
14 stages, 65 topics
Cryptography, authentication, web vulnerabilities and securing cloud systems.
- Foundations and threat modelling
- Cryptography basics
- Authentication
- Authorization and access control
- Network security
- Web application security
- API and service security
- Secure development
- Secrets and key management
- Cloud security
- Container and Kubernetes security
- Logging, monitoring and detection
- Incident response and forensics
- Offensive security and red teaming
-
Data structures and algorithms
14 stages, 70 topics
Data structures, algorithms and the patterns behind coding interview questions.
- Complexity and Big-O
- Arrays and strings
- Hashing
- Linked lists, stacks and queues
- Trees and binary search trees
- Heaps and priority queues
- Balanced and specialised trees
- Graphs and traversal
- Shortest paths and other graph algorithms
- Sorting and searching
- Recursion and backtracking
- Dynamic programming
- Greedy algorithms and divide and conquer
- Interview patterns and practice
-
Data and ML engineering
14 stages, 70 topics
SQL, pipelines and warehouses, up to training and serving models.
- Data foundations and SQL
- Relational databases and modelling
- NoSQL databases
- Storage engines and file formats
- Batch processing
- Streaming
- Pipelines and orchestration
- Data warehouses and the lakehouse
- Data quality, governance and observability
- Distributed data
- Machine learning fundamentals
- Feature engineering and feature stores
- Training and experiments
- Model serving and MLOps
-
Cloud engineer
8 stages, 47 topics
Networks, identity, compute and storage in the cloud, up to systems that span regions.
- Linux and networking
- Core cloud services
- VPCs and cloud networking
- Containers and Kubernetes
- Infrastructure as code and CI/CD
- Observability and reliability
- Security and cost
- High availability, disaster recovery and multi-region