Reinvent the Wheel

What “Don’t Reinvent the Wheel” Is Supposed to Mean

  • Many commenters argue the phrase is business-context advice: optimize for time, reliability, and focus, not personal curiosity.
  • Others say it’s overused as dogma, often thrown around online without understanding the specific problem or context.
  • Several distinguish “reinventing a wheel” (starting from scratch) from “improving a wheel” or building a specialized variant.

Reinventing as a Learning Tool

  • Strong agreement that reimplementing existing systems is an excellent way to gain deep insight—“you don’t really understand it until you’ve built it.”
  • Debate over whether rewriting from scratch is the “best” way to learn:
    • One side: it’s expensive but uniquely effective.
    • Other side: you can learn progressively via reading, experimentation, and smaller exercises without full rewrites.
  • Personal stories: people building their own ML libraries, web servers, schedulers, etc., report major conceptual gains.

Production, Work, and Startups

  • At work, reinventing is usually constrained by deadlines, customer value, and runway.
  • Common view:
    • Reinvent for core differentiating tech.
    • Reuse for commodity pieces (auth, crypto, date handling, web frameworks).
  • Some note extreme NIH in enterprises and startups leading to fragile in-house “wheels” that never reach library quality or maintainability.

Dependencies, Complexity, and Bloat

  • A major pro‑reinvention argument is avoiding unnecessary dependencies, transitive bloat, and opaque behavior.
  • Examples: pulling huge libraries for trivial use, or frameworks that bring hundreds of packages for simple tasks.
  • Suggested middle grounds:
    • Vendor and trim existing libraries.
    • Write small, targeted implementations when the general solution is overkill.
  • Crypto is repeatedly cited as a domain where “don’t roll your own” still strongly applies.

When Reinvention Makes Sense

  • Niche or tightly scoped problems where general tools are misaligned or overengineered.
  • Cases where existing “wheels” encode bad assumptions, poor performance, or unfixable complexity.
  • Practice in invention/innovation itself: solving “old” problems builds skill for future novel ones.
  • One detailed example describes “delinking” binaries—essentially reversing linkers—to enable new forms of reverse engineering; offered as proof that challenging the standard approach can yield world‑class tools.

Risks and Nuance

  • Rewriting often underestimates hidden complexity; many “new wheels” fail on edge cases, security, or long‑term maintenance.
  • Chesterton’s Fence is invoked: understand why the old solution exists before tearing it down—but also recognize that some fences were built badly.
  • Consensus: reinventing is valuable, but context, stakes, and humility matter; balance curiosity with responsibility.