GENERAL ADVICE (SO THAT YOU DON'T SHOOT YOURSELF IN FOOT)
Not all tools are created equal and not all optimization are worth doing (considering risk and effort vs. return)
Some of the common scenarios you set yourself for failure:
1. "I can build a better tool from scratch!"
- Chances are you probably can't. And even if you can, it won't be worth it.
- To give you a web dev example, hundreds of engineering years went into tiny js libraries like jQuery, and yet, countless developers have tried to replicate it with a 90% similar feature set, only to fail hard, again and again.
- Even popular clones like Zepto, couldn't keep up when they realized that jQuery fixed a lot more cross-browser maintenance than people thought. Even in modern browsers.
2. "This 2 week old build tool built by this random dude is 20% faster than Gulp! Get in there!"
- Now we're talking idealistic versus pragmatic.
- Yes, that 20% speed increase will be ideal. But sticking to a tool that is well supported by the community, is pragmatic.
- Gulp might be a little slower than someone else's new tool. But you'll find answers for your questions on stack overflow, plugins for virtually anything and can rest assured that the tool is going to be maintained by its creators.
- Don't just trust your instincts, but consider the long-term value for your project.
3."This tool is self-contained and does everything we want right now."
- So, it's neatly contained. All in package, huh? Well, be careful with those.
- If a tool promises to do it all, and stays away from offering any sort of connection points, say, in API or modules, stay away from those. Life is too short to buy into an ecosystem that you can't escape from, especially if the success of your site depends on it.
4."If the user triggers the Konami code, it could theoretically result in app failure."
- And finally, you should be careful with any micro optimizations that are just not worth it.
If you are doing an optimization of your work floor that takes, say four hours, and cuts a second away from a task you perform once during the day, you need to do it for 40 years to justify the investment. And in 40 years, you could be sitting in an intergalactic flying car, exploring the outer realms of space instead.