đźš« Not Invented Here Syndrome đźš«
Based on The PrimeTime's video on YouTube. If you like this content, support the original creators by watching, liking and subscribing to their content.
“Not invented here” can be either ego-driven refusal or a strategic choice; the deciding factor is whether reinvention is tied to business-critical differentiation.
Briefing
“Not invented here” syndrome isn’t automatically a virtue or a flaw—it’s a management reflex that can either protect a company’s core advantage or waste years rebuilding what already works. The central tension running through the discussion is credit and control versus engineering pragmatism: teams may reject outside libraries and platforms to avoid losing ownership, yet that same instinct can also be the only way to build a defensible moat when the dependency is truly central to the product.
The conversation starts with a personal audit of Netflix-era engineering decisions, including building bespoke networking components and a WebSocket implementation. That raises the question of intent: was the work a strategic move to enable live updates and tight integration, or a “we’ll do it ourselves” habit? The takeaway is that the label “not invented here” can hide two very different realities—sometimes reinvention is necessary for performance, reliability, or differentiation; other times it’s just organizational pride.
A broader critique follows, aimed at the culture of reinventing everything even when the cost is obvious. The discussion points to dependency bloat and “reinventing the wheel” as a recurring software failure mode, illustrated by the absurd popularity of tiny utilities like left-pad—an example used to argue that modern teams often overvalue self-reliance while underestimating the operational drag of maintaining custom code. The speaker also pushes back on simplistic “always reuse” thinking: code reuse becomes harmful when it turns into over-abstraction, feature flags, and boolean-parameter spaghetti that makes systems harder to reason about and harder to change.
The most concrete guidance emerges as a rule of thumb: destroy dependencies at the level where the business truly needs control. Hand-rolling core infrastructure like HTTP servers is usually unnecessary, but building or owning the parts that define the product’s competitive edge can be justified. Examples range from Netflix’s internal tooling evolution (moving from a custom build system toward webpack and then questioning tradeoffs) to work at companies like Workiva, where custom rendering and platform-specific capabilities were built because they were essential to the core product experience.
The transcript also tackles the organizational side. “Not invented here” is described as a classic management pathology—teams refusing outside tech not because it’s worse, but because they can’t take credit for it. Yet the counterweight is that mediocre teams may need fewer dependencies to reduce cascading upgrade failures and brittle integration. In practice, the right balance depends on team quality, incentives, and whether external components deliver on time and with the reliability the product requires.
Finally, the discussion broadens into outsourcing and platform dependence. Outsourcing can be a nightmare when customer-facing functions are involved, because partners may interpret “prompt delivery” differently and customers can’t reach the company directly. Even cloud infrastructure like AWS is treated as “good enough to get it done,” with the surrounding ecosystem often requiring extra layers to make it usable. Across these examples, the throughline is consistent: reuse and reinvention both have costs, and the decision should be tied to business-critical differentiation—not ego, credit, or blanket ideology.
Cornell Notes
“Not invented here” syndrome is portrayed as a double-edged habit: teams may reject outside technology out of pride or credit-seeking, but reinvention can also be a strategic choice when the component is central to the product’s moat. The discussion argues against two extremes—blind reuse and blanket reinvention—because both can create failure modes (over-abstraction and brittle dependency chains, or wasted years rebuilding stable tools). A practical rule emerges: decide at what level dependencies must be eliminated based on business-critical needs, not ideology. Examples include Netflix-era custom networking decisions, Workiva-style custom rendering for core functionality, and critiques of tiny-but-popular dependencies like left-pad as symbols of misallocated engineering effort.
How does “not invented here” differ from a legitimate strategic build decision?
Why is “always reuse code” criticized, even though reuse is generally praised?
What does the left-pad example stand for in the argument?
What rule of thumb does the transcript offer for when to reinvent versus depend?
How do team quality and incentives affect whether dependencies become a problem?
What’s the stance on outsourcing and cloud platforms like AWS?
Review Questions
- When does the transcript treat “not invented here” as a credit-seeking pathology rather than an engineering strategy?
- What design failure modes can arise from aggressive code reuse, and how are they described?
- How does the “level of dependency control” rule change decisions about reinventing infrastructure versus building differentiating features?
Key Points
- 1
“Not invented here” can be either ego-driven refusal or a strategic choice; the deciding factor is whether reinvention is tied to business-critical differentiation.
- 2
Blind reuse can backfire when it produces over-abstraction, boolean flags, and branching logic that makes systems harder to maintain.
- 3
Tiny dependencies (like left-pad) are used as examples of misallocated engineering effort when trivial functionality is outsourced and later becomes operational drag.
- 4
A practical decision rule is to eliminate or own dependencies at the level where the product needs control—avoid reinventing generic standards like HTTP unless there’s a compelling reason.
- 5
Dependency churn and cascading upgrade failures are more likely when teams are not strong enough (or not resourced enough) to manage integration complexity.
- 6
Outsourcing customer-facing functions and fulfillment can degrade service because partners may interpret expectations differently and customers can’t reach the company directly.
- 7
Cloud infrastructure may be “good enough” for core capability, while the surrounding tooling and UX can still be painful enough to require third-party fixes.