You need a documented system. If you don't have a documented system then there will be an undocumented system which is the same problem with less documentation.
You need a documented system. If you don't have a documented system then there will be an undocumented system which is the same problem with less documentation.
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?
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.
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).
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!
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?
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 :).
I think we need to chalk this up as a Red Queen problem and stop wishing for the One True Solution.
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.
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.
I don't know how to square this circle. I'm not sure it can be done.
Productivity lost to that can't possibly be worse then the culture of backstabbing that stackrank promotes.
For another point, the article seems to be making a heavy statistical error in assuming that Google's average developer lifespan is 1 year. Taking the average lifespan biases the result heavily towards new hires (Of which there are a lot of).
A more relevant metric would be average time between an engineer joining, and leaving.
Every methodology has draw backs. Peer Review-driven system result in patting each others back always rather than providing honest feedbacks. I have seen places where no one questions a decision to not hurt a peer (Because thats gonna hurt them in review).
Each employee then has to distribute all of his 'credit' to other employees.
Each employee then gives away any credit received according to the same original distribution.
Each employee continues doing so until the credit received and distributed reaches an equilibrium.
Each employee is then ranked by the total amount of 'credit' they've accumulated.
Maybe we should call it 'PeopleRank' ;)
In this model there's no reason to believe the worst candidate isn't passing his credit to employees just about to surpass you, which would defeat the purpose.
It's useful, but no replacement for performance reviews.
I'm not surprised that performance reviews are still needed since just a ranking wouldn't give employees a direction or focus to improve.
I am curious what you did find the ranking information to be useful for though?
So don't complain when your kid gets expelled from the second grade for pointing his finger like a gun and saying "Bang."
Microsoft-style stack ranking, on the other hand, completely fucks up your career in the company, even if you were just unlucky. You don't get another chance. This can happen when a company falters (layoffs) but it shouldn't be by-design.
A year is a long time to be passed by for additional compensation. Our technostartup environment makes a year feel even longer since the rate of change and adoption of new products is accelerating.
How do companies justify holding paltry bonus parties when teenagers are selling companies for $30 million or raising valuations at $4 billion for things that didn't exist 12 to 24 months ago?
Yearly bonuses feel like an entire lifetime passes between them. Sure, great, here's your bonus amount, but out in the real world there are still people going from zero-to-millions in the same timeframe.
Does this just go back to people are weak/scared/risk-averse and companies can exploit that sociopathically by paying someone $X while their work generates 10$X to 100$X value to the company?
That would be the more rare case of an employee getting screwed (delivering massive value, underpaid). Much more common is an employee who's screwed by being given inappropriate work, few or no opportunities to advance, but then compensated accurately (this might mean getting laid off) for the value delivered (with no allowance made for the error being in that person's work allocation).
No evaluation process is perfect, but a system where being unlucky means you live on your salary for a year is better than one where being unlucky fucks up your career, possibly beyond that job if you get fired abruptly with no severance. Microsoft-style stack-ranking is the latter.
From the same article is a very appropriate quote: "Structurelessness is often mistakenly conflated with absence of hierarchy, when in fact, effective non-hierarchical forms of organizing actually require a great deal of structure. Anyone who has participated in an effectively facilitated general assembly or spokescouncil meeting will well understand this distinction."
Low impact doesn't mean you're a "low performer" or bad person, just that you didn't have any major successes that year. You'd fire over low impact if someone clearly didn't care, but not if they were just unlucky/ill-mentored/mistaken in choosing what efforts to focus on.
The problem with stack-ranking is that it lets people get "killed by the dice", to use an RPG metaphor.
Instead of a complex recruiting maze where you need to have 13 people review new hires (and strive for the lowest common denominator between the group), they need more freedom to hire good people. People will and do game the system anyway. To counter that, managers need authority to terminate bad apples on a whim.
If these large corporations managed themselves like a collection of startups, we might see more innovation and less turnover.