Hacker News new | past | comments | ask | show | jobs | submit login

Lol this is all a smokescreen. Let me give you an analogy. There are 3 people in a car, one driver, one navigator, one manager. The manager provides 'oversight' and 'takes responsibility'.

If they crash whose fault will it be? The answer is always the drivers' You cannot be held responsible for things that you have no direct control over.

In software, if the infra goes down, who will need to fix it? Developers. If a feature is particularly tricky and technically challenging, who is responsible for getting out of a rut? The answer is the developers.

Things like fixing a tricky bug in a million line lib I didn't write (IRL example).

Managers can use the carrot and the stick, bring in more resources, communicate the developers pains upwards, but most likely they cannot do anything directly that will bring about success.

To be clear if done properly, this can be helpful, but to say that they are under more stress and responsibility than ICs is just untrue, considering they literally cannot do anything to resolve the origin of said stress (see car analogy).




The manager should almost always get the blame. Why didn't they get help from another team, why didn't they supervise that dev more carefully, how did the bug get into the code in the first case and were proper test procedures followed. Has there been a history of mistakes which show a pattern that's not being managed etc etc.

Ultimately the CTO is responsible to the board for why a problem damaged the business (even if it was all the mistake of a developer somehow). And the board to the shareholders for losing money.

In reality people, of course, try as hard as possible to evade blame or lay it elsewhere but in theory a developer who makes a big mistake should not have been in a position to do that damage solo and it's a fault in the system if they were able to - and in the people responsible for the system.


'Agile' has built-in ways of shirking management responsibility. When a developer is asked to solve some eldritch problem, it often goes:

- How long will this take?

- I don't know. This is very complex and I'm not familiar with the code.

- You HAVE to know, we HAVE to plan for it.

- Okay, then 5 days.

- Hey 5 days has passed, why isn't this done yet?

- I underestimated the complexity of the task.

- Ah, so YOU estimated wrong, so it's YOUR fault!

Hard problems exist. They can only be solved by hard-work and expertise and even then solve times are unpredictable and draining to the individual and are thankless endeavors. Management tries to paper over that, but this is a fundamental invariant of life. The fact that management makes solving these problems feel like punishment, only makes people try to avoid these problems more.


I heartily agree that the problems are hard and unpredictable things don't get made predictable by a method.

I think, however, if you're in a company with bastards who don't care they will find out how to screw agile just as they screwed the scheme before that. In the waterfall projects the example you gave is just the same.

In your example "I don't know, it's very complex" should lead to a spike where you have a chance to find out more. Then you'd give a high complexity estimate and everyone would try to think of ways to chip off a bit of the problem at a time.

You're also trying to get your whole team to think about what can be done rather than each developer facing horrible problems alone. But if you're managed by arseholes then even the most positive ideas tend to get turned into nightmares.


I'd really like to get on the same page as you, let me ask you are you a manager? Are you technical? Do you work on technically challenging topics (which I define by needing people with rare specialist skillsets)?

Because if you do you know you can't do certain kinds of stuff. You can't bring in another guy who's a cryptography expert while also having your particular domain knowledge. You can't communicate effectively upwards that you have a teethy issue.

Management is a leaky abstraction. The idea is that a manager is the person for a team who upper management can treat as a proxy for the team itself.

As for how things should work, the difference between that and how things actually work is the existence of carrot-and-stick feedback mechanisms to enforce a desired reality.

In absence of that you get a regression to the mean. Management which shifts blame. Disgruntled engineers who shirk responsibility. Stupid idealist youngsters who maybe go above and beyond once or twice, then after being burned either join the disgruntled majority or quit the company.


I became a tech lead and a line manager not too long ago. It's very difficult to keep your technical edge and also deal with the the meetings, the debates about what to do next quarter, the personal issues and yet be able to zoom back down to how the hell I'm supposed to add my bit of code into this design in a sensible way that will work...what the hell is going on with this incomprehensible bug...etc.

TLDR: the use of BLAME is not that helpful. We're all human and fallible. We don't want to get to the point of blame in the first place anyhow. We want to solve problems before they go badly wrong and blame is really just about what we try to do to make things better in future. Like, if you say "this person is the one who screwed up - they're just an idiot" that lets everyone else off the hook and lets the company not change itself at all. So I don't think that mode of searching for a scape goat is very useful. What's useful is that when there are several people and none is sure who should take on some problem then you need to clarify who is most responsible and should follow up and keep chipping away at it till it's solved.

I wrote a lot of other boring crap and deleted it to spare you the pain of reading it. Yes I'm technical but it's impossible to be technical in all areas. I do write code and I'm always struggling to keep up with the other developers on the team. I have specialist skills but they're only of limited relevance to this company and this team and skills become less and less relevant. It's very hard to deal with problems in a domain that you're not familiar with but you end up being forced to deal with things that you're not equipped for because nobody else really is and you're responsible.


The car occupants clearly didn't pay Boston Consulting Group or McKinsey to come up with an optimum span of control, as they'd surely been advised a management role wasn't necessary in a 2 person team.

On the other hand, a tank with 5-8 functional roles does have the role of tank commander.


If the manager is responsible for hiring and managing the driver and the navigator, then obviously they can also be under stress, and will be held responsible for the outcome.




Consider applying for YC's Summer 2025 batch! Applications are open till May 13

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: