Hirestack
Hirestack
Worked Examples · Wrap-up

Closing thoughts on the 15 examples

📖 2 min read · 1 sections · May 2026

Patterns recur across the 15 problems:

PatternAppears inWhat it solves
Hot keys / celebrity problemTwitter, Instagram, YouTube, Slack, distributed cacheLong-tail distribution of access; need special path for outliers
Push vs pull (write-time vs read-time work)Twitter, Instagram, notification service, SlackTradeoff between read latency and write cost
Multi-tier cachingTwitter, YouTube, URL shortener, Instagram, distributed cachePerformance at scale; absorb hot reads at each tier
Async via queues (Kafka, SQS)Every problem with fan-out or slow downstreamDecoupling; backpressure; retry tolerance
IdempotencyPayments, scheduler, notifications, webhook deliverySafe retries; correct semantics under failure
Sharding by some keyAlmost every problemHorizontal scaling; isolate failure domains
Consistent hashingDistributed cache, KV stores, location servicesStable distribution under topology changes
Content addressingDropbox, Git, Docker images, S3Dedup; immutable units of work
Lease-based ownershipScheduler, distributed locks, leader electionFailure-tolerant exclusive access
Append-only ledgersPayments, audit logs, event sourcingCorrectness; auditability; no mutation bugs
CDN + edge cachingYouTube, Instagram, URL shortener, static contentLatency reduction; bandwidth cost optimization
WebSocket gateway tierWhatsApp, Slack, Dropbox sync, presenceLong-lived connection management at scale

These patterns aren't independent. They appear together because they solve the same fundamental tensions: distributing work across many machines, dealing with skewed traffic, handling failures, and keeping latency low. Internalize the patterns, and any new system design problem becomes recognizable.

The senior engineer's edge isn't knowing more topics. It's recognizing patterns faster. After studying these 15, when you encounter an unfamiliar problem, your brain pattern-matches: "this is like Twitter's feed but with X different" or "this is like the URL shortener but the keys are different." From there, you apply the templates and focus on what's actually novel. That's how you move from "I remember solutions" to "I can design from first principles."

How to actually internalise these patterns

  1. Try each on a blank page first. Spend 15-20 minutes designing before reading the walkthrough. Compare.
  2. Identify your gaps. Were you missing the celebrity problem? Did you forget idempotency? Did you skip the failure mode analysis? These are your weakest areas.
  3. Re-read the chapters that explain those concepts. The cross-references are deliberate — every example uses concepts from the earlier chapters.
  4. Design something for your day job. Take a real internal system at your company, work through its design as if you were interviewing about it. You'll discover questions you'd never asked.
  5. Read public engineering blog posts on these systems (Twitter, Slack, Discord, Dropbox, Stripe have all published architecture details). Compare with your design. See where reality diverges from textbook.

The patterns become muscle memory after enough repetition. Then the next system you encounter — at work, at interview, in real life — feels manageable because you've seen the shape of it before.