Software Engineering
Backend systems from a senior engineer's angle — how to make a service scale, stay up under load, and expose an API other teams can build on. Mechanism first, trade-offs named, with one system carried through.
2 guides·22 chapters·~4 h of reading
No.GuideFormatLengthRead
Deep dive2
- 01Designing for ScaleA from-first-principles field guide to making a backend service handle more load without falling over. 11 chapters: the numbers and laws (latency vs throughput, Little's Law, back-of-envelope), load balancing and statelessness, caching, scaling the database (replication, sharding), consistency and the CAP/PACELC trade-offs, asynchronous work and queues, choosing data stores by shape, tail latency and capacity planning, reliability and graceful degradation — then a full worked design. One running example throughout: Snip, a URL shortener with click analytics.Deep dive11 ch.~2 h
- 02Designing APIsHow to design an API other teams can build on and you can evolve without breaking them. 11 chapters: choosing a style (REST, gRPC, GraphQL), resource modeling, pagination and filtering, a machine-readable error model, versioning and deprecation, authentication and scopes, rate limits, caching with idempotency and conditional requests, async delivery with webhooks and streaming — then a full worked design. The running example is the public API for Snip, the URL shortener from Designing for Scale.Deep dive11 ch.~2 h