Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

How about approaching managers in the same way we always like companies to approach developers, i.e., hire good ones and empower them do their job in the best way they know how?

Using a system that is enforced from the top down is a perfect way to guarantee you'll only get the kind of below mediocre managers we love to bitch about.

All of these systems are based on the assumption that companies can't trust the people they hire to delegate responsibility to. They're basically methods of maintaining a toxic environment instead of dealing with the root causes.

And it's a self-fulfilling prophecy, because it attracts the wrong people. What good manager you ever worked for would want to function in that kind of a system?



Managers have a bias to like and want to keep "their" employees, because they know them, because they are friends with them.

Even if Steve is objectively a poor performer, you know him; you met his wife; you saw pictures of his kids. He's a nice guy.

If you fire him, you either don't get a replacement (bad) or you have to interview 20 people to find a replacement (also bad). It's hard to hire - what if you choose poorly the first time and have to do it yet again? Easier to keep Steve.

Corporate problem: figure out a way to get rid of some of the Steves without making life too difficult for everyone else. Go!


You've just described not one, but two bad managers.

Steve's manager, who doesn't have what it takes to make the hard decisions and is to lazy to do job interviews, and the manager of Steve's manager, who won't let him get a replacement if he fires Steve, but is perfectly willing to keep paying for Steve.

Now you can defend Steve's manager because he's nice to Steve, but if I had a dime for every employee who's pissed at their manager for not ditching the underperformer that's dragging the team down I would be rich. Steve's manager is a textbook Bad Manager(TM).

Now most of us agree that no amount of process and system can compensate for bad software developers, and that although process can help, everything stands or falls with the quality of the developers.

Why don't we apply the same logic to management? Or do we simply assume manager == incompetent?


You call someone a bad manager because they are friends with their subordinates? So you'd only hire psychopaths? That seems fraught with peril.

To be more explicit: calling a human a bad manager for liking people is like calling a tree a bad tree for growing toward the sun. Humans are designed by evolution to like each other. The only humans that don't have this bias are broken ones.

So I refuse to consider someone a bad manager for not wanting to fire Steve. Good managers still don't want to fire Steve, and in fact if you had a manager who was 100% willing to fire Steve, that person would be a terrible manager in every other way.

So the question remains: you have a bunch of good managers, who nevertheless show a bias toward retaining people that the corporation might want to get rid of. Design a process to overcome that bias without making life miserable for everyone... go.


>You call someone a bad manager because they are friends with their subordinates?

Part of being a manager is separating your personal feelings from your professional obligations. You may think the world of Steve as a person, and you may not want to fire him, but if he can't do his job as a manager you need to let him go. And if you can't do that you shouldn't be in management.


One thing that people often don't realize is that firing someone is miserable for the person doing the firing. That's a powerful disincentive to follow through, even if intellectually you know that the person needs to go. This is even worse when your friendly with the employee. This means that the most humane managers, the people you want to work for, can also find it harder to do their job than the sociopaths.

I don't know how to square this circle. I'm not sure it can be done.


In the context of management, "good" doesn't mean the same thing as "nice" or "friend". Management isn't a popularity contest.


but if I had a dime for every employee who's pissed at their manager for not ditching the underperformer that's dragging the team down I would be rich.

I've worked places where every person would swear a different person was that person.

This stuff is hard, We've had corporations in the modern form for nearly a 100 years and we still havent reached a general solution which implies either everyone is an idiot or this is just a messy problem :).


Slackers, psychopaths etc are analogically parasites and predators. Billions of years of biological evolution and thousands of years of social evolution have not found a stable solution to this problem.

I think we need to chalk this up as a Red Queen problem and stop wishing for the One True Solution.


Ah but when you're dealing with humans instead of machines, having _less_ power is often a strategic advantage!


If Steve is a poor performer, you either are not meeting your performance goals as a team or have too many people on the team from the start. Usually it's the former. And a good manager notices that and knows who exactly is routinely not pulling his weight. In this case manager that decided to keep Steve is the manager that should be let go, as he is not doing what he was hired for - managing.


I wonder if cutting teams instead of people would be a better idea.


You need something more quantifiable than that when you're running a giant organization... Your approach would absolutely work in a startup of 20 people or less, but try that in the 10,000+ man Operating Systems Division at Microsoft and you'll run into some crazy logistics problems.


hiring/firing/raises can be done in small groups by their managers. What's crazy about that?


Managers squabble over the best developers. They fight to transfer their worst developers to each other, and don't let talented developers go work on other projects that interest them.

Every group gets the same number of raises, regardless of their performance, or effective developers in poor groups get nothing.

Stack ranking sounds like a shitty system, without a doubt. But I don't think you can have a well grounded opinion until you think about the issues it's trying to address.


Let managers release under-performing developers to "the bench", where they can be picked up by teams that need some new blood. People on the bench are cheaper to "hire" than people from outside, so managers have an incentive to prefer picking them up.

Managers don't "let" developers do anything. They have to actually have leadership skills (or enough budget) to keep their good engineers around by choice. Effective developers on poor teams find more attractive offers. Sometimes this will involve bonuses or raises. Sometimes this will involve more influence over product direction.

Obviously some sort of ground rules are needed (significant others on different teams, no kickbacks).


I think this kind of problem is what open allocation is supposed to solve.




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

Search: