I have been a manager four times, twice at FAANGs. I disagree with a lot that the author says:
- The ladder isn’t really taller. Most EMs end up clustered at the equivalent of L6/staff engineer. Promotions to senior manager and beyond are situational and rare. Meanwhile, my peers on the engineering ladder get promoted when ready, without needing to wait for the stars to align. (I made it to senior manager, but I was lucky to be in a growth area.)
- The skills feel transferrable, but every pure EM I know who got laid off is still looking for work and ready to give up. Meanwhile, those of us happy to go back to IC roles have no trouble finding work. Corporate management cultures are actually incredibly variable across companies and not directly transferable. The single most transferable skill I know in this industry is Linux internals.
- The idea that 5 years of experience is enough to solve most problems is crazy to me. 18 years in the industry, and I’m still very aware of things I don’t know and need to get better at. I know amazing engineers with 40 years of experience who are still learning and getting better.
IMO the best thing about being a manager is that you get to spend a lot of your time thinking about the future, and you are more likely to be “in the room where it happens,” talking to and hearing from C-levels. It’s also the worst thing, because you see how the sausage gets made.
I do agree with the things the author dislikes, but they get better. As a new manager, the author possibly hasn’t yet run into the thing you come to hate the most: senior management in many companies is basically a high school clique. Behavioral problems that would get normal people fired are sometimes tolerated in VP, C-levels, even directors sometimes, and working in such environments is trying.
> The ladder isn’t really taller. Most EMs end up clustered at the equivalent of L6/staff engineer. Promotions to senior manager and beyond are situational and rare. Meanwhile, my peers on the engineering ladder get promoted when ready, without needing to wait for the stars to align.
This sounds like an anecdote tainted with confirmation and survivorship bias. Most SWEs get stuck at senior (especially at Google), getting clustered at L6 is already a privilege relatively speaking. Promotions to L6 are not super rare but less than a majority get them. Promotion to a L7+ is a struggle, if you say most of your peers get there naturally maybe you discounted those who left because they can't get promoted, or you just didn't happen to make many friends with people below your job level ? Or, as a senior manager, are you really sure you see that more than half of the team you manage reach L6+ and a good number to L7 just by waiting?
Now I do agree that the EM path doesn't open as many doors as some old school people think (especially since high level ICs tend to lead in some way too), but at least promotion opportunities doesn't seem to be thinner for EM than IC.
The expectation that everyone should reach these career levels is easily dispelled by basic math. L6 and EM can by definition exist at a ratio of, at best, 1:6 to the people at more junior levels. Most engineers might be “stuck” at L5, but most potential EMs are stuck before they even become EMs, due to the same math.
But of the people at L6 on either ladder, who are ready to work at the next level, opportunities are definitely easier to find for ICs, than managers. An L7 IC, after all, doesn’t have to come with a team of 30-50.
I also found it weird that the author thought being an EM is a good path to being an entrepreneur.
Going from zero to one has very little to do with engineering management. Being able to hack out code quickly and being comfortable talking to potential customers (preferably not in that order) are the most important things and not at all related to being an EM. It's no guarantee that you'll get to hire anyone to manage.
And yeah, there are mechanically far fewer management roles than engineering roles, and since the boundary between lead engineer/first line manager is pretty porous in both directions, you're not actually competing with an equivalently smaller pool.
> I also found it weird that the author thought being an EM is a good path to being an entrepreneur.
This was the pitch from my manager that led to me moving into an EM role. He knew I was interested in doing a startup in the future, but I didn't have experience with people management.
I don't think it's necessarily a great path to entrepreneurship, but if you are solid on the engineering side it's a good skillset to develop.
Thanks for the feedback! I must say I've never worked in real big tech, and I've never worked with an IC beyond staff level. I'd imagine promotions to principal / fellow are quite rare as well? Besides, most "normal" companies don't have these grades, at all.
By transferable, I mean skills that are useful outside of our big tech bubble. You might not want to go out as money is very nice, but still good to know you can do something beside computer beep bop.
Ah right, I tend to think the tech bubble is the default context for stuff posted on HN, but of course that's just my bias.
I think staff engineers are slightly more common than first level EMs, but senior EMs are slightly more common than senior staff. Beyond that, it's small numbers and hard to draw conclusions. The nuance I've felt is that promotions to staff and up on the IC ladder are more in your control, while EM promotions are very much about being in the right place at the right time, in addition to being ready for the role.
I have worked at "normal" companies as well, and I think the EM role there is slightly different? To me it seemed like it's people management + technical, while in the tech bubble, that would be called "TLM". "Pure" EMs are mostly doing people management only, with strategy and XFN alignment. Does that sound correct to you?
Quite a lot of smaller companies do have some sort of staff/principal level, though arguably it’s largely an excuse to pay people they want to retain more, and isn’t _that_ similar to staff/principal roles in Big Tech(TM).
Of course, companies on that scale don’t really have senior EMs in the Big Tech sense, either.
A couple of other points that struck me as different from my experience, and maybe more a function of where this person is working rather than some fundamental difference between the roles:
The idea that your word is taken more seriously as an EM rather than an IC when it comes to (for example) needing to test more.
I have to admit that this may have been one of the reasons I felt the need to switch to a management role myself (I was an IC that had recently been promoted to a staff level role and subconsciously I felt like I lacked credibility and hiding behind a title would help me get some). In practice that turned out not to be true -- I didn't need to do that at the time, and now as an IC in a different company, my thoughts and feedback are taken seriously at an organisational level and by my peers.
The fact that you have to stack rank and pick an under-performer every half is just broken. I know it's a sad reality of performance management in a lot of places but it's not a universal truth that you will have to do that as a manager. Statistically, you can't avoid having difficult conversations about real performance problems, but there are companies where managers don't have to have the "everyone else on the team did better than you this half" conversation or the "I had to pick so this half you got the short straw" conversation.
> The idea that your word is taken more seriously as an EM rather than an IC when it comes to (for example) needing to test more
i thjnk this has to do with where you’re testing your word as the power of a statement from anyone in an org from my experience has entirely to do with how much money is missed potentially by listening to someone’s opinion.
im quite far up the management chain in past orgs and while i could make calls like “no we aren’t hotfixing in a new feature the client wants in 2 days since it will never work well and that’s not enough time to properly smoke test this very involved feature.”
the rnd team loved this statement because they understood it and agreed with it and saw i took their concerns seriously.
sales management was pissed understandably as the client abandoned the negotiation because we didn’t meet their demands, no matter how right i thjnk we were to deny this request. but the argument got pretty far in the company despite the fact that everyone agreed it would be a disaster to do this.
it’s not really about power and position i guess, it’s how convincing you can be this is profitable for most companies. ego and power tripping are of course part of it but the ultimate decision is how well you can paint the financial prospects of it.
a similar request in the future was shit down faster as i asked the qa test to show on some mock code how many considerations we needed and the plain time for such a feature to be properly implemented — the financial impact was dire if we raced it out and that stopped the conversations very fast.
> The fact that you have to stack rank and pick an under-performer every half is just broken.
I've sworn to myself, that the moment that this idiotic idea get introduced in the "performance management" process at the place I work, will be the day that I'll start to send out resumes. Even if it were handled lottery style ("the short straw") I would not cut slack to either manager or company for such an indignity.
> The fact that you have to stack rank and pick an under-performer every half is just broken
I didn't realise places still did this. Even Microsoft stopped, and I think acknowledged that it was crippling to them in the 2000s as talent rushed to less silly companies.
In my company, I think it's roughly 2-3% at L7 or more. It takes really special skills to reach that level, not just years of experience. I don't know how it compares to EM though, but it's a tall ladder!
> those of us happy to go back to IC roles have no trouble finding work
My concern as an IC is ageism. I wish that I can say that when I'm 50+. I feel EMs are a little more immune to that (perhaps more so in Europe where SWEs aren't very well respected).
There were slightly more L7 EMs than L7 SWEs every time I looked, but there's nuance to that. If the company decides it needs an L7 EM and nobody is available to promote, they'll hire externally. Your chances of being promoted into that role are reduced by the proportion of L7 EMs who were external hires. The other nuance is that those numbers don't correct for overall tenure, but I don't know how that would change things. Finally, getting to L7 EM is maybe 30% in your control and 70% circumstances, but that ratio is IMO inverted for ICs.
So even though there are more L7 EMs than SWEs, you might still have an easier time getting to L7 SWE, if you're ready to be an L7 SWE.
Your point about ageism is well-taken. I'm not yet old enough to really feel it, but I have heard it's rough.
I think digging into the roots of SWE's not being respected is worth discussing.
Are doctors, lawyers, or surgeons viewed the same way? I don't know those industries well enough to say. Some domains of software are very, very deep and require many years of study and practice.
It feels like the root of SWEs not being fully respected simply comes back to the fact that they aren't considered as part of the org as much as management is.
SWEs are generally speaking less respected (and compensated!) in Europe, but ageism is AFAICT much less prevalent. If I was in the US, it would be time for me to start worrying about it.
Promotions on the engineering ladder "when ready without needing to wait for the star to align" is because very often those promotions only entail better title and pay. Periodic promotions keep people happy.
But any promotions that entail a real step up in responsibility requires team/company growth for those positions to open up.
There are many different ways to grow beyond staff engineer:
- Become an expert in something hard. Fix bugs nobody else can. This requires sticking around for longer than most people, maybe 10 years or more.
- Have impact across the industry. Maintain a kernel subsystem, run a C++ subcommittee, etc.
- Be a TL for multiple teams, because you have experience and a plan the other TLs can get behind.
- Wear multiple hats, e.g. be a solid manager who is also a really good engineer. Be great at, e.g. Audio and ML, or some other rare combo.
These archetypes are starting to get documented by some companies as part of their careers ladders, even. As a SWE, you have many options to create scope. As an EM, you really only have one.
Another point: there many more senior+staff engineer roles than EM roles. Once you become an EM, it's much harder to make a switch, because:
a) the roles are fewer
b) companies are wary of bringing in an EM for a team (prefer to promote within the ranks, in my experience).
c) switching from EM to a senior engineer role is hard both because it feels like a downgrade and because I see companies not that willing to offer it.
Of course, if the company is on the right course, you've hit a jackpot and can become an important leader few years down the line, but I know many EMs who are trapped in a bad org because of this. I believe engineers transitioning to a management role should keep these things in mind. I prefer making less bucks and keep my peace of mind about moving somewhere else.
companies are wary of bringing in an EM for a team (prefer to promote within the ranks, in my experience)
In Band of Brothers TV series there is a plot line where an NCO is promoted to be an officer. Soon after he is moved to a different unit because the Army has a policy to distance such promotions from their organic units.
> The idea that 5 years of experience is enough to solve most problems is crazy to me. 18 years in the industry, and I’m still very aware of things I don’t know and need to get better at. I know amazing engineers with 40 years of experience who are still learning and getting better.
Recently retired engineering manager here. Manager I all the way to VP of Engineering at several successful startups and a few big companies.
I was continually surprised that fresh and new challenges continually appeared, until I got wise enough to know there will always be something you not run into before.
Be wary of anyone who think’s they’ve seen it all.
Senior management often seems like a popularity contest.
The ability to get along with others often seems to be more important than actually being a good manager, being aligned with the business, and delivering value.
>IMO the best thing about being a manager is that you get to spend a lot of your time thinking about the future
In some places it's the opposite: domain-specific codebases far outlive the separate projects they are used for, and the devs are the ones thinking about what their product should be. Kind of like how Linux is a long-lived product made by devs, used in many short(er)-lived C-level projects.
> senior management in many companies is basically a high school clique. Behavioral problems that would get normal people fired are sometimes tolerated in VP, C-levels, even directors sometimes, and working in such environments is trying.
I didn't see any other comments on this part, and want to give a huge +1. I use to wonder how overall cultures got so misaligned with what Sr. Leadership was saying in open sessions. The amount of contradiction in what they say in large groups, and what they *do* in reality, is the smart lower layers of the org seeing right through the BS. It was eye opening to be able to see behind the curtain.
I’m a problem solver and big picture thinker. I like working out the solution and helping solve the obstacles. The role that has always fit the best is “architect”, but it seems to be going away as a title. No matter, the need for the work remains.
But I’ve done a few of the other roles over the years. Team Lead/manager, Scrum Master, Product Manager (without the title). Here’s my take. A good manager requires a very different skill set to an engineer. The primary skill is to have extremely low neuroticism. The ability to make good decisions and present a calm and rational exterior under prolonged stress. 90% of lower level managers do not possess these attributes, and under stress, damage the team and company. If you want to be a manager, honestly assess how you respond to stress (particularly prolonged). Do you lash out at those around you? Hide or freeze up, unable to make a decision? Blame others and seek to protect yourself or reputation? These things, as boring as they sound, are the real differences between effective managers and everyone else.
> A good manager requires a very different skill set to an engineer. The primary skill is to have extremely low neuroticism. The ability to make good decisions and present a calm and rational exterior under prolonged stress.
This is one of the best summaries I have seen. It is also why it feels so similar to parenting: a good manager needs the ability to be the grown-up. This usually involves unfun things like calling out the elephant in the room, letting people air grievances about your decisions in a group, and staying engaged with people even when they're disengaging and pushing you away.
To me, management always felt like it was something that required all my spoons, and it wanted more, no matter how much I gave. I feel this more a lack of fit than something intrinsic to management, though. FWIW I have moderate neuroticism (according to rando Internet surveys). I suspect I'm not good at simply letting things be good enough, and the broadened responsibilities of management present an emotional scaling issue.
> I suspect I'm not good at simply letting things be good enough
You might be overly hard on yourself here. Everything is a spectrum. My usual failure mode seems to be excessive patience when folks aren’t delivering. It is extremely bad when you let it fester. Lots of stuff doesn’t matter, but when important things aren’t happening, you really need to jump on it fast and insist on the high bar.
I've noticed the most effective managers I've worked with came from calm low-stress countries with similar work cultures - maybe the key to solving crunch and burnout is to create a regulatory environment where a worker's entire livelihood (health, rent, loan payments towards public universities etc.) is not solely dependent on keeping their job?
"But of people aren't mortally afraid, they won't work hard enough!" - American capitalism
I once had a manager (not my direct manager) tell me "maybe some fear is good?" No, it's not. Fear is useful for outrunning predators, but it is a useless emotion for programming computers. Unfortunately that particular phrase had come to that manager from the CEO, so, yeah. That company is a mess of short termism and hasty irrational decision-making and constant thrashing / "why can't we execute on big projects". It's because everyone is so scared that they're just trying to survive, and rule number 1 of surviving is to avoid large unpredictable projects.
I detest this whole line of thought because it's completely at odds with the reality - that people, and especially programmers, are creative and inventive by nature and are the last people who would "do nothing" if not afraid.
In my experience most "big picture thinkers" are actually just saying things with no idea of what they mean, what the consequences are, how to actually do them, and why their idea is bad.
I'm similar to you - jack-of-all-trades big picture problem solver - and have arrived at the same conclusion after managing for a bit over a year: stress resilience is the key skill. If you're an IC you can develop your career by learning new skills, domains etc. If you're a manager, career development becomes increasingly about personal development - maturity, perspective, emotional resilience etc. I suspect this in why seniority and interest in things like mindfulness meditation tend to coincide. HN will hate this, and I say this as a confirmed bachelor myself, but I wonder if parents make better managers because they are less likely to lose perspective and become stressed over things that don't matter in the grand scheme of things? Weirdly I seem to do my best managing when I've become emotionally checked out.
Turns out I'm pretty temperamental, and I privately worry that I'm just constitutionally ill-suited to management. I also struggle with the sometimes disingenuous nature of management - I'm not manipulating you, I'm motivating you! I wish I could just float around the organisation fixing problems, streamlining processes and re-jigging work systems...
> HN will hate this, and I say this as a confirmed bachelor myself, but I wonder if parents make better managers because they are less likely to lose perspective and become stressed over things that don't matter in the grand scheme of things?
Maybe! I've had good managers who were and weren't parents. I'm a parent, but don't enjoy managing.
> Weirdly I seem to do my best managing when I've become emotionally checked out.
A perspective approximating objectivity is exactly what techniques like CBT try to teach you: seeing things as they really are, without your emotions coloring it.
> I wish I could just float around the organisation fixing problems, streamlining processes and re-jigging work systems
That exists. See the solver staff engineer archetype. I suspect it exists more at larger orgs who can support the role effectively, though. But, I think that is me as well. I enjoy being dropped on stalled projects/difficult technical tasks, unblocking it, and moving to the next thing.
And here I am, 12 years into my career as a software engineer, never, ever, wanting to be a manager. I just want to build things, I don't want to manage them. I see what it is like to be a manager as I work closely with them, and I just don't find it appealing at all.
As a senior engineer, my words also often matter, but I don't have the huge amount of responsibility that comes with being a manager, which is nice. I want less stress in my life, not more.
I guess my next 30 years in this career will be the same position I am in currently.
How much your words matter as a senior engineer depend on your management. You’re in a good situation right now, but that can change. I was in a similar situation several years back. My boss liked me and had a lot of connections. He would make sure I was in the loop on everything, make sure I had a seat at the table when decisions were being made, and seek out my opinion on what direction we should go, and told me point blank I could speak for him or any other manager and he’d back it up if needed.
We have a whole new management structure now and they are very top down, have big egos, and aren’t willing to even entertain feedback. Vocal low level managers or engineers have been getting pushed out of the company left and right, so all the autonomy and the voice I had are pretty much gone. Even things that I thought were engineering decisions have been largely removed. I will need X to build what I’m building, so I make it and it worked. Then, months later, I’m told there is a different plan for X, I did it wrong, and I’m told to remove my solution (fully automated and hands off) in favor of a corporate process and manual work by other team, which is often missed, which makes my service less reliable.
I’m glad I’m not a manager who needs to fight with these people, as I’d probably be out of a job by now so they can replace me with one of their friends. That being said, I’ve found the influence of a senior level engineer to be highly variable, even within the same company/team, on a longer timeline.
I try to stay in the small-to-medium company bracket, and in this bracket, my opinion has been decently taken into consideration. Companies that have grown large enough where endless processes start to be introduced, layers of bs jobs get added between engineers and C-levels, I've just left for smaller companies. I don't make FAANG salaries, but I'm pretty happy.
I already have daydreams about doing carpeting, as that would be something I'd actually do with my bare hands, so being a manager is 1 level even further removed from doing something with your hands. Manager building things is like saying politicians build countries. Technically not wrong, but not the kind of building I'm interested in doing.
In a large tech company not really. The Product Manager or Staff engineers build things using other engineers. The Engineering Manager uses their blood and sweat to lubricate the corporate cogs to make that process a bit more efficient.
Senior engineer is fairly low. At some point you may get tired of stagnating salary and being told what to do all the time.
They are higher technical positions that have no or very little management responsibilities (up to senior principal engineer, architect, etc). It depends also on the company and how much they value you.
Best I have seen is engineer with PhD and decades of experience be the research/architecture guru, no team, no direct reports, a lot of Matlab, and be "VP of technology" in a company of several hundreds.
> Senior engineer is fairly low. At some point you may get tired of stagnating salary and being what to do all the time
Or not. While I acknowledge that the mindset of chasing eternal growth and riches professionally is very common, is not hard to imagine a subset of people that are happy with staying in one rung of the ladder and get meaning from things outside their career.
> At some point you may get tired of stagnating salary and being told what to do all the time
Managers don't get told what to do all the time? Since when? Managers just get it from both sides. If you don't know about all the stuff your manager is dealing with from people above them, or from other managers in the organization: good! That means they're doing their job shielding you from that. The manager is telling their reports what to do—okay, I guess so, sometimes. But just as often they're adapting their plans to what their teams tell them can or should or has been done. And they're also being told what to do by people to whom they are direct reports. People who are, in my experience, much more demanding and much less collaborative than most managers themselves are with their teams.
I've been a manager, and I stopped all that because it felt like I had more bosses and less agency than when I was an IC.
Stagnating salary? Every job change comes with around 20-30% raise usually, so I would not call it stagnant. Managers are also being told what to do, by those above them.
Since I do not work for FAANG companies, but rather small-to-medium (regular?) tech companies, they mostly never have principal/architect roles. My current role, in most cases, is actually the highest IC role there is.
Agreed. It's nice to be "Senior engineer" when you are 28. Not when you are 38 and being lorded over and over-ridden by "Staff Engineers" with half your experience.
>Best I have seen is engineer with phD and decades of experience be the research/architecture guru, no team, no direct reports
While we're at it, does anyone recommend going for PhD in EECS fields for someone who doesn't like at all to be in academia or do "research" (aka read pdfs, write proposal/papers, code up and run simulations)?
I was the manager for my team for 6 months. It’s not that bad in the end but it’s a completely different job. I’m going back to IC next month. This was my first and probably last stint in my 15 year career
I don't think the good takeaway is to "never be a manager", more of don't be a corpo manager of stuff that's someone else's vision. It's not the difficulty of the learning or necessarily the people but the circumstances that surround it.
I think having management perspective is excellent to understand the contexts behind what is being built and why things are seemingly inefficient and broken. Gives more insight into solutions and what may not be effectively communicated. Memes as usual.
In my opinion you don't have to be a manager to know all these things. In fact, every good senior engineer should be aware of what the leadership is trying to accomplish anyway, as we're not just code monkeys, but rather problem solvers. If this isn't actively communicated to you by managers themselves (it often isn't), then you should proactively ask questions yourself, as like you said, it would give more insight into solutions.
I’m a senior dev currently interviewing for a team lead position at a startup. While I consider myself highly technical, the things that frustrate me the most day-to-day are teamwork related. Lack of trust. Teammates who don’t want to talk to each other. Other seniors getting away with subpar work. Lack of clear team purpose and product vision. Lack of buy in on common engineering practices.
As a people manager these issues I care so much about would be within my sphere of influence and responsibility. For better or worse.
I felt this - a lot of the problems I've experienced with teams before could have been solved by the management.
In practise now I find that I am a Team Lead and yet I have far less ability to influence things than I thought. There are a host of people including my boss who want to run everything and expect me to be a rubber stamp.
In fact I get into shit more because I have to speak up for people in the team who are (unfortunately) rightly afraid to. Like "for a story to be ready we need the API defined" - how can QA work in parallel on automated tests when they don't know what to test? Scrum masters, POs, my manager, architects......they just talk whichever shit suits them today as if it was all self evident truth and tomorrow they're moaning about why the tests are late.
Basically you get into the politics of who is to blame for the state of affairs and the people who chose those directions and strategies are well connected and good at shifting blame.
I don’t fully agree with all points but there are many words of caution to be spoken about the expectation that by moving to a manager role you get more agency on the things that frustrate you as a sw eng. “The managers path” is a good resource to expand on that. https://www.amazon.com/Managers-Path-Leaders-Navigating-Grow...
> Your words have weight. If you, an IC, say "guys, we really should write tests", everybody goes "oh, crazy old Vladimir, all grumpy again, haha, where do you see tests fit here?". If you, an EM, casually say "guys, we really should write tests", you might be surprised to find the tests unexpectedly growing in different places. Pleasant.
Many years ago, I was standing in my then-boss’s office while he got off the phone from an apparently successful request to have somebody in another department do something for him. He looked up at me from his desk, grinned slightly, and said in a bemused tone, “Well, I didn’t get any prettier when they changed my title to ‘Manager’ [from ‘Specialist,’ before I was in his team], but it sure helps me get things done.”
As the senior IC on my team it’s my manager that asks me to bring things up with the team since they actually listen to me. Managers just get ignored unless they actually threaten you with consequences and you have to use that sparingly.
Senior here too. It's a mix - usually my manager pushes hard on the less in the weeds-type topics, and I push on those in addition to the lower level topics. I can say with certainty that neither my manager nor I are ignored.
I started as an engineering manager (CTO of a small startup) a few years ago; my life has changed a lot, and for every aspect you love and hate, I share the same feelings.
My additional advice here is to meditate. For real. Sit quietly long enough for your brain to switch off before making essential and impactful decisions that could harm your people.
In the beginning, you become a kind of parent-to-child genius. You have to accept them and also understand their ways. The more controls you put in place, the less control you will have, as they will attempt to jump around and oppose the unnecessary bureaucracy (I'll do the same, honestly).
My second advice is to always behave as if you are going to leave tomorrow. This will prepare your team and your peers and even improve your lifestyle.
> My second advice is to always behave as if you are going to leave tomorrow.
In a similar vein, my ultimate management technique is to take leave and have my subordinates act in my position (for at least 2 weeks). It really accelerates their development and it's oddly reassuring to discover that I'm not indispensable. At the same time, I do wonder if it indicates that I'm doing something wrong given they seem to develop faster when I'm not there...
> My second advice is to always behave as if you are going to leave tomorrow. This will prepare your team and your peers and even improve your lifestyle.
My background is the opposite; I'm a mediocre software engineer but have quite good people skills. I'm experienced enough to know what takes time and which parts of the system are more critical than others. I have a few senior engineers whom I really listen to carefully and to whom I give a lot of trust and empowerment. I don't make design decisions, they do and I give input. I take responsibility when we fail (and learn from it) and give the team credit when we succeed. In my humble opinion, being a manager is more about people than anything else.
I like to think I'm a good fit, but of course, I need to improve my skills, like anyone else. At the end of the day, we are working with people, and there's no one-size-fits-all solution. Sometimes the most skillful engineer is the best fit for the EM position. However, I truly believe that to get the best output, you want team members to commit as a group and to feel that it's rewarding to achieve goals and have personal development. Unfortunately, not everyone has the luxury of a long-term perspective.
There’s only one reason (and only one) I would want to move from the coder/IC role to managerial track — and that is the white-boarding interview rounds that is needed every single time I want to switch jobs which needs (almost) excruciating preparation afresh - from scratch. (Yes yes, there are roles without that and that’s incredibly rare). Often, I just stay in the same job thinking of that preparation and saying, “oh god, not again!”.
- The ladder isn’t really taller. Most EMs end up clustered at the equivalent of L6/staff engineer. Promotions to senior manager and beyond are situational and rare. Meanwhile, my peers on the engineering ladder get promoted when ready, without needing to wait for the stars to align. (I made it to senior manager, but I was lucky to be in a growth area.)
- The skills feel transferrable, but every pure EM I know who got laid off is still looking for work and ready to give up. Meanwhile, those of us happy to go back to IC roles have no trouble finding work. Corporate management cultures are actually incredibly variable across companies and not directly transferable. The single most transferable skill I know in this industry is Linux internals.
- The idea that 5 years of experience is enough to solve most problems is crazy to me. 18 years in the industry, and I’m still very aware of things I don’t know and need to get better at. I know amazing engineers with 40 years of experience who are still learning and getting better.
IMO the best thing about being a manager is that you get to spend a lot of your time thinking about the future, and you are more likely to be “in the room where it happens,” talking to and hearing from C-levels. It’s also the worst thing, because you see how the sausage gets made.
I do agree with the things the author dislikes, but they get better. As a new manager, the author possibly hasn’t yet run into the thing you come to hate the most: senior management in many companies is basically a high school clique. Behavioral problems that would get normal people fired are sometimes tolerated in VP, C-levels, even directors sometimes, and working in such environments is trying.
This sounds like an anecdote tainted with confirmation and survivorship bias. Most SWEs get stuck at senior (especially at Google), getting clustered at L6 is already a privilege relatively speaking. Promotions to L6 are not super rare but less than a majority get them. Promotion to a L7+ is a struggle, if you say most of your peers get there naturally maybe you discounted those who left because they can't get promoted, or you just didn't happen to make many friends with people below your job level ? Or, as a senior manager, are you really sure you see that more than half of the team you manage reach L6+ and a good number to L7 just by waiting?
Now I do agree that the EM path doesn't open as many doors as some old school people think (especially since high level ICs tend to lead in some way too), but at least promotion opportunities doesn't seem to be thinner for EM than IC.
But of the people at L6 on either ladder, who are ready to work at the next level, opportunities are definitely easier to find for ICs, than managers. An L7 IC, after all, doesn’t have to come with a team of 30-50.
Going from zero to one has very little to do with engineering management. Being able to hack out code quickly and being comfortable talking to potential customers (preferably not in that order) are the most important things and not at all related to being an EM. It's no guarantee that you'll get to hire anyone to manage.
And yeah, there are mechanically far fewer management roles than engineering roles, and since the boundary between lead engineer/first line manager is pretty porous in both directions, you're not actually competing with an equivalently smaller pool.
This was the pitch from my manager that led to me moving into an EM role. He knew I was interested in doing a startup in the future, but I didn't have experience with people management.
I don't think it's necessarily a great path to entrepreneurship, but if you are solid on the engineering side it's a good skillset to develop.
By transferable, I mean skills that are useful outside of our big tech bubble. You might not want to go out as money is very nice, but still good to know you can do something beside computer beep bop.
I think staff engineers are slightly more common than first level EMs, but senior EMs are slightly more common than senior staff. Beyond that, it's small numbers and hard to draw conclusions. The nuance I've felt is that promotions to staff and up on the IC ladder are more in your control, while EM promotions are very much about being in the right place at the right time, in addition to being ready for the role.
I have worked at "normal" companies as well, and I think the EM role there is slightly different? To me it seemed like it's people management + technical, while in the tech bubble, that would be called "TLM". "Pure" EMs are mostly doing people management only, with strategy and XFN alignment. Does that sound correct to you?
Of course, companies on that scale don’t really have senior EMs in the Big Tech sense, either.
I'm glad it's not just me who has noticed this!
The idea that your word is taken more seriously as an EM rather than an IC when it comes to (for example) needing to test more.
I have to admit that this may have been one of the reasons I felt the need to switch to a management role myself (I was an IC that had recently been promoted to a staff level role and subconsciously I felt like I lacked credibility and hiding behind a title would help me get some). In practice that turned out not to be true -- I didn't need to do that at the time, and now as an IC in a different company, my thoughts and feedback are taken seriously at an organisational level and by my peers.
The fact that you have to stack rank and pick an under-performer every half is just broken. I know it's a sad reality of performance management in a lot of places but it's not a universal truth that you will have to do that as a manager. Statistically, you can't avoid having difficult conversations about real performance problems, but there are companies where managers don't have to have the "everyone else on the team did better than you this half" conversation or the "I had to pick so this half you got the short straw" conversation.
i thjnk this has to do with where you’re testing your word as the power of a statement from anyone in an org from my experience has entirely to do with how much money is missed potentially by listening to someone’s opinion.
im quite far up the management chain in past orgs and while i could make calls like “no we aren’t hotfixing in a new feature the client wants in 2 days since it will never work well and that’s not enough time to properly smoke test this very involved feature.”
the rnd team loved this statement because they understood it and agreed with it and saw i took their concerns seriously.
sales management was pissed understandably as the client abandoned the negotiation because we didn’t meet their demands, no matter how right i thjnk we were to deny this request. but the argument got pretty far in the company despite the fact that everyone agreed it would be a disaster to do this.
it’s not really about power and position i guess, it’s how convincing you can be this is profitable for most companies. ego and power tripping are of course part of it but the ultimate decision is how well you can paint the financial prospects of it.
a similar request in the future was shit down faster as i asked the qa test to show on some mock code how many considerations we needed and the plain time for such a feature to be properly implemented — the financial impact was dire if we raced it out and that stopped the conversations very fast.
I've sworn to myself, that the moment that this idiotic idea get introduced in the "performance management" process at the place I work, will be the day that I'll start to send out resumes. Even if it were handled lottery style ("the short straw") I would not cut slack to either manager or company for such an indignity.
I didn't realise places still did this. Even Microsoft stopped, and I think acknowledged that it was crippling to them in the 2000s as talent rushed to less silly companies.
In my company, I think it's roughly 2-3% at L7 or more. It takes really special skills to reach that level, not just years of experience. I don't know how it compares to EM though, but it's a tall ladder!
> those of us happy to go back to IC roles have no trouble finding work
My concern as an IC is ageism. I wish that I can say that when I'm 50+. I feel EMs are a little more immune to that (perhaps more so in Europe where SWEs aren't very well respected).
So even though there are more L7 EMs than SWEs, you might still have an easier time getting to L7 SWE, if you're ready to be an L7 SWE.
Your point about ageism is well-taken. I'm not yet old enough to really feel it, but I have heard it's rough.
Are doctors, lawyers, or surgeons viewed the same way? I don't know those industries well enough to say. Some domains of software are very, very deep and require many years of study and practice.
It feels like the root of SWEs not being fully respected simply comes back to the fact that they aren't considered as part of the org as much as management is.
But any promotions that entail a real step up in responsibility requires team/company growth for those positions to open up.
- Become an expert in something hard. Fix bugs nobody else can. This requires sticking around for longer than most people, maybe 10 years or more.
- Have impact across the industry. Maintain a kernel subsystem, run a C++ subcommittee, etc.
- Be a TL for multiple teams, because you have experience and a plan the other TLs can get behind.
- Wear multiple hats, e.g. be a solid manager who is also a really good engineer. Be great at, e.g. Audio and ML, or some other rare combo.
These archetypes are starting to get documented by some companies as part of their careers ladders, even. As a SWE, you have many options to create scope. As an EM, you really only have one.
a) the roles are fewer
b) companies are wary of bringing in an EM for a team (prefer to promote within the ranks, in my experience).
c) switching from EM to a senior engineer role is hard both because it feels like a downgrade and because I see companies not that willing to offer it.
Of course, if the company is on the right course, you've hit a jackpot and can become an important leader few years down the line, but I know many EMs who are trapped in a bad org because of this. I believe engineers transitioning to a management role should keep these things in mind. I prefer making less bucks and keep my peace of mind about moving somewhere else.
In Band of Brothers TV series there is a plot line where an NCO is promoted to be an officer. Soon after he is moved to a different unit because the Army has a policy to distance such promotions from their organic units.
Recently retired engineering manager here. Manager I all the way to VP of Engineering at several successful startups and a few big companies.
I was continually surprised that fresh and new challenges continually appeared, until I got wise enough to know there will always be something you not run into before.
Be wary of anyone who think’s they’ve seen it all.
Senior management often seems like a popularity contest.
The ability to get along with others often seems to be more important than actually being a good manager, being aligned with the business, and delivering value.
In some places it's the opposite: domain-specific codebases far outlive the separate projects they are used for, and the devs are the ones thinking about what their product should be. Kind of like how Linux is a long-lived product made by devs, used in many short(er)-lived C-level projects.
I didn't see any other comments on this part, and want to give a huge +1. I use to wonder how overall cultures got so misaligned with what Sr. Leadership was saying in open sessions. The amount of contradiction in what they say in large groups, and what they *do* in reality, is the smart lower layers of the org seeing right through the BS. It was eye opening to be able to see behind the curtain.
I suspect people view these senior leaders are irreplaceably important and tolerate all sorts of terrible/pathological behaviors from them...
But I’ve done a few of the other roles over the years. Team Lead/manager, Scrum Master, Product Manager (without the title). Here’s my take. A good manager requires a very different skill set to an engineer. The primary skill is to have extremely low neuroticism. The ability to make good decisions and present a calm and rational exterior under prolonged stress. 90% of lower level managers do not possess these attributes, and under stress, damage the team and company. If you want to be a manager, honestly assess how you respond to stress (particularly prolonged). Do you lash out at those around you? Hide or freeze up, unable to make a decision? Blame others and seek to protect yourself or reputation? These things, as boring as they sound, are the real differences between effective managers and everyone else.
This is one of the best summaries I have seen. It is also why it feels so similar to parenting: a good manager needs the ability to be the grown-up. This usually involves unfun things like calling out the elephant in the room, letting people air grievances about your decisions in a group, and staying engaged with people even when they're disengaging and pushing you away.
To me, management always felt like it was something that required all my spoons, and it wanted more, no matter how much I gave. I feel this more a lack of fit than something intrinsic to management, though. FWIW I have moderate neuroticism (according to rando Internet surveys). I suspect I'm not good at simply letting things be good enough, and the broadened responsibilities of management present an emotional scaling issue.
You might be overly hard on yourself here. Everything is a spectrum. My usual failure mode seems to be excessive patience when folks aren’t delivering. It is extremely bad when you let it fester. Lots of stuff doesn’t matter, but when important things aren’t happening, you really need to jump on it fast and insist on the high bar.
I once had a manager (not my direct manager) tell me "maybe some fear is good?" No, it's not. Fear is useful for outrunning predators, but it is a useless emotion for programming computers. Unfortunately that particular phrase had come to that manager from the CEO, so, yeah. That company is a mess of short termism and hasty irrational decision-making and constant thrashing / "why can't we execute on big projects". It's because everyone is so scared that they're just trying to survive, and rule number 1 of surviving is to avoid large unpredictable projects.
I detest this whole line of thought because it's completely at odds with the reality - that people, and especially programmers, are creative and inventive by nature and are the last people who would "do nothing" if not afraid.
Deleted Comment
Turns out I'm pretty temperamental, and I privately worry that I'm just constitutionally ill-suited to management. I also struggle with the sometimes disingenuous nature of management - I'm not manipulating you, I'm motivating you! I wish I could just float around the organisation fixing problems, streamlining processes and re-jigging work systems...
Maybe! I've had good managers who were and weren't parents. I'm a parent, but don't enjoy managing.
> Weirdly I seem to do my best managing when I've become emotionally checked out.
A perspective approximating objectivity is exactly what techniques like CBT try to teach you: seeing things as they really are, without your emotions coloring it.
> I wish I could just float around the organisation fixing problems, streamlining processes and re-jigging work systems
That exists. See the solver staff engineer archetype. I suspect it exists more at larger orgs who can support the role effectively, though. But, I think that is me as well. I enjoy being dropped on stalled projects/difficult technical tasks, unblocking it, and moving to the next thing.
As a senior engineer, my words also often matter, but I don't have the huge amount of responsibility that comes with being a manager, which is nice. I want less stress in my life, not more.
I guess my next 30 years in this career will be the same position I am in currently.
We have a whole new management structure now and they are very top down, have big egos, and aren’t willing to even entertain feedback. Vocal low level managers or engineers have been getting pushed out of the company left and right, so all the autonomy and the voice I had are pretty much gone. Even things that I thought were engineering decisions have been largely removed. I will need X to build what I’m building, so I make it and it worked. Then, months later, I’m told there is a different plan for X, I did it wrong, and I’m told to remove my solution (fully automated and hands off) in favor of a corporate process and manual work by other team, which is often missed, which makes my service less reliable.
I’m glad I’m not a manager who needs to fight with these people, as I’d probably be out of a job by now so they can replace me with one of their friends. That being said, I’ve found the influence of a senior level engineer to be highly variable, even within the same company/team, on a longer timeline.
They are higher technical positions that have no or very little management responsibilities (up to senior principal engineer, architect, etc). It depends also on the company and how much they value you.
Best I have seen is engineer with PhD and decades of experience be the research/architecture guru, no team, no direct reports, a lot of Matlab, and be "VP of technology" in a company of several hundreds.
Or not. While I acknowledge that the mindset of chasing eternal growth and riches professionally is very common, is not hard to imagine a subset of people that are happy with staying in one rung of the ladder and get meaning from things outside their career.
Managers don't get told what to do all the time? Since when? Managers just get it from both sides. If you don't know about all the stuff your manager is dealing with from people above them, or from other managers in the organization: good! That means they're doing their job shielding you from that. The manager is telling their reports what to do—okay, I guess so, sometimes. But just as often they're adapting their plans to what their teams tell them can or should or has been done. And they're also being told what to do by people to whom they are direct reports. People who are, in my experience, much more demanding and much less collaborative than most managers themselves are with their teams.
I've been a manager, and I stopped all that because it felt like I had more bosses and less agency than when I was an IC.
Since I do not work for FAANG companies, but rather small-to-medium (regular?) tech companies, they mostly never have principal/architect roles. My current role, in most cases, is actually the highest IC role there is.
While we're at it, does anyone recommend going for PhD in EECS fields for someone who doesn't like at all to be in academia or do "research" (aka read pdfs, write proposal/papers, code up and run simulations)?
I think having management perspective is excellent to understand the contexts behind what is being built and why things are seemingly inefficient and broken. Gives more insight into solutions and what may not be effectively communicated. Memes as usual.
Dead Comment
As a people manager these issues I care so much about would be within my sphere of influence and responsibility. For better or worse.
In practise now I find that I am a Team Lead and yet I have far less ability to influence things than I thought. There are a host of people including my boss who want to run everything and expect me to be a rubber stamp.
In fact I get into shit more because I have to speak up for people in the team who are (unfortunately) rightly afraid to. Like "for a story to be ready we need the API defined" - how can QA work in parallel on automated tests when they don't know what to test? Scrum masters, POs, my manager, architects......they just talk whichever shit suits them today as if it was all self evident truth and tomorrow they're moaning about why the tests are late.
Basically you get into the politics of who is to blame for the state of affairs and the people who chose those directions and strategies are well connected and good at shifting blame.
They can write the test cases based on the feature requirements with some boiler plate code in those tests
e.g TestUserSignUpIsSuccesful() {
The real question is: why aren't they in the same team?
Deleted Comment
Many years ago, I was standing in my then-boss’s office while he got off the phone from an apparently successful request to have somebody in another department do something for him. He looked up at me from his desk, grinned slightly, and said in a bemused tone, “Well, I didn’t get any prettier when they changed my title to ‘Manager’ [from ‘Specialist,’ before I was in his team], but it sure helps me get things done.”
Oh sure thing, assign another task to an understaffed inadequetly skilled team with a roadmap due yesterday.
My additional advice here is to meditate. For real. Sit quietly long enough for your brain to switch off before making essential and impactful decisions that could harm your people.
In the beginning, you become a kind of parent-to-child genius. You have to accept them and also understand their ways. The more controls you put in place, the less control you will have, as they will attempt to jump around and oppose the unnecessary bureaucracy (I'll do the same, honestly).
My second advice is to always behave as if you are going to leave tomorrow. This will prepare your team and your peers and even improve your lifestyle.
In a similar vein, my ultimate management technique is to take leave and have my subordinates act in my position (for at least 2 weeks). It really accelerates their development and it's oddly reassuring to discover that I'm not indispensable. At the same time, I do wonder if it indicates that I'm doing something wrong given they seem to develop faster when I'm not there...
This is very good advice.
Ha! I just recently became a parent, and the skills are highly transferable between EM to parent.
Some days I feel like I am employing skills learned on the job to managing my family.