6 modules · 17 lessons

Backend Engineering

From request execution and trusted contracts to data correctness, distributed processing, and production recovery. Follow the mechanisms, failure schedules, and implementation tradeoffs behind reliable backends.

A server cabinet and a database, linked by a cable beside a stack of reference books.
The work behind every request.
Module 012 lessons

Requests and execution

  1. 01

    Requests, protocols, and the server boundary

    Trace HTTP and gRPC from the connection to the handler, including proxy trust, deadlines, and protocol guarantees.

  2. 02

    Concurrency, scheduling, and backpressure

    Connect event loops, workers, cancellation, queues, and global pool budgets to useful work under overload.

Module 022 lessons

Contracts and trust

  1. 01

    API contracts, representation, and pagination

    Design commands, errors, compatible representations, and stable list traversal with explicit consistency semantics.

  2. 02

    Identity, authorization, and tenant isolation

    Carry verified identity and resource permissions through queries, caches, jobs, and shared infrastructure.

Module 034 lessons

Data and correctness

  1. 01

    Domain rules, data models, and ownership

    Model invariants, historical facts, constraints, state transitions, and the owner of each durable decision.

  2. 02

    Storage engines, indexes, and query plans

    Read storage and query costs through WAL, MVCC maintenance, access paths, plans, and representative cardinalities.

  3. 03

    Transactions, MVCC, and concurrency control

    Work through last-unit races, snapshot isolation, write skew, locks, version checks, and ambiguous commits.

  4. 04

    Caches, freshness, and invalidation

    Make cache identity, stale-fill races, stampedes, eviction, and cache-outage capacity part of one contract.

Module 044 lessons

Distributed processing

  1. 01

    Deadlines, retries, and idempotent operations

    Bound failure amplification and resolve uncertain mutations using budgets, receipts, stable operation IDs, and reconciliation.

  2. 02

    Queues, streams, and transactional messaging

    Understand durable acceptance, outbox and inbox transactions, ordering, redelivery, replay, and backlog drain.

  3. 03

    Replication, partitioning, and identifiers

    Reason about replica lag, failover, shard ownership, routing epochs, global operations, and identifier guarantees.

  4. 04

    Coordination, leases, and durable workflows

    See why expired owners need fencing and how persistent workflow state handles cross-system uncertainty and compensation.

Module 052 lessons

Read models and long-lived work

  1. 01

    Search indexes and derived data

    Build a search read model with permission-aware retrieval, versioned updates, deletion rules, rebuild boundaries, and reconciliation.

  2. 02

    Realtime delivery, batch jobs, and resumable work

    Choose polling, SSE, or WebSockets and make reconnects, snapshot gaps, slow consumers, and export checkpoints explicit.

Module 063 lessons

Architecture and operations

  1. 01

    Service boundaries and safe evolution

    Use ownership to choose modules or services, then evolve schema, events, caches, and deployments without breaking overlap.

  2. 02

    Testing, observability, and capacity reasoning

    Connect invariants to race tests, useful telemetry, critical-path diagnosis, realistic load, and operating budgets.

  3. 03

    Worked production reviews

    Review a recoverable checkout and an isolated large-tenant export using concrete budgets, crash schedules, and recovery evidence.