The technical decisions are made by the high-level SWEs. The product decision and customer-facing work is done by the PMs. The EM role only exists to hire, evaluate, promote, and fire SWEs. It's very light on the "engineering" and very heavy on the "manager". It's almost an HR-type role.
In my career, all my EMs who weren't recently internally promoted couldn't read the programming language that their team writes in. Some of them have good system design skills but they eventually atrophy from disuse. It's very much a role where you hang up the cleats.
The root cause is that other professions didn't bifurcate technical leadership and people management into separate streams. The partner lawyer or civil EM is the seniormost technical person on the team. Often the software EM is the least technical person on the team.
BTW there are countries (like China) that don't follow this model. Meaning, the only way to get promoted above a mid-level SWE is to become an EM. There is no parallel IC track, i.e. no "senior staff", "principal" or "distinguished" engineers. Just young ICs and older EMs.
The question really is why does American tech organise itself this way, a completely different way to other professions?
> The EM role only exists to hire, evaluate, promote, and fire SWEs
I can see why some people would find that unfulfilling. I work in one of those other professions and if I did just the hr bit I would be bored out of my mind! Do SWEs value the input of their EM? Does it really add value, or a bunch of busy work?
The massive shortage of software engineer talent over many decades has created a situation where any work that a SWE doesn't like to do is carved out into its own role so that the SWE's job description stays fun and attractive.
DE, DS, BI, SDET, SRE, QA, FDE, SE and to some extent even PM are all roles that emerged from the boring stuff that SWEs don't like doing.
>Do SWEs value the input of their EM? Does it really add value, or a bunch of busy work?
Depends on the EM. Usually though, no. Usually EMs earn the respect of their reports by doing the people side of things really well, not by having extraordinary technical inputs.
I don't think that you can take somebody with a finance background, take them straight out of their MBA, and drop them in an EM position. That's a bad fit. Good EMs need to come from software engineering backgrounds, mostly for the reasons you cite.
But management truly is a different profession with a different set of skills and a different set of challenges.
Even on the IC track, there's languages and frameworks that I touched early in my career (e.g. Java/Spring) and haven't touched in, I don't know, a decade, and I have not been keeping up with whatever is most recent best practice there. If I were to go into an IC role for one of those frameworks, I might as well be going into an IC role for a language I haven't learned before, ever. I expect someone who has been working with that language on a daily basis to really, really know it - having the standard library practically memorized, knowing common pitfalls, doing a lot of stuff from muscle memory, someone who you give them a PR that "looks OK" and they start reading and immediately can say "well that's just not even remotely idiomatic".
EMs are almost guaranteed to lose that touch because their day job is talking to people, not writing code. That's not to say that they couldn't go back to the IC track and start to sharpen those skills again, but EMs with FOMO who try to stay in the code are spending that time not talking to people. The lack of focus makes them bad EMs.
That sounds insane to me. I want my manager to be good and managing. If they are writing code, it's a misuse of their time and skills. If they are good at writing code and bad at managing, they shouldn't be a manager.
What does a manager even do in this world where they are non technical? I have never managed a large sw team tbf, but in smaller teams I did manage I had to do project management stuff. In my normal profession I manage a large team, but one of my big roles is being there to advise technically and make the big decisions. I can see why people find these EM jobs boring, you must have to invent things to do!
Yes I believe so. At uni i see soooo many people who are in software to make a startup (before even knowing how to code) and make a quick buck instead of being good programmers
Because a manager at a structural engineering company is essentially acting as the equivalent of what a Product Manager or Forward Deployed Engineer is in the tech industry, because they are expected to be a technical domain expert and own delivery.
Meanwhile, for most software companies the underlying codebase isn't want generates revenue - it's the codification of business logic that does. Additionally, companies tend to have a separate Princiapl Eng to Distinguished Engineer/Architect track that outranks EMs and is in direct contact with leadership.
> Is it this MBA idea that management itself is a profession, rather than being 'a higher level thinker than the others'
Most Engineering Managers and Beancounters aren't MBAs - no company wants to sponsor an employee at a PTMBA which can cost upwards of $250K now.
Isn't that what product/project managers and architects do though?
Other comments describe EMs as just HR mangers