In my experience Paretto Principle applies to programming too: 80% of the work is accomplished by 20% of the developers and vice versa. OK the numbers may be exaggerated. In reality you will have something like 20% of the employees doing 50% of the work (by work I mean good work, not merely lines of code). It's actually more like a bell curve. So in a team of 10, you will have 1 hero, 2 great guys, 4 average and 2-3 pathetic ones.

A lot of companies use the Bell curve to weigh appraisals. So pretty much no matter how bright your candidates are they will fall into their levels. You cannot have a team where everyone is at the same level. Doesn't happen.