Indeed, now there are so many tools that you can't just expect a reasonably experienced programmer to just know the tools that you're using.
You have to either:
a. stick to old and/or boring and/or obviously inferior tools and programming languages, or
b. expect to pay the price of the time lost by programmers joining your team to learn the tools that you have chose or "worse", to actually survey all the options and pick the best tools for the project
...I know, the evolution of technology needs diversity in everything, including tools, so that some form of "selection" can actually push forward the best alternatives, but just as in nature and biology, "evolution" has huge prices to pay (in biology the most tragic prices are mortality and cancer, in software engineering I don't know what their analogues are, but I dread to think that we're already close to facing these "prices"...).
Indeed, now there are so many tools that you can't just expect a reasonably experienced programmer to just know the tools that you're using.
I can think of at least two further difficulties that come with the explosion of available tools:
1. It’s hard to know whether a tool is actually worth using at all. Many tools sound appealing because you’re familiar with the problem they aim to solve but not yet familiar with all the quirks and edge cases and hidden costs of using the tool instead.
2. Many tools look promising in their early days, when they are prime examples of enthusiasm driven development. It’s another thing to ask whether the tool is still going to be in active development five years down the line, when there are newer and shinier things to work on. Even if there are, your 100,000 line code base might still need that security fix or one of the 10% of missing features that were on the roadmap when you first started integration.
I’m all for using the right tool for each job, and I’m certainly in favour of using good tools rather than doing everything the hard way, but figuring out which tools those are gets harder as tools proliferate.
I'm feeling this way about JavaScript now. So much so I almost don't want to use JavaScript at all. There are so many JS frameworks and libraries right now; they can't possibly all survive but who knows which ones will?
True, this is why I prefer old tried and true languages and tools, as much as I'd love to live on the bleeding edge. The day is just too short to use CoffeeScript/Dart/Haxe when there's JavaScript. Completing projects that seem "easy" is hard enough to begin with.
c') tooling: learning/debugging the latest test tool, test runner, deploy tool, source management system, CI system, etc. etc.