Hacker News new | ask | show | jobs
by danwee 977 days ago
In general, engineering managers. I'm not talking about "bad" engineering managers, I'm talking about average ones (which are the ones one usually get).

- It's difficult to sell good engineering work to them, and hence salary increases happen (if any) but on the lower end.

- With the typical excuse "Eng. managers should empower engineers", eng. managers do around 1% of the job when it comes to start big projects. The whole load lies on the shoulders of the senior engineers. One would expect that an eng. manager is probably the individual in the team with the most experience (both in engineering and in management), but eng. managers usually don't spend time trying to understand the systems their teams own. A classic example is: an eng. manager who knows very little or nothing about, let's say, Node+js, even though he has been in the team for over a year: their excuse? They only care about the "high level design decisions, they don't need to code anything". Funny thing is, the "high level design decisions" are done by senior engineers

Good engineering managers are invaluable, though. But in 80% of the software teams out there we either have bad eng. managers or average ones. In summary:

- good eng. managers => heaven

- bad eng. managers => it's ok. Since they are bad, they most probably will be fired or the whole team will know quickly how bad they are

- average eng. managers => hell. Because they are not "bad", so they are not fired. They think they are good and all.

2 comments

I think you misunderstand the engineering manager position. They've to do things like present to senior stakeholders, manage expectations and handle deadlines, report on team progress, handle the teams budget, report upwards on how the team is doing, individually and as a team, ensure the team has the correct resources, ensure the team isn't blocked, facilitate planning and changes to plans, handling requests from different departments, focusing on continuous process improvement, interviewing, set vision and direction for the team, track and maintain delivery risks, align with others teams, know what other teams are up to, know high level changes across the company.

They do all this while having the technical grasp on what the team is delivering and how they are delivering it. If they're jumping into details around Node+js they are likely ignoring something else important.

A software engineer's responsibility is to design, build, test, monitor software while an engineering manager's responsibility is to oversee the team, projects, resources and stakeholders.

> A software engineer's responsibility is to design, build, test, monitor software while an engineering manager's responsibility is to oversee the team, projects, resources and stakeholders.

I think much of the frustration comes when a EM ONLY manages upwards with no regards to their direct reports. It creates a situation where the engineers are responsible for implementing decisions and patterns that they had no power over (often repeatedly warned against, to no avail) because that EM is bottlenecking their feedback and selectively reporting up to make themselves look good, sacrificing their team. In companies without skip-step reporting (where direct reports give feedback on the EM to their boss, once a quarter or whatever) this can lead to a death spiral where all the engineers are unhappy with a EM but there's no mechanism to remove them or complain to the higher ups. It just leads to mass dissatisfaction and group resignations, but even then there's no guarantee the EM will be removed if the higher ups don't know it's because of them.

That sort of strict top-down hierarchy just doesn't really work in software dev when the engineers have more technical savvy than their managers, and yet are constantly overruled and silenced in the pursuit of political points.

I agree with your broad point but the hierarchy is there on purpose.
Yes it is, but it should also have feedback systems where underlings can review their superiors. Hierarchy doesn't have to mean that underlings have nothing valuable to contribute.
I'll take the other side of this.

There are of course bad and average eng managers who have skills that are subpar. Let's keep them out of this discussion - they should be fired.

But the majority of eng managers who have the chops probably can't be in the weeds (even if they'd like to) because their plate is full of other nonsensical shit. Meetings, reviews, more meetings, planning, more meetings, and so on that effectively fills up the productive and creative part of the brain and day. At the end you're left with very little brain space to dig into, understand, and guide complex technical decisions.

No one needs to cry a tear for them or empathize but I suspect that's the reality.