Would you settle on a brush and then go look for a painter that could use it? Or would you rather find a good painter and then let him use the brushes he sees fit for the task. Put like that, I’d wager few would argue for the former. But when it comes to technology, it happens all the time.
Interesting discussion with lots of comments.
From 37signals a group that has produced several web-based applications for a to-do list, and project management.
I find myself coming down in the middle of this question. Wearing my “network manager” hat, I’m in favor of as much standardization as possible, using development tools and operating system platforms which are well understood, and have support beyond that of a single local person. Wearing my “programmer” hat, I agree more strongly with the “good painter” idea. One thing I would always ask a programmer is: “What sorts of third-party tools and libraries have you developed/bought/learned that will leverage your ability to program in [insert programming language here…] ?”
The difference in productivity between an “outstanding” programmer and a merely competent one can be staggering. If you are paying by the hour, then you could be talking about a factor of 10 in cost difference…building an application for for hundreds instead of thousands, or thousands vs. tens of thousands.
Further down in the discussion there is a mention of passion…of inducing a person to not only be enthusiastic about your problem, but even passionate. I would settle for competence and enthusiasm over passion and incompetence any day.