Many developers try to get into (project)management. That is ok I guess. But what bothers me is, that many developers do that without actually wanting to be managers. It’s just that they want to make some progress and the only career option available is to get into management and manage larger and larger teams, or leave the company to work somewhere else.
I can only speculate why this is so. Maybe managers can’t think of alternative career paths? Well, I think I can help with that. Here are a couple of things developers might consider a step up on the career ladder.
Trainer: Many of the better developers I know, love to teach their knowledge to others.
Mentor: While a trainer will do workshops, a mentor will work together with a single coworker, or a small group, to pass on his knowledge. It is a lot of work, a lot of responsibility but very satisfying when the student comes back to the mentor after sometimes with something like “I learned a lot in the time with you as my mentor.”
Firefighter: Send a fire fighter into projects which have problems. The firefighter moves in, puts out the fire and moves one to the next project/fire. It makes a job extremely interesting but also stressful.
Technical Teamlead / Software Designer / Architect: Whatever these people get called at your place, they have a larger than average saying on what tools, what technologies get used and how.
Researcher: The guy evaluating the new languages, the new tools before anybody else gets to use them.
Prophet: While the researcher evaluates what can be done today, the prophet tries to see in the future, evaluates all the hip stuff in order to separate the hype from the good stuff.
Don’t get me wrong, nobody should print business cards with these titles on. But managers should make sure the developers who should do these things know about it, get the appropriate resources. And they should make sure that these tasks a only put in the hand of the best people.