This trope of "growing" from an engineer to a manager needs to die. I grow as an engineer when I learn new stuff or become better at building things. Becoming a manager is changing jobs, not growth in any meaningful way. Not even in salary in many places
If you make it to my comment, please - do not go into management for the money. If you want to build, then remain an IC. If you want to grow other engineers, further THEIR career, make THEM better - go into management.
The friends of mine who ended up in management for the money and complain about their reports make me so angry.
Your point is that managers are more upwardly mobile, which is fair, but that doesn't mean when you make the switch it is a promotion. G9 IC -> M0 will not increase your salary. It does grant you more power, but that is not a promotion per se.
The other thing to watch out for is manager growth over the last 10-15 years was a result of the structural needs of an unprecedented tech bull run. Now that the industry has moved into belt-tightening mode, the heaviest scrutiny is falling on managers. The type of political games a typical 35 year-old EM (5 years coding, 10 years EM) may not be as effective as they were in the previous environment. There are a LOT of EMs getting pipped or knocked back to IC these days, whereas ICs with a bit of product/UX sense, ability to think a bit beyond their silo, and willing to work on "boring" business applications will continue to be highly valued, especially given the amount of dead weight that has found its way in by grinding leetcode.
It’s true but for most people in practice they won’t make it to L8 either as IC or manager so it’s really more a question or do you want to finish your career as an L6 IC or manager.
It really depends. Our company (FAANG equivalent) has a lots of high ICs. There are lots of high level ICs because there are far fewer Techlead Managers who covers both sides. But tl managers are way too hard so most ppl pick one track to stick with.
High level ICs have LOTs of weights on the technical directions. They are not replaceable by the managers.
I would also say that being an engineer at L8 is a meaningfully different set of skills than L7. The whole ‘what got you here won’t get you there idea’ starts at L7 for either track…
I don't think what you described is a promotion? M1 = IC6, M2 = IC7, etc as you said. As far as the number of directors and VPs, sure there are probably more but I would describe that more as "it is easier to get promoted as a manager than as an individual contributer past IC6"
However... This is starting to change. We now have engineers reporting to higher levels, so basically each manager has an equivalent IC reporting directly to them. In theory this means the numbers are more equivalent.
Converting from manager to engineer at the same level requires a special test in at least one FAANG company. Doesn't that mean going from manager to IC is a promotion? And then obviously the other way around must be a demotion?
I think it is growth or at least growth opportunity.
Acquiring incremental engineering skills is great and we should all do it. But let's admit that it's just that - incremental. You go from being a good engineer to slightly better engineer- something you already are.
When you pivot to management or something else that's more different to you - you are taking on a bigger challenge and there's no guarantee of success. In order to succeed you need to hone a whole different set of skills - and if you manage to do that, you will certainly have grown in a real way.
I totally get the sentiment that going into management isn't the only way to advance a career and I agree. I am just saying that those who take that path indeed open themselves up to a challenge and evolution.
You are taking on a different challenge, not a bigger challenge. Almost all of your comment could equally describe going from being an engineer to being a dog walker, or a sous chef, or a roofer. Entirely different, and in your new career your prior skills will rapidly atrophy and become marginal.
In my closing on 30-year career in this industry, "managers" have been the least important part of any team, and had the least impact on success or failure. I'm not anti-manager at all (although I have spent my entire career trying to stop people who think they are rewarding me or giving me a promotion by giving me more "manager" duties. I have zero interest in deciding compensation or going to more meetings), it just truly is a position that is the closest to fungible. Everyone fear mongers about AI replacing engineers, but in the real world it could far more easily replace manager level resources.
I just don't like how often it's implied that management is the inevitable next rung on the ladder after staff or lead engineer. As if I'm not ambitious enough because I just want to be a good engineer. Employers sometimes dangle the management carrot in front of me, and some people have been outright confused when I tell them I don't covet a management role.
What needs to die is this trope. Few places cut salaries when people move to EM role. This might be true for some big tech companies, but even then it's only in the beginning. If you look at companies that have unified levels for SDEs and EMs (Google, Amazon), you can see that on the same level EMs have slightly higher TC.
Not to mention that there's a whole world outside of big tech where moving to management is considered a promotion (and often the only way to grow, because dual career ladder is not implemented everywhere). The cases where EMs make more than SDEs are really way more common than the reverse situation.
I don't get this comment. I guess because I think we are not aligned on what a manager is or maybe our engineering styles are very different. For me a manager is someone who leads through influence, in engineering managers lead towards an engineering solution. To me it just feels like a different way to solve the same class of problems, just bigger. I absolutely feel like I am doing engineer, the difference being solving bigger problems and a lot fewer problems are being directly solved by me. How do you see a management position?
IMHO engineers should also (and should be expected to) lead through influence. In my mind, as engineers grow they should be expected to tackle problems and influence solutions of increased scope, complexity and ambiguity.
Junior engineers should be able to drive smaller, well scoped projects.
Senior+ engineers should be expected to tackle complex, cross-org, ill-defined technical challenges, examples include technical mergers of company acquisitions, large scale migrations of business critical systems, technical design of big bets (also analysis on which big bets to take), evaluate new technologies/platforms, dev tooling to multiply productivity, etc
A lot of this requires buy-in and stakeholder management to succeed.
On some it might be an architect level engineer who also manages the team. In others it'll be nothing more than a middle manager that only will see code on their spare time. And it can be everything in between.
So depending on the kind of move it will not have anything to do with engineering and everything to do with managing. And that's HARD. Changing your whole set of skills for another overnight it's not pleasant.
Yes and no. It's a common trope at many tech companies that these are two completely separate tracks, with no special upside to either.
But then, here's the reality: any large company will have a new for an army of directors and VPs, compared to only a handful of ultra-senior, visionary engineers. Take Google and compare the ratio of Jeff Dean-type folks to senior managerial staff collecting similar paychecks.
So yeah, if your goal is to retire early without depending too much on luck or on being exceptional, management is your career growth path. For better or worse.
> I grow as an engineer when I learn new stuff or become better at building things. Becoming a manager is changing jobs, not growth in any meaningful way.
That's a very linear outlook. One can also grow be expanding the base of skills one has, and that often comes by shifted to adjacent jobs where you can capitalize on your first skill. There's some benefit in engineers who want to grow by transitioning to manager: nobody wants a non-engineer as your manager/leader - how would they understand your work or attract fantastic talent?
Now, don't get me wrong: I'm not saying for an engineer to grow one has to become a manager, but it is a legitimate strategy.
in a lot of places they refuse to let engineers become managers. Technical experts, distinguished engineers, CTOs, etc, but management is distinctly different then writing code. Human beings are not computer programs. Being good at one doesn't mean you'd be good at the other whatsoever.
It's a different set of tasks and skulls but having a background in the relevant domain is in my opinion required. Working in ML, having a manager that doesn't understand statistical significance, or even key metrics like precision and recall is a recipe for unhappy employees and bad decisions.
I think that this has been somewhat nullified by the changes over the last few years where managers are supposed to be people managers exclusively, while high level ICs supposed to create direction and evaluate technical merit.
Agreed. I’ve done both, and while a good Engineering Manager has to be a good engineer (how is one supposed to supervise something they don’t understand), mastering one skill set more or adding a second one isn’t more or less “growth”.
While you can absolutely be a manager without extensive IC experience, most people will benefit greatly from having deep IC experience before becoming a manager.
Nobody goes from engineer to CEO with a million dollar golden parachute for doing a terrible job. As an engineer you work your ass off for someone else to take all the credit and leave you homeless.
It’s growing - hell it’s escaping Getting as far away from working constantly for no reward and more goddam leatcode Interviews where 25yo who know nothing gatekeep your career - maybe you live in a different reality than I do, but I can always just build for myself at home.
People do not go from an engineer to CEO full stop. And also, plenty of CEOs with a million dollar golden parachutes do terrible jobs. So does large parts of management.
When I gradually became a manager, I continued to be better at building things, not only with my hands, but also by aligning and enabling other engineers and entire teams. So in a grand scheme of things it is the same way, with greater impact and responsibility.
I think of it as horizontal vs vertical. An IC grows horizontally over their career as they learn new technical things. A manager grows vertically as they move up the chain and are managing more and more people.
To put it politely I have a distaste for being referred to as an ‘individual contributor’ (or even worse a ‘resource’). I also don’t like being ‘managed’ and have gained little from ‘line management’ over 20+ years developing software systems.
I do however find it extremely motivating to help a true leader solve their problems in a self-organising team of collaborative peers.
I can’t fathom why so many software organisations are still structured for hierarchical command and control, with the trend of good engineers being ‘promoted’ to management?
Yes I think we need more leadership: with organisations cultivating a culture of leadership, communication, openness and trust. Everyone can display leadership skills depending on the context/task within a team. It is not something reserved for the ‘manager’ (appointed leader).
Do we really need more ‘management’? I don’t think so. Management != Leadership.
Would be keen to see some more articles along the lines of ‘Growing leadership skills for engineers’.
The professional managerial class have completely taken over most tech companies now. 'Technologists' trading buzz words, peddling 'influence' and crowding out the people that actually build things.
There is a massive difference in maturity crossing from individual contributor to manager between the military and corporate world. Never in the corporate world have I seen a junior manager tell their boss ”no” and pushback as I have in the military.
In the corporate world it’s all about hiring/firing versus the military where it’s all about developing people and liability at all levels. The key consequence of that is that in the corporate world people are eager to play it safe and follow trends versus the military where its generally considered a safe environment for learning more tolerant of controlled failure. Tolerance of controlled failure is how I learned to become a developer while working at Travelocity a billion years ago and I have not seen that since (in the corporate world).
Another possibly related difference is the training managers get. There are military careers where you know on day one which leadership responsibilities you will take several years down the line. That’s a stark contrast to starting out as an engineer and then transitioning as described in the blog post.
This. The state of leadership training in our industry is abysmal. Most managers I've met get little to no training when they transition to leadership roles. It's slightly better in larger companies, but as you say - a stark contract with military
I disagree, however I never served in the military. There are companies which provide a safe environment for mistakes to be learning opportunities, its the culture that defines that. Rarely will an actual mistake lead to someone being fired where I work, usually if it does its because of attitude and someone believing they can do no wrong.
If you bring down the production system with a change that is a learning opportunity and your team should be supportive (i.e. help you recover it) when these things occur. Thats why its important to be constantly deploying code and knowing how to roll back, etc.
I’ve worked at a company that did releases months apart and everything was supposed to be perfect, it never was. In that culture it was all about posturing, covering up mistakes and blame-game which is utterly frustrating to work in.
The problem with management roles today is they are watered down to the point of being basically pointless. Product people determine the shape of things and priorities. Tech leads determine how things should be done.
The manager is supposed to shepherd career growth and decide how much people should get paid. In my view this is a really part time job at best.
I think we need to go back to coupling more of these roles together, similar to what would happen in a startup. A strong leader should be able to fill product, tech lead and management roles.
Like a team ceo. I strongly believe this person should be responsible for a teams success or failure. Grant this person the right to hire/fire members of various disciplines. Tell this person to chase certain revenue numbers or another mission. Give this person the bonus money/product dividends to share with the team. I believe all this will drive this person to really build a team, instead of just managing it.
But demote them to smaller projects when they fail to deliver. And allow team members to apply to work for a different team if they trust the team ceo there more. Like an internal startup environment but teams. This is how I would try relentlessly to structure my company.
Managers have to manage up, down and outward. Most ICs will generally see downward management, but not the hours put in reporting up to executives, aligning and planning initiatives, resource/ allocations/PI’s, budgeting, procurement, audits, client/product demos/presentations, hiring and sometimes firing.
Managing down tends to be the easy part, career planning, 1:1’s, performance/development and running rituals is a cake walk. The only real hard part of managing down is when you have an employee that’s poisoning the well or is on a PIP.
Oh, and some managers also have to still pick up cards and push code in some orgs.
Most posts here are from those who have never walked in a manager's shoes so only know what they see (or hear/read).
Think about it, minus a few exceptions, most managers are paid better than the engineers they manage. Now why would exec/sr mgmt. do pay more unless they are getting their money's value?
I'm on the journey back too and can't wait to find a role where I actually have some creative input and decision making again.
This obviously varies from role to role but I was told I would be highly involved in deciding what the team does and how they go about it. The reality is that I am responsible for arbitrating the delivery of decisions from more senior managers to the teams and the decisions from the teams on how they execute on those decisions back to the managers.
Facilitating the growth of other engineers is wonderful but, frankly, I can do that (and was doing that) as an IC.
If I'm honest I don't think the exact role I want exists out there but I think I'll make a far better "lieutenant" to a manager who actually likes the job than I make a manager who is becoming increasingly unengaged with their own role.
> The reality is that I am responsible for arbitrating the delivery of decisions from more senior managers to the teams and the decisions from the teams on how they execute on those decisions back to the managers.
If it were only that simple. Often one needs to be at least a team lead to set the technical direction. As an IC, I sometimes found myself being asked to implement a solution in a form that I did not agree with.
With the right team/leader, there'd be room for your inputs on the matter. Even if you find yourself in a not-so-good team setup, I'd argue there's still merit in letting your opinion be known, regardless of whether you end up implementing said solution in the way you were told or not.
I don't think that changes much. To oversimplify; by telling you how to do it, the team lead is taking responsibility for the outcome of your output. You are just responsible for doing it how they said.
As others here have said, you don't grow from engineer to manager, you grow from engineer to lead engineer, or architect, or another similarly technical role.
I was recently promoted from Principal Engineer to Director of Technology in $JOB, and the difference has been striking, mostly in the ability to influence things so we can build the right technology before we start. That feels like a much more natural step for an engineer than throwing away their entire skillset and moving them to a position that requires an entirely different one.
If you want to grow your engineers, give them more (and higher-level, higher-impact technical stuff to do. If they want to become managers, great, but there's not as much overlap between engineering and engineering management as most people seem to think.
A coworker and friend is both an engineer and a manager, and he happens to be great at both of those. Instead of losing one of the skillsets, he has a role where he both manages his team and sets the technical direction for them. This means he manages a much smaller team than he would otherwise, but he loves doing both, so this a natural fit for him.
All this is to say, build your roles according to your people, don't shoehorn them into labels that other companies have told you is "how to do things".
I'm trying to say my Director of Technology role isn't a management role (our Director of Engineering is). I'm responsible for the technologies that we use, develop, maintain, etc, but not the people or teams that do it, and it works very well for us.
Director of technology is usually not. There is no direct reports. What I've seen is this role existing alongside a director of engineering role which does deal with management.
Engineer to manager isn't "growth", it's a complete career shift. Fine if you want it, torture if you don't.
"Dear Engineer, you are so good at your job we've decided to have you stop doing it and do a different job with an almost completely disjoint skill set. You get to do something that you will most likely hate and be bad at. Plus you can never go back to your old life."
I mean, you can definitely go back, there's just friction to doing so and it won't happen unless you are intentional about it. Might be more accurate to say you can go back, but it will never be the same now that you've had the veil pulled back on how things are being coordinated behind the scenes.
Principal engineer at FAANG (L8): likely one of the best engineers in the world.
Engineering director at FAANG (L8): manager who's been there for a while and is good at acquiring more reports.
As a ratio, there are far more eng directors to managers than principal engineers to engineers.
All that said, know what you want in your career. If you love building, build. If you want money, do management.
If you make it to my comment, please - do not go into management for the money. If you want to build, then remain an IC. If you want to grow other engineers, further THEIR career, make THEM better - go into management.
The friends of mine who ended up in management for the money and complain about their reports make me so angry.
The other thing to watch out for is manager growth over the last 10-15 years was a result of the structural needs of an unprecedented tech bull run. Now that the industry has moved into belt-tightening mode, the heaviest scrutiny is falling on managers. The type of political games a typical 35 year-old EM (5 years coding, 10 years EM) may not be as effective as they were in the previous environment. There are a LOT of EMs getting pipped or knocked back to IC these days, whereas ICs with a bit of product/UX sense, ability to think a bit beyond their silo, and willing to work on "boring" business applications will continue to be highly valued, especially given the amount of dead weight that has found its way in by grinding leetcode.
During calibration the ladder generally isn't consulted but it could be weaponized at any time. It is quite intimidating.
High level ICs have LOTs of weights on the technical directions. They are not replaceable by the managers.
However... This is starting to change. We now have engineers reporting to higher levels, so basically each manager has an equivalent IC reporting directly to them. In theory this means the numbers are more equivalent.
No, it is not. You switch from L6 IC to L1 M (FB/Google scale). Compensation remains exactly the same.
> If not immediately, the cap for ICs is much lower.
This is different from management being a promotion...
Both still put they hands on the product, but in completely different perspectives.
Maybe a store manager would be more applicable?
Acquiring incremental engineering skills is great and we should all do it. But let's admit that it's just that - incremental. You go from being a good engineer to slightly better engineer- something you already are.
When you pivot to management or something else that's more different to you - you are taking on a bigger challenge and there's no guarantee of success. In order to succeed you need to hone a whole different set of skills - and if you manage to do that, you will certainly have grown in a real way.
I totally get the sentiment that going into management isn't the only way to advance a career and I agree. I am just saying that those who take that path indeed open themselves up to a challenge and evolution.
In my closing on 30-year career in this industry, "managers" have been the least important part of any team, and had the least impact on success or failure. I'm not anti-manager at all (although I have spent my entire career trying to stop people who think they are rewarding me or giving me a promotion by giving me more "manager" duties. I have zero interest in deciding compensation or going to more meetings), it just truly is a position that is the closest to fungible. Everyone fear mongers about AI replacing engineers, but in the real world it could far more easily replace manager level resources.
What needs to die is this trope. Few places cut salaries when people move to EM role. This might be true for some big tech companies, but even then it's only in the beginning. If you look at companies that have unified levels for SDEs and EMs (Google, Amazon), you can see that on the same level EMs have slightly higher TC.
Not to mention that there's a whole world outside of big tech where moving to management is considered a promotion (and often the only way to grow, because dual career ladder is not implemented everywhere). The cases where EMs make more than SDEs are really way more common than the reverse situation.
Dead Comment
Junior engineers should be able to drive smaller, well scoped projects.
Senior+ engineers should be expected to tackle complex, cross-org, ill-defined technical challenges, examples include technical mergers of company acquisitions, large scale migrations of business critical systems, technical design of big bets (also analysis on which big bets to take), evaluate new technologies/platforms, dev tooling to multiply productivity, etc
A lot of this requires buy-in and stakeholder management to succeed.
On some it might be an architect level engineer who also manages the team. In others it'll be nothing more than a middle manager that only will see code on their spare time. And it can be everything in between.
So depending on the kind of move it will not have anything to do with engineering and everything to do with managing. And that's HARD. Changing your whole set of skills for another overnight it's not pleasant.
But then, here's the reality: any large company will have a new for an army of directors and VPs, compared to only a handful of ultra-senior, visionary engineers. Take Google and compare the ratio of Jeff Dean-type folks to senior managerial staff collecting similar paychecks.
So yeah, if your goal is to retire early without depending too much on luck or on being exceptional, management is your career growth path. For better or worse.
That's a very linear outlook. One can also grow be expanding the base of skills one has, and that often comes by shifted to adjacent jobs where you can capitalize on your first skill. There's some benefit in engineers who want to grow by transitioning to manager: nobody wants a non-engineer as your manager/leader - how would they understand your work or attract fantastic talent?
Now, don't get me wrong: I'm not saying for an engineer to grow one has to become a manager, but it is a legitimate strategy.
senior engineer == engineering manager.
staff engineer == senior engineering manager.
senior staff engineer == director / VP
This is in terms of scope, responsibility, salary, whom you report to and on which level... everything.
I doubt Mark Reinhold, Brian Goetz or John Rose are undervalued at Oracle because of them not being managers.
It is a difficult balance.
While you can absolutely be a manager without extensive IC experience, most people will benefit greatly from having deep IC experience before becoming a manager.
It’s growing - hell it’s escaping Getting as far away from working constantly for no reward and more goddam leatcode Interviews where 25yo who know nothing gatekeep your career - maybe you live in a different reality than I do, but I can always just build for myself at home.
Dead Comment
I do however find it extremely motivating to help a true leader solve their problems in a self-organising team of collaborative peers.
I can’t fathom why so many software organisations are still structured for hierarchical command and control, with the trend of good engineers being ‘promoted’ to management?
Yes I think we need more leadership: with organisations cultivating a culture of leadership, communication, openness and trust. Everyone can display leadership skills depending on the context/task within a team. It is not something reserved for the ‘manager’ (appointed leader).
Do we really need more ‘management’? I don’t think so. Management != Leadership.
Would be keen to see some more articles along the lines of ‘Growing leadership skills for engineers’.
I'm told Seeing Like a State shares this insight.
I also hate it. But it's unfortunately "left as exercise for the reader" to come up with an alternative that concentrates power differently.
At current workplace trying to subtly suggest/introduce that there’s an alternative way…
The professional managerial class have completely taken over most tech companies now. 'Technologists' trading buzz words, peddling 'influence' and crowding out the people that actually build things.
Red flag == ‘Talent Acquisition Manager’ messages on LinkedIn.
In the corporate world it’s all about hiring/firing versus the military where it’s all about developing people and liability at all levels. The key consequence of that is that in the corporate world people are eager to play it safe and follow trends versus the military where its generally considered a safe environment for learning more tolerant of controlled failure. Tolerance of controlled failure is how I learned to become a developer while working at Travelocity a billion years ago and I have not seen that since (in the corporate world).
If you bring down the production system with a change that is a learning opportunity and your team should be supportive (i.e. help you recover it) when these things occur. Thats why its important to be constantly deploying code and knowing how to roll back, etc.
I’ve worked at a company that did releases months apart and everything was supposed to be perfect, it never was. In that culture it was all about posturing, covering up mistakes and blame-game which is utterly frustrating to work in.
The manager is supposed to shepherd career growth and decide how much people should get paid. In my view this is a really part time job at best.
I think we need to go back to coupling more of these roles together, similar to what would happen in a startup. A strong leader should be able to fill product, tech lead and management roles.
But demote them to smaller projects when they fail to deliver. And allow team members to apply to work for a different team if they trust the team ceo there more. Like an internal startup environment but teams. This is how I would try relentlessly to structure my company.
Managing down tends to be the easy part, career planning, 1:1’s, performance/development and running rituals is a cake walk. The only real hard part of managing down is when you have an employee that’s poisoning the well or is on a PIP.
Oh, and some managers also have to still pick up cards and push code in some orgs.
Most posts here are from those who have never walked in a manager's shoes so only know what they see (or hear/read).
Think about it, minus a few exceptions, most managers are paid better than the engineers they manage. Now why would exec/sr mgmt. do pay more unless they are getting their money's value?
This obviously varies from role to role but I was told I would be highly involved in deciding what the team does and how they go about it. The reality is that I am responsible for arbitrating the delivery of decisions from more senior managers to the teams and the decisions from the teams on how they execute on those decisions back to the managers.
Facilitating the growth of other engineers is wonderful but, frankly, I can do that (and was doing that) as an IC.
If I'm honest I don't think the exact role I want exists out there but I think I'll make a far better "lieutenant" to a manager who actually likes the job than I make a manager who is becoming increasingly unengaged with their own role.
"What would you say... you do here?"
I was recently promoted from Principal Engineer to Director of Technology in $JOB, and the difference has been striking, mostly in the ability to influence things so we can build the right technology before we start. That feels like a much more natural step for an engineer than throwing away their entire skillset and moving them to a position that requires an entirely different one.
If you want to grow your engineers, give them more (and higher-level, higher-impact technical stuff to do. If they want to become managers, great, but there's not as much overlap between engineering and engineering management as most people seem to think.
A coworker and friend is both an engineer and a manager, and he happens to be great at both of those. Instead of losing one of the skillsets, he has a role where he both manages his team and sets the technical direction for them. This means he manages a much smaller team than he would otherwise, but he loves doing both, so this a natural fit for him.
All this is to say, build your roles according to your people, don't shoehorn them into labels that other companies have told you is "how to do things".
"Dear Engineer, you are so good at your job we've decided to have you stop doing it and do a different job with an almost completely disjoint skill set. You get to do something that you will most likely hate and be bad at. Plus you can never go back to your old life."
https://en.wikipedia.org/wiki/Peter_principle