• I agree with those who realize that a great developer does not become a great manager. Those are two different creatures.

    The problem is an assumption that to advance in career one needs to become a boss. In fact, one could make more money as a senior architect, designer, DBA, etc. or doing CONSULTING. Consulting is the way to go if you want growth. Consultants are the best workers. Employees (programmers) may leave at any time anyway. Consultant treats the company as a client that cannot be lost. Consultant won't ever leave you, just treat him well. Consultants are not protected against termination. They have to do a good job. The only challange for the manager is to realize the difference between a true professional and a hacker.