Len and John,
Both comments are fantastic, and distressingly true.
However, this also points to the same ugly truth that I think most programmers intrinsically recognize, but few in management do. Expertise matters. Experience matters. I've seen any number of teams that "jelled", at least until the point where the crap hit the fan (and it always will, at some point in the project). Expertise just doesn't mean knowing how to write code in a given language - that's necessary just to have skin in the game. Expertise is knowing what to do when the fecal matter starts flying, knowing how to prevent it from happening in the first place, and having the confidence to wade in and get things back to a pre-fan stage - or better - as quickly as possible when it does. This is why I don't believe in the concept of prima donna programmers. I've met any number of programmers over the years who could make code sing, but who became so fixated upon their own code that they couldn't spread this expertise to others.
Of course, the only way that you do gain this experience is to encounter it in the first place. When you hire junior programmers, you're getting inexperienced programmers, which is not by itself bad. When you fire experience programmers because they are "too expensive", on the other hand, you lose that ability to train newer programmers, lose institutional knowledge, and find you keep making the same mistakes over and over again.