To really understand a tool, I do like to create my own version of said tool. It helps me understand what the tool is actually doing and the hard parts of the problem it is trying to solve. Understanding those things can help you make better decisions about how to use the tool.

That being said I would rarely recommend using the roll-your-own over the tool in a real project. A few reasons for this are:


Your version has only had you use and test it
It's hard to hire people that have knowledge of your custom tool
You're the only person who can fix it if there's a problem


When to use tools vs custom development?
Which derailleur should I use with a Shimano 7 speed freewheel 14-34T megarange in order to prevent the derailleur from rubbing the cassette in 2nd.
