The System Design Arms Race Nobody Asked For


LinkedIn has developed a peculiar talent: turning reasonable skills into absurd expectations through repetition, virality, and just enough intimidation to pass as “career advice.” Few things embody this better than the now-ubiquitous system design mega-lists—Airbnb, Google Docs, Spotify, Instagram, Kafka, S3, WhatsApp—presented as
baseline knowledge for engineers preparing for interviews.

The implication is never stated outright, but it is loudly implied: if you are a junior, you should know these systems; if you are a senior, you should be able to design them; and if you hesitate, you are somehow behind the curve.

This is not education. It’s myth-making.

From Engineering to Architectural Fan Fiction

Each system on these lists represents years—often decades—of evolution, shaped by teams numbering in the hundreds or thousands, responding to traffic patterns, business pressures, regulatory constraints, and failures that most companies will never experience.

They were not designed in a whiteboard interview. They were not built “cleanly” from scratch. They were not optimized because it was fun.

They were optimized because reality forced them to be.

Reducing these systems to interview case studies strips them of the very context that made their architectures necessary. What remains is architectural fan fiction: boxes, arrows, buzzwords, and confident hand-waving.

How System Design Interviews Lost the Plot

System design interviews once had a defensible goal. They tested whether a candidate could:

  • Ask clarifying questions

  • Identify constraints

  • Reason about trade-offs

  • Avoid obvious failure modes

  • Scale appropriately, not maximally

Somewhere along the way, that goal was replaced with spectacle:

  • “Design Instagram.”

  • “Design Uber.”

  • “Design WhatsApp.”

No users specified. No budget. No existing system. No regulatory environment. No on-call rotation. No tech debt. No political pressure from management. No deadline.

Just vibes.

The exercise rewards performance, not judgment. The best answers aren’t the most realistic ones—they’re the ones that mention the most fashionable nouns.

The Senior Engineer Myth

Behind these lists lurks a deeply corrosive assumption: that a “real” senior engineer should be able to recreate any hyperscale system on demand.

That assumption is nonsense.

A real senior engineer knows:

  • When not to scale

  • When a single database is sufficient

  • When queues add more failure modes than they solve

  • When “event-driven” means “good luck debugging this at 3 a.m.”

  • When consistency matters more than throughput

Most production failures do not happen because a system wasn’t Instagram-scale. They happen because someone designed for a scale that never arrived—and paid the complexity cost anyway.

The Recruiter’s Checklist Problem

The most damaging part of these viral posts is not that engineers read them. It’s that recruiters and hiring managers absorb them uncritically.

They don’t read the linked material. They don’t understand the architectures. They internalize the aesthetic.

  • “Did the candidate mention Kafka?”

  • “Did they talk about sharding?”

  • “Did they bring up global replication?”

Never mind that the company has:

  • One region

  • One database

  • One backend service

  • Traffic that fits comfortably on a Rasbery Pi

Reality becomes secondary to checklist compliance.

Hyperscale as Anti-Pattern

Here is the uncomfortable truth rarely stated out loud:

Many of these architectures are anti-patterns at small and medium scale.

If you built Instagram’s architecture for an internal business app, you would not be praised as visionary. You would be asked why the system is fragile, opaque, expensive, and impossible to reason about.

Complexity is not free. Abstraction is not neutral. Every distributed component is a new way for things to fail.

Systems earn their complexity through pain. Borrowing it prematurely is malpractice.

What This Culture Produces

This arms race produces predictable outcomes:

  • Juniors feel inadequate before they’ve written meaningful production code

  • Seniors second-guess solid, boring designs

  • Teams over-engineer trivial problems

  • Interview performance diverges further from job performance

Most insidiously, it teaches engineers to optimize for impressiveness rather than fitness for purpose.

The Skill That Doesn’t Go Viral

There is a skill that never appears in these lists and never trends on LinkedIn:

Designing what is needed, not what looks impressive.

That skill involves:

  • Saying “no” to unnecessary scale

  • Shipping something understandable

  • Prioritizing operability over elegance

  • Choosing boring technology on purpose

  • Accepting that most systems will never need to be legendary

It doesn’t sell newsletters. It doesn’t generate reposts. It doesn’t intimidate newcomers into saving posts “for later.”

But it’s the difference between software that runs quietly for ten years and software that collapses under the weight of its own architecture diagrams.

A Final Thought

System design is not about recreating monuments. It is about solving this problem, for these users, with these constraints.

Any culture that forgets that—and replaces judgment with mythology—is not raising the bar.

It’s moving it into the clouds, then blaming engineers for not having wings.

Comments