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
Post a Comment