If we're talking VP/C-suite level compensation, probably not.
If we're talking engineering manager / director level, the answer is likely yes.
The issue is, the higher up you go, the less roles there are (for either manager or dev). It's usually way easier to jump from dev to manager than from dev to staff/principal engineer. There is also likely a cycle of having to prove yourself at new companies (often staff roles are promoted from within), but I am seeing more and more staff roles on job boards.
It's actually a great career move to jump into management for a period of time, pick up the skills, then jump back to dev. It would make your impact even higher once you become a staff engineer.
I don't know how useful this is. But if you love to code and don't want to manage people, it's a solid route.
If you want fast compensation increases in the short term, go for the management route.
Edit:
I chose the management route because I like support, basically. Helping people, solving problems, and seeing people grow is my favourite thing. You can do this as a dev, but I found that I enjoy this stuff more than coding.
I also love systems thinking (computers, people, process). So it's a good fit for me :)
I think in general, the management career path can lead to faster short-term gains in terms of career and compensation, but the most senior devs almost always have more interesting work, autonomy, and better compensation (EM's often make less than say, Staff/Principal devs).
I think "impact" is how you level up in either path:
The more senior you are, the more your work impacts larger parts of the organization. As a manager, you level up by running a team, then by running multiple teams, etc. You're a coach who's always helping your team grow & removing impediments to their work.
As a dev, there are multiple options:
- Evaluation of technologies
- Help setting best practices
- Mentoring the team / leveling up the technical skills of others
- Pair programming / answering questions / supporting team members
- Being involved in projects early on in their inception
- "Just being a solid contributor" on critical projects that need a particular level of quality or speed
For better or for worse, I don't think you can get to the most senior levels by "just putting your head down and coding". Both as a maker or a manager, you're going to have to learn the people/organization side to some extent.
The advantage of the technical route is it will often lead to more interesting projects and you still get to code! :)
I'm a relatively new engineering manager in an older company in Canada (turning itself into fin/insurance tech), and a big part of my role has been about breaking down silos.
The silos where created at a time when being really efficient at 'your piece' was what the system rewarded, whereas now we want to be efficient at shipping code, which means efficient value streams (from inception to production)...which has basically meant many rounds of silo deconstruction.
But I'd be VERY curious about why silos get built in the first place & what incentives are in place to make this happen...and why this is bad. To be honest, maybe I'm just idealistic, but I see silo building as not desirable.
Yes/no. It depends. Context is king.
If we're talking VP/C-suite level compensation, probably not.
If we're talking engineering manager / director level, the answer is likely yes.
The issue is, the higher up you go, the less roles there are (for either manager or dev). It's usually way easier to jump from dev to manager than from dev to staff/principal engineer. There is also likely a cycle of having to prove yourself at new companies (often staff roles are promoted from within), but I am seeing more and more staff roles on job boards.
It's actually a great career move to jump into management for a period of time, pick up the skills, then jump back to dev. It would make your impact even higher once you become a staff engineer.
I don't know how useful this is. But if you love to code and don't want to manage people, it's a solid route.
If you want fast compensation increases in the short term, go for the management route.
Edit:
I chose the management route because I like support, basically. Helping people, solving problems, and seeing people grow is my favourite thing. You can do this as a dev, but I found that I enjoy this stuff more than coding.
I also love systems thinking (computers, people, process). So it's a good fit for me :)