A solution for that is promoting the best developers that don't want to manage into technical leadership roles. They can still create things and impact the team positively, and will not suffer with managerial tasks.
> if Willie Mays played for your baseball team would you promote him to manager?
I don't know who Willie Mays is (not in the US), but I'm pretty sure elite athletes get top notch salaries, a lot of times bigger than managers or coaches.
People shouldn't need hierarchy just to remain professional and follow someone else's lead.
You stay in the company long enough and you write less code and spend more time managing people and processes as now you own your projects as the most knowledgable person for these projects.
You start hating it (I did) and look for a pure programming role. But you are not in your twenties any more and you have to align with and follow someone else's designs and decisions and you can't since you are experienced and know more and you have to push back and argue and end up going to lead/architect role again and writing less code again.
Thankfully, many if not most top tech companies in the valley realize this and have parallel management and IC tracks (at least for software engineers), with compensation the same. That said, even as an IC, at higher levels the scope of impact you're expected to deliver at some point exceeds what one person working alone can have, so there's still lots of people leadership skills needed to advance: working cross-func…
The following three are independent yet often conflated - management, leadership, and mentorship.
Thankfully, many if not most top tech companies in the valley realize this and have parallel management and IC tracks (at least for software engineers), with compensation the same. That said, even as an IC, at higher levels the scope of impact you're expected to deliver at some point exceeds what one person working alone can have, so there's still lots of people leadership skills needed to advance: working cross-func…
It's _vastly_ harder to get ahead on the "engineering" track. At Google, for instance, it's to the point where as a manager you barely need to have a pulse to get promoted (as long as your reports are any good), whereas on the technical ladder promotions to Staff level and above are stupid hard and downright nondeterministic. That's why many engineers there, who have little to no leadership skills or inclinations, en…
Google aside there is nothing worse than getting stuck at middle management in a software corp after 40 - 50. You are expensive, replacable and disposable.
You stay in the company long enough and you write less code and spend more time managing people and processes as now you own your projects as the most knowledgable person for these projects. You start hating it (I did) and look for a pure programming role. But you are not in your twenties any more and you have to align with and follow someone else's designs and decisions and you can't since you are experienced and kn…
It's _vastly_ harder to get ahead on the "engineering" track. At Google, for instance, it's to the point where as a manager you barely need to have a pulse to get promoted (as long as your reports are any good), whereas on the technical ladder promotions to Staff level and above are stupid hard and downright nondeterministic. That's why many engineers there, who have little to no leadership skills or inclinations, en…
Google aside there is nothing worse than getting stuck at middle management in a software corp after 40 - 50. You are expensive, replacable and disposable.
Or before 40 for that matter. Middle management is miserable existence. That's probably why they get paid so well, to dull pain a little. :-)
For many developers, they turn out to be good at project management, its not much different conceptually than being an architect, this issue is, once you 'level up' you're expected to stay there, rather than moving back to develop for some period of time, and letting the next guy get tapped for project management - It think more companies rotated those roles around, they'd see greater retention, greater employee happiness, and probably lower costs - as an engineer, I don't want to be a PM forever, but I might be happy spending 1/3rd of my time over a given long term period wearing that hat.
You stay in the company long enough and you write less code and spend more time managing people and processes as now you own your projects as the most knowledgable person for these projects. You start hating it (I did) and look for a pure programming role. But you are not in your twenties any more and you have to align with and follow someone else's designs and decisions and you can't since you are experienced and kn…