We need talented coders to solve tough problems, and we need average programmers to tackle mundane tasks. Both are necessary
Absolutely. What we don't want or need is deficient employees. We do need people who are willing to just do a job, and do it well, but who have no need to star at something.
The rating system you mentioned is assinine because it defines someone as deficient even if they are a star. This is just another example of the just plain stupidity that "management gurus" push.
Seriously, what if we had a team of Stroustrup, Ritchie, Kernighan, Jobs, Scott Adams, Torvalds and Donald Knuth? Can anyone seriously consider rating any one of them as a failure?
The concept of this rating system relies 100% on the assinine theory
that every team is stratified, with some people being better than others, and some being worse than others. While this may be statistically true across a large sample, it is not true in every team. Further, the theory demands that those who may not be quite as good as the best people, are rated as substandard!
This drives me absolutely batty!
I once worked for a guy that drew a grid on a whiteboard, and started placing his employees in each quadrant. He went on to explain how the people in one quadrant were failures and needed to go, the people in the opposite quadrant were stars and needed to stay, and everyone else was deficient in some way or other, and needed to become stars or get fired! Sure, great idea.