Learning Paths

Backend & System Design

Build services that stay up: HTTP and APIs, data and caching, distributed systems, reliability and security, and the design interview that tests all of it.

Finish this and you can design a service for millions of users on a whiteboard, defend each choice, and build a smaller version that actually runs.

Starts at
Intermediate
Topics
5
Projects
5
Of material
101 h
  • APIs
  • Databases
  • Caching
  • Distributed systems
  • System design
01Beginner

HTTP and API design

How the web actually talks, and APIs other teams can rely on.

Foundation

  • An overview of HTTP

    MDN Web Docs · docs · 1 h

    Requests, responses, methods, status codes and caching headers, from the reference most engineers use.

  • The Twelve-Factor App

    12factor.net · article · 45 min

    Twelve rules for services that deploy and scale cleanly. Short, and still right.

Practitioner

  • Introduction to gRPC

    gRPC · docs · 30 min

    The common alternative to REST between internal services, and when it is worth it.

Project

A URL shortener with a real API contract

Small enough to finish, rich enough to design properly.

  1. Write the API contract first (OpenAPI), including errors and rate limits.
  2. Implement it with a relational store and idempotent creation.
  3. Return the right status codes and cache headers for every route.
  4. Deploy it and share the docs page.
02Intermediate

Data, indexes and caching

Choosing a store, making queries fast, and caching without serving stale nonsense.

Practitioner

  • Use The Index, Luke

    use-the-index-luke.com · book · 8 h

    Indexing explained for the people who write the queries.

  • Redis documentation

    Redis · docs · 3 h

    Data structures and caching patterns. Read the parts on expiry and eviction carefully.

Project

Make the shortener fast, then prove it

Add a cache to the URL shortener.

  1. Load-test the redirect and record p95 latency.
  2. Add a read-through cache with an expiry you can justify.
  3. Handle invalidation when a link is edited or deleted.
  4. Load-test again and explain the difference.
03Advanced

Distributed systems

Replication, consensus, partitions and the trade-offs behind every large system.

Practitioner

  • Microservices

    martinfowler.com · article · 1 h

    The article that defined the term, with the costs as well as the benefits.

Builder

Project

Implement Raft leader election

Do the first Raft lab from the MIT course.

  1. Read the Raft paper before writing code.
  2. Implement leader election and pass the lab's tests repeatedly, not once.
  3. Write up one bug that only appeared under the test's network faults, and how you found it.
04Intermediate

Reliability and security

Service levels, incidents, observability and the API security mistakes attackers look for first.

Practitioner

  • Site Reliability Engineering

    Google · book · 20 h

    Read the chapters on service level objectives, monitoring and postmortems first.

  • OWASP API Security Top 10

    OWASP · docs · 1 h 30 min

    Broken authorisation tops the list for a reason. Check your own APIs against each item.

Project

An SLO, a dashboard and a postmortem

Run the shortener like a production service.

  1. Define two SLOs and the error budget they imply.
  2. Instrument latency and errors and build the dashboard.
  3. Inject a failure and run a blameless postmortem on it.
  4. Audit the API against the OWASP list and fix what you find.
05Advanced

System design, the interview

A repeatable approach to designing a large system out loud in forty-five minutes.

Practitioner

  • The System Design Primer

    GitHub · repo · 15 h

    The standard free reference: concepts, trade-offs and worked designs with diagrams.

Project

Three designs, presented out loud

Practise the way the interview is run.

  1. Pick three systems: a feed, a chat service and a ride dispatcher.
  2. Design each in forty-five minutes, out loud, recorded.
  3. Review the recording against the primer and redo the weakest one.

Not sure this is your direction?

A three-minute counselling sample is free.

Try counselling