Over the course of my career, I’ve been asked to build something that has already been built. I always point out that the task being assigned has already been built, and point to the solution that already exists. There are several reasons why I don’t like building something that someone else has already built. Those reasons usually come down to, it will save money, it will save time, both, or it’s been done as well as it can be done.
It’ll save us money to buy it.
Almost any issue you can have with SQL, someone else has faced it before. If you’re lucky, they shared that solution with the rest of the SQL community. If enough people have faced that problem, several solutions will be released. When you have several solutions released, capitalism sets in. Market forces start acting on the prices. And prices start falling.
When the market pushes the solution to a price that is lower than my charge rate, it’s simply cheaper to buy the existing solution. I honestly feel that I have to be fair with those companies that choose to employ me. If I’m fair with them, they’ll be fair with me. If I know about a product that can do what I’ve been asked to do, It’s my responsibility to give the company the option to purchase the solution, rather than billing them for my time to reproduce the wheel.
It’ll save us time to buy it
It’s extremely rare to have a job where you have more time than tasks to accomplish. If you’re like most people, you have plenty to keep you busy. If there are other tasks I can work on, I’ll offer an existing solution, rather than build it again. That way the company and I can accomplish more tasks in less time. Efficiency is king!
Why would we want to waste time?
It’ll save us time and money to buy it.
Quite often, my first two reasons come together. This is the scenario where companies most often will choose to purchase the solution, rather than build it again. I still haven’t quite figured out how to make the case without it being a time saver and a money saver.
The best has already been done, I can’t top it.
This one was the hardest for me to admit.
No one likes to admit they have limitations, but I’ve finally gotten to a point where I feel more comfortable with the fact that others are far better than me at some things. In those cases, I have to tell my employers “This solution right here is better than anything I could produce. Buy it.”
I push myself every day to be better than I was yesterday. If I tell you this other solution is better than anything I could produce, you might want to really think about it. I’m trying to be fair to both of us.
Once the decision is made to build it anyway…
When the decision comes to recreate the wheel, how you deal with it is as important as the work itself. Push yourself to build the best wheel you can. Learn everything you can from the experience. You never know when you’ll have to build that wheel again. Take notes, and maybe you can save yourself some time in the future.
Or better yet, maybe your solution becomes the best one available.
How about that?