Why Do People Say “Don’t Reinvent the Wheel”?
Asked by
MellowPine42
I keep hearing the phrase "don't reinvent the wheel," especially when people talk about programming and other kinds of work. What does the "wheel" represent in this expression? What are the actual consequences of creating something from scratch when an existing solution is already available? Is reinventing the wheel always a bad idea, or can it be useful for learning?
Answers
A simple analogy is moving a heavy crate. You could spend months designing and building a complicated cart, or you could buy a dolly and move the crate immediately. The custom solution might teach you a lot, but it delays the actual goal. That’s the basic idea behind the expression.
Reply to this answer
The phrase means that you shouldn’t redo basic work that has already been solved well. In programming, that might mean using an established library instead of writing your own JSON parser, formatting function, or other general-purpose tool from scratch. Building your own version can be worthwhile for practice, but in a real project it may waste time, increase maintenance costs, and introduce bugs.
Reply to this answer
It depends on the context. If you’re learning, experimenting, or trying to understand how something works, reinventing the wheel can be a great exercise. The warning mainly applies when someone is paying you to finish a job and a reliable solution already exists. Security-sensitive areas such as cryptography are an especially strong case for using trusted, tested tools rather than creating an amateur replacement.
Reply to this answer
Even a supposedly better replacement can be difficult to adopt because everything around the old solution already depends on it. People need training, existing systems need integration, historical data may need conversion, and managers and customers need confidence that the new option is reliable. That’s why a new design has to offer a major advantage—not merely be different—to justify replacing something established.
Reply to this answer
Add your answer
Answers are reviewed before publication.
SilverNook28: So it’s mostly a workplace concern? If you’re unemployed or just practicing, there’s no customer deadline, so experimenting is generally fine.