Engineering managers should not exist
vrosasv.substack.com
vrosasv.substack.com
I remember an interview from a former Valve employee [1] who described the company culture as "high school". This precisely points out the problem lying under those manager-less structure. The exact quote was:
> "But the one thing I found out the hard way is that there is actually a hidden layer of powerful management structure in the company and it felt a lot like high school. There are popular kids that have acquired power in the company, then there's the trouble makers, and everyone in between."
[1] https://www.polygon.com/2013/7/8/4503326/valve-hiring-and-fi...
As an EM, I'm not a decider on any compensation element other than "maybe a little more for this person, please" which typically translates into someone at a higher pay grade taking it from someone else, which sucks.
As an EM, I can't outright fire anyone, there is an entire process with Directors and HR and Chief Whatever Title types for that to happen, as it should be - those shouldn't be rash/quick decisions unless its something egregious/obvious.
As an EM you are typically powerless and caught in the middle between those pleading/demanding to get more done (upper mgmt) and your team telling you the reality of how complicated and lengthy it is do to the work. The team is usually always right and upper management is too busy having meetings about meetings.
As an EM the pay level isn't drastically higher than a lead or whatever magical titles HR uses.
As an EM I don't pick up any fun or critical lane work because I'm stuck in meetings all the time. I do cleanup and shit work any dev could do but also that is boring and usually nobody wants to do it.
Why does anyone choose this? I ask myself this more often than not and when that frequency increases then it might be time to move back to an individual contributor role, again.
My #1 job is to support the engineers below me. I make sure projects don't scope-creep (PM should do this in theory but they often don't), I make sure my direct reports have someone they can go to when they get blocked, and I ensure our code quality and standards are upheld without being a micro-manager in doing so.
Also when it comes to salary increases and promotions I think it's crazy if an engineering manager doesn't fight for their best performers to get those regularly. You're just doing a bad job if you don't get your quality people raises. Your best engineers will simply leave eventually, which is much more expensive than a raise would have been. For engineers who don't perform well, they should have clear communication and actionable steps toward promotions and raises.
I think the real issue is a lot of engineers have bad managers, period. It has little to do with if they are called an "Engineering Manager" or not.
But once you give them control over salaries and budgets, they end up controlling everything else. And management begets more and more management.
Software Engineers as a profession are too weak in comparison to their impact on the world.
Lawyers are too powerful.
The most useful job they can do is to take on responsibility. When everything becomes decisions by committee, at least one person has to occasionally take the reigns and say "Yes, do that one and forward." That is their real value in big companies from my standpoint. The issue is when they are all concerned about their management, defer the decision upwards, and now you have a King who must approve everything.
What a delightful phrase. I've seen it before but never had something to call it.
You've just described every company of more than 50 people.
A better model is to ditch the project manager and give the engineering manager an administrative assistant.
Do you have any examples of this in practice? I've never seen an EM with an actual assistant before but this actually seems obvious and brilliant.
It's not difficult to be productive as an individual; but teams are much more complex and require constant tweaking. The highest performing teams are continually improving. A good Engineering Managers puts the systems and processes in place that make the team stronger over time.
But if you're not going to get excited about making your team as awesome as possible, then maybe management is just effectively being an agent of HR. Sounds miserable.
The best managers have both.
The worst have only positional and flex it constantly.
The mediocre have positional but rarely flex and rely on their teams.
Regardless, there always needs to be both types of authority so the ultimate accountability of performance to a goal can cleanly bubble up. As goals become broader, it's unfair to pin the accountability on one individual without putting them in a position of positional authority so they can then give smaller authority (and responsibility) to the individual team members.
Source: I have managed and scaled teams up to 100+ people. I've served both engineering (Head of Eng, CTO) and HR leadership (VP People) roles.
Love this.
Director+: Who largely delegate off to Tech Leads, etc. They don't have the time to get in your hair, and are focused on what is truly important.
Non-Technical Managers WHO KNOW IT. They don't try to make technical calls. They are there to support the team and make sure it runs smoothly. They end up highly dependent on their leads. Not the end of the world, but they better pick well.
Any technical manager, eventually becomes #2. "Rusty Programming Skills" etc.
I've seen, one manager who could hold Tech Lead and Manager. Even then as good as he was. He would have done better with some leads and more delegation. But that is one first level manager in 25+ years.
In the end, engineers need support. We know how. We need to know the what, and why.
Everyone on the team would be a "product manager" because they should all be involved in understanding the value of what they're building and what customers think of it.
Instead we have a strange overlap of HR, engineering manager, technical program manager, project manager, product manager, tech lead, and tech lead manager. It's unnecessary.
So, what, you're going to give me 4 "bosses" as a principal?
Same goes for these directors and VPs who can't give up working with IC direct reports, so now you've got 5 or more.
I remember someone or some company referring to non-engineering leadership as phonies, but I wish I could remember who. They had a rule: no phonies in management.
I like the idea, but I think there's more to it than that. But this whole 4-5+ "bosses" or "leaders" BS needs to stop.
EMs, like most managers, are typically paid more than most engineers. The reason why is very simple: They've sold their soul to the company, and that is, in fact, fairly valuable.
1. Most organizations have EM with one or another job title and many of them function very well. It is not a problem of specific role if something goes wrong. It’s often unfit people.
2. The role of EM is the role of people manager. This role is hard to delegate to anyone else: outsiders like HR will not know people well enough, assigning it to a product or project manager will overload those roles with functions unrelated to the primary job (great product managers are leaders without authority - it doesn’t mean they should take over their cross-functional teams). Principals are not managers by definition, they are people who have chosen different type of career not willing to do anything with interpersonal stuff. People management is a scope of work big enough to have a dedicated person for a team of 4-10 people, bigger teams will need more.
3. Engineering manager is a first point of contact for the business regarding feasibility and planning topics. While engineers work, managers talk. In theory a principal engineer can be such person, but not every team can and should have someone at this level. In fact, most should not - this is the role for the teams with over 50 people and it’s an org-wide role. If you have principal or architect in a team of 10, you are doing something wrong with the career path and probably overspending.
This is something that I really hadn't thought about before now. I used to work for a great product manager. He had a deep understanding of the problem space, expert-level knowledge of the technology we used and was an amazing customer advocate and pushed for us to always consider the customer first.
Unfortunately, as a human being, he was kind of a Type-A asshole. And he was also the CEO. That meant that right or wrong, he would usually get his way, even if it meant changing priorities 5 times in 3 days. To his credit, he realized that he had blind spots, and he would challenge us to push back against him. But realistically, how hard are people going to push back against the guy signing their paychecks?
Take away the authority he held as CEO, and I maintain that the company would have achieved far greater results.
That kind of thing is exactly what an EM is there to stop.
I’ve faced similar problems a couple of times, and it takes a lot of effort to correct the ship into a healthy Product/Engineering organization, but it can be done. There are tangible downsides to switching priorities constantly, and beyond inefficiency, team morale usually also takes a hit.
Now, without an EM, whose responsibility is it to stop this? No one’s really, it doesn’t land on anyone’s plate, so you either have to hope one of your colleagues with enough organizational leverage steps up, or do it yourself.
- Clearly not aware of the difference between “an individual” and “team dynamics”
- Unaware of the huge amount of organizational work that happens behind the scenes that someone needs to do (and I guarantee that you wouldn’t want to do that as an Engineer)
- Unaware of how much an EM shields their team as the frontline for questions, planning, prioritization, feasibility
- HR is never gonna be there to guide or mentor your Engineering career, which an EM will
Even the most senior engineers need guidance, and that’s what your EM is for.
The EM typically steps in to fill voids until they find qualified people to do these things. Not every Engineer is good as tech leads, nor as project managers, so it takes time to get them up-to-speed or find someone else.
This essay seems to confuse "engineering manager" with "bad manager". Nobody, in any field, needs a bad manager. A good manager is worth their weight in gold.
Not necessarily enthused, but compliant to their managerial forces: https://www.youtube.com/watch?v=mAiNdU1go1A
Can anyone with actual engineering experience comment? Software development is not engineering.
Source: Having spent almost 4 decades on this fun, both on hackety-hack world and engineering world, both as IC and manager.
The role exists for a reason, but the reasons aren't true for every situation, nor is the exact shape of the role the same across teams. These nuances matters very much when you're trying to decide if it should exist or it shouldn't.
To be fair my industry has CFR mandated management responsibilities, including provision of resources and ensuring effectiveness of the company's quality systems.
But beyond being shielded from all that 'crap' I wouldn't want to deal with, my manager is...
- A resource on technical topics I'm not as familiar with
- A liasion to other groups, eg when I don't think I'm the right person to own something, or I'm hitting roadblocks
- Someone to vent to when other groups 'just don't get it'
- Someone to help prioritize and rebalance when I'm underwater
- Someone to keep shit from flowing downhill onto the engineers
- Someone to buy team lunches