hiring only the best
I've been thinking about the implications of various studies in Software Engineering that it is not so much the quality of the process one goes through to make software but the quality of the programmers that determines how good the software will turn out to be. The Mythical Man-Month by Brooks says "If a 200-man project has 25 managers who are the most competent and experienced programmers, fire the 175 troops and put the managers back to programming." In Joel Spolsky's article the guerrilla guide to interviewing is another article that sort of gets at the same thing. He recommends only hiring the superstar programmers and goes onto describing an interviewing process that allows you to find them.
The point is this, it seems that if you want to have a company that produces real good software you need to hire only the most capable programmers and nobody else. I think that points to a limitation of outsourcing. Sure outsourcing programmers will produce something good in many cases but writing good code is a difficult process and outsourcing just makes the problem more difficult.
It also points out that I need to become a better programmer. Okay, back to studying.
