Hacker News new | ask | show | jobs
by torginus 833 days ago
Management sucks period. As to why management sucks my friend offered a good insight:

Some people crave to be winners, crave to be on top, to be above others. They will raise hell and bring down the heavens on your head if they don't get what they want. They want status, they want control and they are constantly spending every waking moment of their lives on figuring out how to achieve it, and don't care about much. These people will destroy your organization if they don't get what they want.

These are a separate breed from engineers. You can look up their CVs and I guarantee even if they started out in technical roles they didn't spend more than a year there.

As for are they viable from a societal standpoint, I'm not sure. They are essential for the functioning a certain type of highly toxic organization, just like lawyers and prosecutors are essential for a functioning legal system. Office politics is a negative sum game, but not playing is worse than playing it.

1 comments

That is probably true to a degree but IMO we make brutal decisions about code when we have to and get it wrong and so on. Why when it comes to organising people into some effort would we not have brutal decisions to make and get them wrong? Why expose yourself to blame when you could hide in the group?

It's going to take ambition, desire, hard headedness, reward etc to make anyone do such an undesirable thing. The higher and more risky it gets the more tough people probably need to be. It's also a lot easier to be selfish and tough than caring and tough so there's a larger supply of bastards to be in charge than empathetic and kind but still somehow tough people who can take the nasty decisions.

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.

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.