Some humans (engineers in particular) have a painful cognitive issue that hinders decision making and leads to, for example, analysis paralysis. The problem is that if they are given two options with similar expected value, they will get hung in the mire of choosing the correct option, at pretty much any cost.
Here’s the thing: a lot of times, decisions are hard because there are no good choices, or all good choices, or because the choices are so similar that spending a bunch of time deciding the best one is really a waste.
A lot of the real growth as an engineer and as a person comes from figuring out the difference between a 2 and a 5, but the close calls are a lot more interesting to us (and a lot less valuable, really), so we tend to dig into the difference between a 4.5 and a 4.8 a lot more.
Software holy wars definitely fall into this category.
ruby? At the end of the day, the difference between PHP and Node.js as a platform is something like a fraction of a point (both proven tools); all of the real edge in their differences comes down to your team’s expertise and interest.
Do close decisions matter though? Yeah, but only in hindsight. You can’t take a close decision, run it against a sample size of 1, and then have a good idea of whether or not you made the right call. Sometimes, good plays lead to bad outcomes, and bad plays lead to good outcomes. The key to making better choices is to have a better understanding of what constitutes a good choice. Using a new technology for no reason is probably not a good choice, unless you just want to learn something.
Here’s the takeaway: pay attention when you have a hard decision. Why is the decision hard? Is it because the choices are close? Is it likely you’ll get enough information to make it “not close” in a reasonable amount of time?
If it’s really close, just flip a coin.