Software Architecture Roadmap
Software fundamentals → HTTP → APIs → application architecture → databases → caching → queues → async → scaling → load balancing → distributed systems → microservices → events → reliability → observability → system design → production. Stages taught in another domain link there.
- 1
Software Fundamentalstaught elsewhere
Data structures and algorithms: hash tables, queues, graphs, trees — the ideas that reappear as consistent hashing, message queues, dependency graphs and indexes.
Data Structures & Algorithms → - 2
HTTP / Networkingtaught elsewhere
What to know before the rest makes sense: TCP connections and their cost, HTTP/1.1 vs HTTP/2 multiplexing, TLS termination, DNS and TTLs, status codes, headers that control caching (
Cache-Control,ETag), timeouts at every hop, and why a timeout is indistinguishable from a partition. - 3
APIs
0/1REST, GraphQL, gRPC, WebSockets, SSE and webhooks: what each solves, how each fails, and which to expose to whom.
- 4
Application Architecture
0/7What architecture is, how a system evolves one problem at a time, monolith and modular monolith, and the code-level structures — layered, clean, hexagonal — that keep dependencies pointing the right way.
- 5
Databasestaught elsewhere
Indexes, transactions, replication and partitioning: the database is the ceiling of most systems, and its behaviour drives the architecture around it.
Database Engineering roadmap → - 6
Caching
0/2Browser → CDN → application cache → Redis → database: TTLs, invalidation, stampedes, hot keys, and what belongs at the edge.
- 7
Queues
0/2Point-to-point queues with acks, retries and dead letters, then Kafka-style logs with partitions, offsets and consumer groups.
- 8
Async Processing
0/3Background jobs and workers, idempotency under retries, and backpressure when producers outrun consumers.
- 9
Scaling
0/3Vertical vs horizontal, why stateless services scale and stateful ones do not, and scaling a system step by step from one server to many.
- 10
Load Balancing
0/1Round robin, least connections and consistent hashing; health checks, sticky sessions, L4 vs L7, and the balancer as a single point of failure.
- 11
Distributed Systems
0/4Partitions and CAP without slogans, consistent hashing, service discovery in a dynamic fleet, and why one transaction cannot span services.
- 12
Microservices
0/2Service boundaries, database ownership, partial failure and the API gateway — and the distributed monolith that results when the boundaries are not real.
- 13
Events
0/5Event-driven architecture, the sync-vs-async decision, sagas with compensation, CQRS, and event sourcing — with duplicates, ordering and replay taken seriously.
- 14
Reliability
0/4Timeouts, retries with budgets, circuit breakers, bulkheads, rate limiting, and the arithmetic of nines and error budgets.
- 15
Observability
0/2Logs, metrics and traces for the same incident, and following one request across five hops to find where the time went.
- 16
System Designtaught elsewhere
Put it together: URL shortener, chat, social feed, e-commerce, notifications, file storage — requirements in, an evolving architecture out.
System design exercises → - 17
Production Architecturetaught elsewhere
Kill components and watch what breaks: the failure simulator turns every pattern above into an on-call decision.
Failure simulator →