I consider myself a creative person. It’s hard to be a developer without a passion for creation. I love inventing new things and exploring new ideas. Being open-minded is important to me.
There are things in life, though, that are better kept unchanged. Reinventing the wheel doesn’t always work. In fact, a new wheel is hardly likely to beat the one we already have.
I’m not saying we should stop exploring new ideas. We would probably still live in caves had we not explored new ideas. However, for the most part, we already have it figured out.
I’ve seen people try to implement a click event by measuring the time between a mouse-down and a mouse-up. I won’t go into how unnecessary that was or how buggy.
Before you try implementing your own solution, check if there’s a known one that works. Quite often, you would find the existing solution is rather elegant.
Opting for an existing solution will save you time twice.
The first time is when you solve your problem quickly. The solution is already there. It’s tried, tested and it works.
The second is when you face problems with the solution you implemented. You will likely find many others who faced the same problem and solved it already. Reddit, Stackoverflow, even Google. They’re all there to the rescue. You’d find an answer.
When you implement your own solution, the situation is different. You’re in uncharted waters. No one, or hardly anyone, has walked down your path before. When you get stuck, you won’t find easy answers. You may not find answers at all. You’re on your own.
So this is my advice to you. Stay on the beaten path. It’s beaten for a reason. Avoid isoteric software libraries. Look for common solutions before implementing your own.
Stay on the yellow brick road if you want to get to Emerald City. Stray and… Who knows what you may face. There be monsters. You have been warned!
Cover photo taken by Seph Lawless©, from Bizarro: The World’s Most Hauntingly Beautiful Abandoned Theme Parks