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.

0 / 36 lessons mastered
  1. 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. 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. 3

    APIs

    0/1

    REST, GraphQL, gRPC, WebSockets, SSE and webhooks: what each solves, how each fails, and which to expose to whom.

  4. 4

    Application Architecture

    0/7

    What 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. 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. 6

    Caching

    0/2

    Browser → CDN → application cache → Redis → database: TTLs, invalidation, stampedes, hot keys, and what belongs at the edge.

  7. 7

    Queues

    0/2

    Point-to-point queues with acks, retries and dead letters, then Kafka-style logs with partitions, offsets and consumer groups.

  8. 8

    Async Processing

    0/3

    Background jobs and workers, idempotency under retries, and backpressure when producers outrun consumers.

  9. 9

    Scaling

    0/3

    Vertical vs horizontal, why stateless services scale and stateful ones do not, and scaling a system step by step from one server to many.

  10. 10

    Load Balancing

    0/1

    Round robin, least connections and consistent hashing; health checks, sticky sessions, L4 vs L7, and the balancer as a single point of failure.

  11. 11

    Distributed Systems

    0/4

    Partitions and CAP without slogans, consistent hashing, service discovery in a dynamic fleet, and why one transaction cannot span services.

  12. 12

    Microservices

    0/2

    Service boundaries, database ownership, partial failure and the API gateway — and the distributed monolith that results when the boundaries are not real.

  13. 13

    Events

    0/5

    Event-driven architecture, the sync-vs-async decision, sagas with compensation, CQRS, and event sourcing — with duplicates, ordering and replay taken seriously.

  14. 14

    Reliability

    0/4

    Timeouts, retries with budgets, circuit breakers, bulkheads, rate limiting, and the arithmetic of nines and error budgets.

  15. 15

    Observability

    0/2

    Logs, metrics and traces for the same incident, and following one request across five hops to find where the time went.

  16. 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. 17

    Production Architecturetaught elsewhere

    Kill components and watch what breaks: the failure simulator turns every pattern above into an on-call decision.

    Failure simulator →