Note: This document is work-in-progress. Please don’t publish it on news sites, or otherwise link to it in public without the author’s permission. Private linking is acceptable.
It makes sense to choose a technology which you know very well, so you can overcome problems more quickly. However, smart programmers can learn different technologies very quickly. As Spolsky notes:
The recruiters-who-use-grep, by the way, are ridiculed here, and for good reason. I have never met anyone who can do Scheme, Haskell, and C pointers who can’t pick up Java in two days, and create better Java code than people with five years of experience in Java, but try explaining that to the average HR drone.
If you expect that you will hire the best developers, as I pointed earlier, then they should probably be able to pick up something new fairly quickly. If, on the other hand, you’re going to hire bad programmers, then you’re likely to be screwed - even if they have extensive experience with their native technology.
So you should choose the best technology - not the one for which you expect to find the most “experts”.