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.
So if you start with a population of 100,000 employees at entry level, after a few years "most" of them will end up as L7?
That does not make any sense. Senior is the terminal band for "most".
Is this the "if you type randomly type stuff you'll write Shakespeare given enough time" thing?
It might be true (though I doubt it), but the original claim is "by mid 40s". You also need to look at the overall statistics (i.e. percentage of people who made the promotion vs those who haven't), and while the projected ratio based on the previous company growth rates may still support the claim, it's quite clear double digit percentage growth YoY isn't infinitely sustainable...
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.
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.
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.
https://www.youtube.com/watch?v=Ff4fRgnuFgQ&t=6585s
<quote> [From 1:49:53] Um, you know, at the beginning of this, we, um, I asked our, our people team, what was the average number of reports that a manager had? And I think it was, it was around three, maybe three to four, but closer to three. I was like, wow, like a manager can, you know, best practices that person can, can manage, you know, seven or eight people. Um, but there was a reason why it was closer to three. It was because we were growing so quickly, right? And when you're hiring so many people so quickly, then that means that you need managers who have capacity to onboard new people. Um, and also if you have a new manager, you may not want to have them have seven direct reports immediately because you want them to ramp up. But the thing is going forward, I don't want us to actually hire that many people that quickly, right? So I actually think we'll just do better work if we have more constraints and we're, um, you know, leaner as an organization. So in a world where we're not adding so many people as quickly, is it as valuable to have a lot of managers who have extra capacity waiting for new people? No, right? So, um, so now we can, we could sort of defragment the organization and get to a place where the average is closer to that seven or eight.
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.
Please won’t do much, even if I agree. Incentives and all that.
Plenty of people I know do it for other reasons: power, control, purpose, leverage, …
I’ve had too many shitty managers in my career to think I’d put other people through similar experiences. So, my switch into management was motivated by, hopefully, making the experiences on my team positive ones
And sometimes, the people who were asked, due to a combination of stubbornness and a desire not to “sell out”, deny the request for 7-8 years. Eventually, a person might realize that the original requesters may have been correct and that’s how they become a manager.
Or so I’ve heard.
A lot of engineers, of all flavors, are at least partially in the field for the money. Maybe they enjoy their work, maybe they're good at it, but for a lot of people it was more of a plan C or D after the things they really wanted to do turned out to be something they couldn't make money at.
Some of them would rather be authors or musicians, some of them chemists or physicists, a number of them are just waiting to buy a goat farm upstate. If you include them people who would rather be engineering something else, but that something else doesn't pay the bills, it may be a majority of engineers who are in it for the money.
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?
How the heck did that one work?
You’re right that people skills are more important but they are often necessary but insufficient depending on the specific team and business situation.
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.
Because I am not then gonna go down to a junior eng role, but I may flex into eng when it makes sense.
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 spent ten years in my 20s grinding to become great at engineering. I don’t regret it at all. And then when I did get those skills, many people in my life around me didn’t give a fuck, because I was leaving money on the table by not chasing status and management promotions.
It’s allowed me to get to a really good position at an advanced R&D company.
But I still hear the acclaim afforded to those who continue to ascend the ladder, and it stings a bit.
I suppose that is just people needing to believe in those things, and I should let it go.
It’s complicated.
I'd disagree...I think it can be difficult to see what the manager brings in when a team is good and runs well enough. It's a lot more obvious when you get a bad manager: the team stagnates, loses focus, valuable members will quit (there's the saying "employees don't quit their jobs, they quit their bosses"), recruiting also becomes harder.
There's too much to discuss in one comment, but managers that don't seem to be doing much while the team members are killing it are a precious breed and worth their weight in gold. An alternative way to look at it: they don't need to brag about being important, and have at least enough grasp of what their team does to not be standing in the way.
If they increased their product KPI by 150% but their manager had the goal at 200%, your team's suddenly underperforming. If they need 2 more engineers to fill specific spots, the manager will be the one pitching it to HR and convincing upper management to green light the expense. Same for the team budget in general, same for company-wise deadlines, resource allocations, what growth opportunity the memebers get. And so on, and so on.
There's a myriad of super critical things that members take for granted but go through their mamager and get screwed when the manager is bad at its job.
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.
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.
- Alignment / priority management / keeping team focused
- Saying yes/no to projects
- Medium term planning, resource balancing
- Helping to set team vision and mission
- Reporting to upper management (up)
- Keep up to date and abreast with what’s happening in the org, filtering info to the team (down)
- People management (career, performance, strengths/weaknesses etc)
- Spotting and creating opportunities for the team
- Often acting as a tie breaker for decisions (including technical)
- Often involved in steering technical design and solutions
- Help keep the team productive and happy
- Probably a ton more I’m forgetting
Tons of finesse and strong communication skills required for this as well as strong technical experience.
And then there’s project management which I haven’t touched on — either can be done directly by engineers (personally I enjoy it, some don’t which is fine), engineering managers or dedicated technical project/program managers.
>- Saying yes/no to projects
>- Medium term planning, resource balancing
>- Helping to set team vision and mission
>- Keep up to date and abreast with what’s happening in the org, filtering info to the team (down)
>- Often acting as a tie breaker for decisions (including technical)
>- Often involved in steering technical design and solutions
I think it should be done by senior engineers organically as engineering is a social activity. No one person can achieve greatness and to me an engineer becomes a senior engineer not by being a brilliant coder (for example) but by understanding that the job is to solve problems.
These are my rough notes on project management (from an engineer’s lens):
https://docs.google.com/document/d/1XFdBUfi3MvQuh9NTFBJMQFA0...
Lots of blanks to fill still, but I am a proponent of engineers owning their own project management.
> I think it should be done by senior engineers organically as engineering is a social activity. No one person can achieve greatness and to me an engineer becomes a senior engineer not by being a brilliant coder (for example) but by understanding that the job is to solve problems.
100% agree, lots of overlap between responsibilities and often a good thing! Roles from all parts of the org coming together to solve problems is the ideal situation.
My first approximation is that engineering managers are responsible for the team health, whereas engineers are responsible for project health, or at least raising issues when things aren’t so healthy.
That's rare. In most companies managers aren't engineers, don't understand the craft and are picked by their buddies. They also have completely different incentives which allows them to throw engineers who spent ages to master the craft under the bus without any regards/regrets.
So much damage is done by the wrong people being constantly rewarded and promoted for creating noise by "leading" large pointless projects instead of doing the real work. Sometimes I've seen the new hire engineer solving the critical issues like problems in a data pipeline by collaborating across teams is actually having more impact that any of the senior engineers or management bsers.
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.