Hasen

Reinvent the wheel

The wheel is reinvented all the time. The wheel on a truck is not the same as the wheel on a bicycle, or a car, or a tank, or an airplane.

People who say "don't reinvent the wheel" would have you use a bicycle wheel on a truck. Don't listen to them.

As with all things in engineering, making a decision about using an existing solution vs rolling your own requires understanding.

Understand your requirements and constraints.

Understand the requirements and constraints of "off the shelf" solutions.

If they match, then maybe it's worth using that off the shelf solution.

Can you trust its quality? Will it cause you more headaches to integrate into your system than if you would have just rolled your own solution?

In the long term, is it likely to cause you friction? Examples of friction: "We can't do implement X because of the way this library we depend on works".

There is a hidden cost to over reliance on off the shelf solutions: you lose the ability to create.

This can happen in several ways:

If you can't create original solutions, are you a technology company, or are you just a service company?

To be a successful technology company, you must own proprietary technology that is 10x better than the competition.