Sorry for dragging this OT....
Well, I've worked in many different industries in computers.
You would think a large financial company would be run in a professional way, so did I before joining. This place had a staff of about 5,000 and over 300 IT/techie people.
In this particular company the best coders are made into managers although I knew one coder who refused to manage and his salary suffered because of it - company policy puts everyone into certain salary grades, computer programmers can only reach certain grades however good they are. But if this guy was happy to sacrifice salary for what he wanted to do then good luck to him. Most people naturally took the money and moved up the ladder.
The company did this I guess becuase it is cheaper to recruit newer positions from within and they presumed that technical knowledge of the system would be a better requirement than basic interpersonal skills.
How can you make someone who spent most of thier life sat in front of a screen and talking to nobody suddenly have the job if giving staff appraisals etc... People are natural managers/leaders however much the company tries to spend on management training, which in most organisations is £0.
So I witnessed in my 4 years at the company at least 10 people go up this route. With the exception of a few most were crap managers, with undermotivated staff.
How did the company address this? Recruit more managers from within. So before the avergae coder and the Director of IT there would be about 4 levels of "management", middle-management and all that rubbish. This resulted in code signoff taking at least twice as long and bright ideas never reaching the ears of those who could authorise development time on them, which in turn turns your best programmers into pure doers rather than thinkers, therefor the whole system/project you are developing suffers.
This was just an example of one company, I have seen many more.