Hacker News new | past | comments | ask | show | jobs | submit login
Why are Amazon, Facebook and Yahoo copying Microsoft's stack ranking system? (25hoursaday.com)
200 points by nickmain on Nov 11, 2013 | hide | past | favorite | 164 comments

Here's a question to which most people experience revulsion, but must be thought of and answered honestly:

Why not give everyone the same bonus based on company performance? Make it collective good.

You'll probably think of reasons, like "good people should be rewarded," or "people who do things wrong need to have consequences," but you must realize the alternative is this vile demotivational anti-pattern with even worse consequences.

The right way is to align the company goal with the individual goal, and do it simply and clearly.

American companies need to understand and follow Deming's principles (http://en.wikipedia.org/wiki/W._Edwards_Deming#Key_principle...), or we'll continue falling into the soul-sucking black hole we're already halfway into. He already knew all of this, every bit of what we're experiencing, and our objection to his ideas is nothing more than an ideological almost religious belief that the most effective way to motivate individuals is to rank, rate, measure, and reward them accordingly. In fact, those archaic methods of management only serve to demotivate and systemically destroy culture and productivity alike, and reduces the quality of whatever you produce, be it innovation or physical products.

We know this. Deming's ideas work. They are truth in writing, and knowledge in practice. He pulled Japan out of a post-war recession and made them legends of quality production for pete's sake. Why can't we learn?

I am currently reading a bunch of the Toyota Way books, Deming, etc. and sometimes I wonder if one of the most basic assumptions in the West is that the individual is the root and the system is a derived thing. This assumption starts, maybe, with Christianity which tells us that we stand alone before God judged on our individual character, not on our wealth or social position. Buddhism, on the other hand, tells us that even our perception of selfhood and autonomy is an illusion to be rooted out and discounted.

To toss out an assumption as fundamental as these would require a huge realignment of all sorts of things -- how we punish and reward, our sense of self worth, who is good and who is bad, etc. So we don't really want to go there.

I think the West could benefit from a swing to the Systems/ Wholeness side of the dichotomy, but I wouldn't want to discount how powerful and what a creative force our individualism has been throughout the last 2000 years.

(EDIT, PS: Deming is the real deal, and the Toyota Way/ Lean books and movement tries to take some of his surface ideas and implement them without challenging their readers in the way Deming wanted to.)

(EDIT, PPS: Toyota / Buddha says "You see a problem? Change the system." Microsoft/ Jesus says "You see a problem? Roast the culpable individuals, reward the virtuous individuals.")

(EDIT, PPPS: Hegel and his philosophical descendants have the best take on the dynamic movement between individual and collective, without discounting either of the two viewpoints.)

That's a really good point. Its not just the useless people that reduce a team's effectiveness.

A few jobs back, I worked with a person that was incredibly brilliant, and a very prolific developer. Unfortunately he made everyone around him miserable in countless ways (definitely a prima donna). He would rewrite large sections of code and change core user functionality without asking product managers or other developers. When confronted, he refused to revert his changes because he had done it right and "everyone would see once it was released".

His abilities and contributions would likely put him at the top of a stack rank, but overall he may have hurt the company more than he contributed.

For more on Deming's ideas see



"The idea of a merit rating is alluring. The sound of the words captivates the imagination: pay for what you get; get what you pay for; motivate people to do their best, for their own good.

The effect is exactly the opposite of what the words promise." W. Edward Deming - see: http://blog.deming.org/2013/02/the-idea-of-performance-ratin...

Minor point...

I'd say Christianity goes along with the original poster's idea of everyone getting the same reward - ie grace - nothing you do can merit it - it's a gift.

The parable of the vineyard workers explains it - it doesn't matter how late in the day the workers start working - they all get the same reward.

That may be true, but it doesn't take into account the Protestant work ethic[1]. I think Wikipedia has a good explanation:

the notion developed that it might be possible to discern that a person was elect (predestined) by observing their way of life. Hard work and frugality, as well as social success and wealth, were thought to be two important consequences of being one of the elect; thus, Protestants were thus attracted to these qualities and supposed to strive for reaching them

[1] http://en.wikipedia.org/wiki/Protestant_work_ethic

Also, if Jesus was interested in "roasting" people, he wouldn't have bothered coming here.

And if His old man weren't interested in roasting people, He'd have used industry-wide best practices such as two-factor authentication and salted password hashes on the root server, to keep Satan from hacking into the source repository.

This is a really interesting observation, and one I've thought about before.

I've noticed that companies tend to fall into two philosophical camps, both of which can be successful if executed right. One camp says that you should create a great process so that you can stick anyone in it and they can be successful. Another camp says you should get great people and the process will work itself out. I'm illustrating the extremes to clarify the picture: even process-driven firms need good people, and people-driven firms need good processes.

I'm not sure there's actually a "right" answer to the question, so much as you need to make sure you execute in the right way against the strategy you've chosen, although I do think that certain industries and firm sizes tend to advantage one over the other.

There must be a balance, since both are in fact true.

The same can be said of politics, but extreme ideologies exist still.

Completely agree, I think you have the roots of the different paradigms entirely correct. It's also the same dichotomy that produces the bisected political extremes in the US.

I disagree that we don't want to go there. One of these seems to produce better results, companies, and societies, while the other produces effectively dysfunctional ones, like the example we just read.

I seek realignment. This can be improved.

>Why not give everyone the same bonus based on company performance? Make it collective good.

Because like all collective goods you suffer from the tragedy of the commons. If you work for a large company your individual contribution is so small it has a negligible effect on your bonus. Unless you're interested in moving up the management ladder the smart thing to do is just work hard enough to avoid getting fired. Of course not everyone will adopt this attitude, but enough will to affect the overall performance of the company.

Also your top performers will leave. People who are passionate about their jobs and put in long hours expect to be rewarded for their efforts. If you give them the same bonus as the guy in the next cubicle who's out the door at 5:00 PM sharp they're not going to like it very much.

My company used to have two bonuses - one based on individual performance and one based on company performance. A few years back the individual performance bonus went away and the results have been disastrous. Once you get a significant percentage of people slacking off the entire character of the office changes.

If you make the same as someone that leaves at 5pm sharp, you don't have to like it. If monetary compensation is your motivation for staying later, you're likely making the wrong choice. Bonuses in those instances do set the wrong tone, though. I would consider getting the same as a non-performer just expected salary increases but its still a kick in the nuts either way.

Your last line is crucial and one my experience can echo. If you strip away incentives, ones that attracted people to your place to begin with, you can expect turnover. You might as well be walking then to the door. You can fool new hires to a degree until they hear that there were performance bonuses at one point and then the same resentment starts to grow inside them too. You're only real recourse is to have every one of the "old guard" leave so you can continue your downward spiral into cheapness.

This is the basic cooperation vs. competition problem. If you have competition then people spend a lot of resources fighting because what matters most is being faster than your friends, even if that means working to slow them down. Whereas if you have cooperation then you get complacency because then nobody has to be faster than anybody, so everybody can sit on their duff.

It seems to me the solution is to rate people against absolute standards, never against each other. The article seems to think this doesn't work because you can't give a large bonus to everyone, but that smells like BS to me. If everyone is legitimately doing an outstanding job then the company as a whole should be doing outstandingly well, which means you should have plenty of money to pay everyone a large bonus. (Unless the metrics you're using are bunkum, in which case there's your problem.) The key is to make it absolutely without individual benefit to sabotage one's coworkers while still creating the incentive to excel personally.

Along similar lines, if you want to deal with the quarterly results bias, average it out. Publish numbers quarterly (or even more often than that) but set compensation based on an employee's five year average, not what they did just now. If you do poorly this quarter then you don't lose $1000 from your bonus this quarter, instead you lose $50/quarter for the next five years. At the same time, you still get a ~$1000 bonus this quarter, and you still want that number to go up next quarter, so you're keeping an eye on that average -- just not doing it this quarter at the expense of next quarter, because the psychological instant gratification of doing that goes away.

> It seems to me the solution is to rate people against absolute standards, never against each other.

The problem is that some desirable activities and behaviours aren't objectively measurable, but proposing any given measurement and then tying it to reward and punishment will change activities and behaviours.

In fields where you can have "total supervision" of a task, it can be made to work. If your metric is "widgets screwed together that pass QC", that's easily measured and paid.

If your goals are stuff like "elegant, modifiable software" or "communicates well with colleagues" then these can't be measured objectively. You have to pick proxies (cyclomatic complexity, number of emails sent) as your measurement. But then all that happens is that the proxies are optimised for. People will write peculiar software and treat email like twitter.

The book to read is Measuring and Managing Performance in Organizations by Robert D. Austin. His 3-party model of performance tracking neatly demonstrates why, under most conditions, an "objective" system is impossible.

Not hard. Impossible.

> "The article seems to think this doesn't work because you can't give a large bonus to everyone"

Indeed. Why can't you simply measure people against a consistent, externally-defined bar, and reward them based on their share of their performance group?

e.g., Employees who hit the bar are in group C, employees who exceed it are in group B, employees who are extraordinary are in group A. Each group has a portion of the bonus pool, and each member of a group gets the same as every other member of their group.

You can still get rewarded for better work, but now you're no longer working against an arbitrary bar defined by your peers. If you, hypothetically, have a team full of rockstars then everyone shares the bonus pool equally. Done.

Also, what's up with tying raises (not bonuses) to performance rankings? At the end of the day people will leave if they can get paid more elsewhere. The best/only way to ensure your employees don't leave is to keep paying them at or near what they can get on the open market today. That guy may be the weakest engineer on your team, but he's still a good engineer and can do a lot better than the shitty 2% raise you've stuck him with.

It's always fascinating the gymnastics people engage in to deny the existence of turnover costs

I agree. Having worked in the military, where there were no bonuses whatsoever, and salaries were based on a standard scale, I found that what made the good employees good was that they were proud of / enjoyed their work, and not money (a different problem was that people could not be easily fired (to say the least), which did lead to some slacking). I personally believe that people whose main motivation is the bonus are not the employees one should look for.

I think this only works in a situation like the military, where the "industry standard" as it were, states there are no bonuses. The introduction of bonuses are a perk, but in our culture of software development its also par the course at most places. From the company perspective, this can be seen as a somewhat salary cap. Instead of requiring I pay all workers x + 5%, I can get them to gladiator it out for that bit of money I don't really want to pay them. I can also correlate this to our US tip culture where its expected to pay people abysmal hourly rates and let the stack ranking of good tippers make up the difference.

I do think the military system would be preferable but it requires a huge industry shift and divorcing the idea that x gets a bonus so company y is more attractive, which seems near impossible. I'm also for abolishing our tip culture to replace it with Euro's but there would be some in that culture that make good money and would balk because their employer would never make up the difference in a million years. Its definitely hard not to see either as a form of extortion but some play the game really well in spite of it all. You can still enjoy the work you do and play the game though, but it just becomes that much more difficult due to outside pressure.

"The American Dream" is meritocracy, and meritocracy is basically a lie, any which way you slice it. Measures don't discover merit, merit doesn't correlate to rising,and rising is only available to the few.

Equally shared bonus pools were fairly common in top-tier professional services firms until the late 1990s, and even when they changed, most kept fairly equal distributions of profits between partners and to associates.

However, almost all of those firms used a stack ranking system that was even more aggressive - those at the top got promoted, those in the middle got worked out over time, and those at the bottom got fired.

Shared bonus pools work when a company has an aggressive performance management culture, but this doesn't become visible as long as the company is doing well. When things are good, everyone is getting an extra lump of cash, even if it has nothing to do with their individual performance. But when the market changes, top performers flee because they realize they can make a lot more money someplace else, and that they'll never hit their goals until the company gets rid of the stragglers at the bottom and stops settling for mediocrity among everyone else.

I did experience revulsion, but I think that you're right, it's an important concept to think about. I perused the link you provided, and here are some random thoughts:

- The article lists as a deadly sin: "Evaluation by performance, merit rating, or annual review of performance"

But then the question remains: how do you make sure your best employees don't get poached by other companies who are willing to acknowledge the fact that they are superior, and pay them accordingly?

- Another point listed as a deadly sin: "Mobility of management"

I can agree with that, only if we also agree on the fact that management is just an administrative position, like at Fog's Creek or Jane Street. In other words, salaries and positions in the hierarchy are decoupled. If not, then the system you mention doesn't solve the problem of: "how are we going to promote people?"

I admit that I didn't read the entire Deming article, so please correct me if I'm missing something.

It's more about producing a quality culture in order to produce a quality product. You can still recognize people for performance, but not by an unverifiable and arbitrary rating scale. You can still promote people, but do it in the open by agreed upon skills, merits, and experience. Your goal shouldn't be to demotivate people by negating all forms of reward, but to motivate them by rewarding in the clear based on agreeable reasoning.

The key is in the culture: enable people to take pride in their work. It turns out from 10,000 feet, what most people want isn't, in fact, simple monetary recognition, that this is a by-product of the dysfunctional reward-seeking individualistic culture, looking for any way to find self-worth and recognition in a system devoid of true value. Any port in a storm.

What people really want is autonomy, mastery, and purpose from their work, and a culture that enables them to love what they do while being fairly compensated and challenged. Deming's ideas are meant to enable this type of business, and entirely remove the type of childish game playing over simplistic rewards you're talking about.

You go from a simplistic carrot-and-stick reward-seeking and punishment-avoiding mentality (and all the complex structures of negative reinforcement and behavior avoidance built around it) to a functional culture, devoid of fear, enabling people to do work that they can feel proud of.

If you have people who really are superior, they'll want to be challenged, to work with other great people, and to be fairly compensated. If you have sub-par people, work on raising them to another level: Point 13, "Institute a vigorous program of education and self-improvement."

Furthermore, your top performers are your outliers: the tiny sliver on the end of your bell curve. You need to start by realizing that statistically, improving your entire culture is going to improve your company more than desperately keeping hold of your top 2 rockstars using methods that are demotivating everybody else. It turns out, the things you do to improve your systems and culture are the same things that top performers want. They'll leave if they're not feeling fulfilled—if bonuses and money is all they want, screw 'em, they're culture thieves anyway. But what they probably really want is work that is real.

Easier said than done, but Deming gives an excellent prescription for how to do it, and it's fully backed up.

The key is to realize that you cannot do these things in isolation. That was his last point: "Put everybody in the company to work to accomplish the transformation. The transformation is everybody's job." You can't just remove part of your existing system because of one suggestion: you need to replace it with another, better one.

PS: Here's another writeup I did on this subject recently, delving into much more detail: https://news.ycombinator.com/item?id=6704645

I agree with you, but I think one thing is worth mentioning: You can still get rid of bad players.

The "bad player" problem is a real one. I'm not talking about people who underperform compared to others, but to those who disrupt the work environment by various means.

People like that are poison to a productive working environment, and there is nothing in anything that has been said which means you shouldn't get rid of them.

Oh absolutely. It's part of cultivating the culture. Personally I like the book "The No Asshole Rule."

>Why not give everyone the same bonus based on company performance? Make it collective good.

Company performance is not dependent on the performance of any one single individual. That is, I can be the laziest, most incompetent developer or middle manger, and it would have no bearing on quarterly earning. So if you're using company-wide performance bonuses to stimulate productivity, in a company of thousands of employees, you're doing something wrong. The incentive in that case is for each individual to do as little as possible because why exert yourself if you're just going to get as much as the next guy anyway, and the result is everyone loses. This is a classic "tragedy of the commons" scenario, where the incentive is to be a cheater.

So the idea of rewarding high achievers (carrot) and punishing under-achievers (stick) is a good one. That's what you need to do, and that's how you properly set up the incentives. The problem is that in a company of thousands of employees, creating a ranking system that works perfectly is pretty darn hard, especially since metrics are usually ambiguous and subjective. So you're not going to get it right 100% of the time.

You'd think that, but in fact, statistically and scientifically speaking, the opposite is true.

This is the disconnect.

"the idea of rewarding high achievers (carrot) and punishing under-achievers (stick) is a good one."

No, it isn't. This creates a company in which people are constantly afraid of the stick and fighting for the carrot. This generates in-fighting, corporate politics, ladder-climbing, game-playing, and a demotivated base (people not being motivated by either end of the bell curve). Your measurements become focus targets (as with standardized testing in schools) instead of your actual product. You lose cohesion, destroy culture, create a network of jealousy, secrecy, and fear. You lose employee loyalty, cause resentment, and lose productivity and effectiveness. Quality is adversely affected.

You're not going to get it right 100% of the time because you're not going to get it right ever. You're generating a dysfunctional culture, only held in place despite itself.

The answer is to remove it all; enable true pride in work, fair compensation, leadership, continual improvement, education and self-improvement. This works better. Not just in theory, but in practice. When you remove all the unpredictable negative consequences of the carrot-and-stick system, you enable an order of magnitude better company.

Read it again, try to understand it better. There's a disconnect, and you're the perfect example of what's fighting this exponential improvement.

> The answer is to remove it all; enable true pride in work, fair compensation, leadership, continual improvement, education and self-improvement. This works better.

A key question in the idea of "fair compensation" is what do you mean by "fair"?

If one of your superstar outliers is contributing 5x, 10x or more business value than the average, what does fair compensation look like? Is it 100% of the compensation of the average? 110%? 150%? 250%?

In my experience, few firms have compensation structures so flexible as to reflect the true range of contributions of different employees. As a result, their compensation philosophy tends more towards "equal compensation" than "commensurate compensation".

The question is whether fair lies closer to "equal" or to "commensurate" on the spectrum.

(I obviously understand the argument that equal might result in a more cooperative workforce and a stronger company, all other things being equal. But the very strongest performers, assuming their strength is portable to another firm, will have an incentive to migrate to a firm willing to compensate them more commensurately to their contribution, again, all other things being equal.

Once one of these firms springs into being, they may become a magnet for talent as great people like to work with and for other great people. If one can do that to a greater extent at this magnet firm AND have a higher income, enabling more retirement and family financial security, better vacations, etc, those will be powerfully aligned forces.)

I wonder if the individual reward versus collective reward approaches have any actual data for their respective sides?

I am pretty sure Toyota gives collective bonuses or not, and they are kicking the shit out of American auto, but I don't really have the background in this to cite data on either side. Maybe someone on HN does?

>I am pretty sure Toyota gives collective bonuses

There's nothing wrong with collective bonuses. I just don't see them as a boost for productivity. It's a nice perk. I probably overstated their negative effect. You're not going to not do 'nothing' since your team will know if you're not pulling your weight, and social pressure plus threat of being fired will keep people in line. But yeah, generally collective rewards just don't work as expected, else communism would work.

> Why not give everyone the same bonus based on company performance? Make it collective good.

I don't know whether this is common in other industries, but at top American law firms, salary raises and bonuses are lockstep. That means everyone gets paid based strictly on seniority. At many firms, this even carries through the partnership ranks.

There are benefits and disadvantages to such a system. The benefit is that it reduces competition between workers, and reduces unproductive credit-seeking. When you rank people against each other, the focus ultimately shifts to optimizing to the ranking metric, which is inevitably different than actually optimizing job performance. Such systems favor people who are good at taking credit, not people who get the best results. Lockstep systems also increase cooperation: nobody avoids helping someone else or avoids working on a stronger team for fear of the zero-sum nature of rankings.

The downside is that strict lockstep systems keep you from giving superstars extra compensation. This can be a liability if you don't have a uniformly high quality of employee, because superstars will leave for companies that offer individualized compensation. That being said, the advantages of individualized compensation decrease as it becomes more difficult to achieve true measures of individual performance. Nobody complains about individualized performance ratings on Wall Street, because it's easy to compute how much money a trader made for the firm or the value of the deals an investment banker worked on. The relevant metrics are objective and hard to game. It's much more difficult to evaluate a programmer's contribution to a development team.

The most troubling thing to me about stack ranking is not ranking per se, but the fact that stack ranking is applied by HR departments. This issue has come up before in the context of hiring, and what I said then is the same thing I'll say here: HR should not be involved in hiring, or firing! It's perfectly okay to identify weak performers and fire them, but it should be an organic process that happens based on the decisions of technical leadership. HR folks are administrative people. They're there to fill out W-2 forms and keep you from getting sued by disgruntled employees. They do not have domain expertise and do not know what makes for an effective technical employee.

This is an area where tech companies need to take a page from Wall Street rather than traditional Big Corps. At an investment bank, a banker decides who to hire and who to fire, not some HR person who has no understanding of banking. To make this system tractable, firing decisions are made at a low level, early and often. That prevents getting into a situation where the organization builds up a glut of weak performers that need to be fired in some comprehensive and systematic culling.

I don't think you want to be replicating the management practices of major law firms, which are generously considered awful places to work. Lockstep bonuses only apply to associates, and are usually a function of the senior attorneys' inability to provide meaningful feedback and performance management, not a desire to reduce competition.

Competition at law firms is fierce. They are rife with unproductive credit seeking, because the real incentive isn't a bonus, it's promotion to equity partner, and there are only a small number of spots open at the top.

But you nail the real issue with stacked ranking: HR departments should help design and manage a performance management system, but the feedback and decisions need to be handled by managers who know the business and have direct involvement in their employees' work. I think you're over-estimating how effective this is at investment banks, where you tend to have transparent performance metrics, but awful managers. But there a lot of major companies tend to get it right.

> I don't think you want to be replicating the management practices of major law firms, which are generously considered awful places to work.

Law firms are generally considered awful places to work because they're in a service business where people are compensated, in part, on their ability to respond to client requests at 2 am. But that aside, there are a lot of very sensible management practices in law firms, that have arisen through more than a century of practical experience in a "knowledge worker" field where employee performance is not easily quantified.

It's in vogue to criticize law firm management for problems that are properly attributed to the structural dynamics of the industry (slowing growth in demand), but I've never found such criticism convincing. Indeed, I think a lot of the historical conditions that led to the current management practices of law firms are similar to the conditions faced by top technology companies today. Google and Facebook don't need to figure out how to get adequate performance from large numbers of mediocre people, like Big Corps often do. Rather, they are in a position where they have plenty of money to hire the top talent, but face an experience shortage. How Cravath, and others, responded to the similar situation in the early 20th century was institutionalized training, lockstep, and "up or out" combined with a substantial equity carrot. Instead of searching high and low for experienced professionals, Cravath hired them right out of school and taught them everything they needed to know. They kept people moving up within the organization, and offered a very real chance for substantial equity in the firm.[1] Those that didn't quite cut it were pushed out, but to a soft landing because the industry as a whole was growing and there was very high demand at other organizations for people with that brand name and that training. Those conditions don't really hold true for law firms today, but seem very similar to me to the conditions faced by Google, Facebook, etc.

Incidentally, I think Fog Creek's system is great, and is practically quite similar to lockstep: http://www.joelonsoftware.com/articles/fog0000000038.html. There are essentially just four levels (9-12) for engineers who are neither interns nor fellows, and compensation is fixed, and public, at each level (except for a small percentage of each level that might get "superstar" status and compensation halfway to the next level). There are no individual bonuses, just profit-sharing bonuses that are based on company performance and also fixed at each level. Promotion between levels is based on a holistic analysis rather than strictly seniority, but that's probably a useful tweak to lockstep.

> Lockstep bonuses only apply to associates

Quite a few New York firms are still lockstep throughout the partnership. When firms abandon lockstep, its because of profitability: only a handful of firms are so profitable that they can compete for rainmakers while maintaining a lockstep regime. Since were talking about Google, Facebook, etc, in this thread, I don't think that constraint is relevant.

> and are usually a function of the senior attorneys' inability to provide meaningful feedback and performance management, not a desire to reduce competition.

Senior attorneys aren't great at providing feedback, but at least they see your work product, day in and day out. Engineering managers usually aren't reviewing and editing every line of code you commit!

I've worked as a software developer and also as a lawyer at a pure lockstep firm, and I preferred the management experience at the latter. The major things I appreciated were the flat management hierarchy and the strict separation between lawyers and non-lawyers. On even a big matter, there was maybe two to three levels above me. That was about the depth of the management hierarchy at the startup I worked for, which was 1/30th the size. And from screening interview to exit interview, I was never evaluated by a non-lawyer. HR was strictly for logistical support, not evaluation. And at the firm, even when feedback was weak, it was always from someone who had actually seen my work product, not some manager who heard from someone else about my work product. When I was at a software company, I spent a lot of time doing image management: making sure that someone important knew what I was up to. It was effective when it came to bonuses and raises, but it probably wasn't the most productive team dynamic. At the firm this wasn't even a concern. The partner on my matter saw my e-mails and often saw my work product. The only thing an administrative person tracked was my overall hours, and all I really worried about other than doing good work was making sure I kept my hours within the acceptable range.

[1] Even today, when partnership odds are considered a long-shot, a new hire at Cravath has a much better shot of becoming partner than a new Googler does of achieving a high VP-rank. This is at least partly because of eschewing the idea of hiring VP's from a separate class of professional managers rather than by promoting from within the technical ranks. This equity carrot is key to getting smart people to put in a lot of work for the benefit of the company.

>I don't know whether this is common in other industries, but at top American law firms, salary raises and bonuses are lockstep. That means everyone gets paid based strictly on seniority. At many firms, this even carries through the partnership ranks.

This is really only true for the associates any more, and it's a source of a lot of frustration. Mostly, I hear complaints about how either senior associates or junior partners are "carrying" the senior partners in some cases because their billing rate and total hours billed is grossly disproportionate to their income. Also, while salary might be locked based on which year an associate is in, there are all kinds of games played with which year associates get slotted into, especially if they move laterally between firms.

I don't agree that lock-step systems increase cooperation; if anything, they turn competition into a winner-takes-all game because they're generally associated with a strong "up-or-out" culture where you either get promoted or culled over time. That's not likely to encourage cooperation between peers.

> Why not give everyone the same bonus based on company performance? Make it collective good.

I wholeheartedly agree. Apart from niche examples, like measuring sale people on sales, there is no good reliable way to measure employees based on performance/outputs. IO Psychologists have been looking at this for years and even mathematicians (like Leonard Mlodinow in The Drunkard's Walk) agree.

And measuring salespeople on sales has demonstrable negative effects as well, such as the popular "salesman will promise the world in order to make a commission, leaving the developers to hold the bag" trope.

Works for John Lewis in the UK

To expand on this: John Lewis is a chain of department stores and supermarkets (Waitrose), which is owned by its employees. Each year, a sizable fraction of its profits go to a bonus distributed in proportion to salary (17% on top of each salary last year, according to Wikipedia).

Sorry I was being a bit UK centric there John Lewis is a effectively a worker coop - even though they dont use the term and there are a few issues with how the internal democracy works.

Its called stock options.

The evil, destructive, part of stack ranking is when you need to apply the 20%/70%/10% breakdowns to all teams equally, meaning that even a team of 5 people needs to have one and only one "exceeds expectation" person and one person who "needs improvement", regardless of overall team level. It's not clear from this writeup that Amazon and Facebook are applying curves at such a micro level.

Completely agree, and I didn't know this practice had spread so widely. While doing the HR-sanctioned stack ranking requires X > MIN_POP_SIZE, in practice each line manager (i.e. lead) provides a pre-sorted list up the chain for merge-sorting. That way the line managers minimize the number of arguments during the official org-wide stack ranking. Many managers have gotten good at balancing their teams with high and low performers so they come "pre-sorted" as the lingo goes. If you don't believe me, ask about "pre-sorting." The fact your manager recognizes the term should be telling... Remember, managers get graded on how well they appear to their peers in stack ranking. It's ok as a manager to have low performers so long as you are "managing them." Managers have a disincentive to overrepresent their team to their peers, and managers are perfectly fine pre-sorting their lists. Again, it's easier and better for them to do so.

The unofficial pre-sorting when X < MIN_POP_SIZE is what most individual workers notice (managers play favorites, careers are differential functions anyway), and HR has prepared the logical response (MIN_POP_SIZE is larger than your team) for managers to say when an employee asks.

It's clear that the primary effect of stack ranking is to induce churn in the org at the expense of loyalty and morale. The people making the decisions are smart, so I presume the effect is part of the strategy. My theory? Software development isn't as skilled as we like to think it is, and it's often cheaper to hire a young kid and pay a "high" entry-level salary with vested bonuses than invest in long-term employees. Think about all the unvested money that the company saves by pushing employees out before 4 and 5 year maturity cycles. Plus, actual senior engineers (not the title!) tend to say "no" more often to clueless middle management and create unnecessary headaches.

I think you're exactly right. The vast majority of enterprise software development is commodity work that can be done acceptably well by junior staff. The senior folks and leaders will bitch about it, but not to the point of getting themselves fired for insubordination.

Stack ranking at Microsoft has a min populaton size (x) - you generally walk up the org chart until the number of employees >= x, and then apply stack ranking to that group.

I think opponents of stack ranking generally overlook this fact. Yes, it's terrible if you have a 5 person team, but the data becomes more normal as you add more people.

Sort the members of each group of 5. Then take the bottom performer from ten groups and sort them. Take the bottom five from ten such groups and sort them. Fire the bottom ten.

If Google did it, they'd call it MapReduce and it would be the coolest thing ever.


How do you know the data becomes more normal as your add more people? Especially if you are performing the rankings independently on each individual.

If you feel like your company is hiring against a certain set of high standards, are your employees at the low end of the 'normalized' curve holding you back as much as the people at the high end are pushing you forward?

If we put it this way, you answer your own question: :-)

>> How do you know the data becomes more normal as your add [data points]?

That said, yeah this is crazy.

The worst problem with stack ratings is not what it do (firing people which don't work out will happen, it is often good even for those fired).

The worst problem is that it destroys team culture as it is described at Microsoft: "if you're in a too good team, switch or you'll be fired." It gets hard for managers to build good teams when the individuals even have an incentive to sabotage each others. And so on.

Edit: The first part had a ":-)" on it. I think that is not interesting, compared to the idea of being in a team with people that have motivation to screw their team mates over. Like being in prison or playing the Paranoia RPG (an orc in Sauron's army?)

Not all data fit's a bell curve. In fact most does not which is a real issue that's ignored by way to many people.

Any Stack ranking using a Bell curve would be dumb. Nobody I'm aware of does that. Most curves look more like a Chi Square Curve, which is far more top heavy.

You don't get anything like 'normal' without scores of samples. Any small (<50?) group is going to deviate significantly. Which means stacking is abusive to somebody.

More normal != enough normal to be a good way to do things.

I'm sure that it works very well in a sweatshop, though.

but the mechanism by which it migrates up is 'calibrated' by managers arguing with one another, isn't it? In which case the politics and opinions of a small number have a disproportinately large effect on people's scores in aggregated groups.

Precisely. And because the consequences of stack ranking are so significant you can bet your ass that anyone who can use office politics to game the system will do so. And at MS there are already a lot of politics in play, so stack ranking just brings it to the forefront.

Instead of being a meritocracy it ends up being about whose managers play the game better and have more political power.

My understanding of my group (which may not apply to all parts of Microsoft, of course) is that our 6-person groups are too small to stack rank, so stack ranking rolls up to the next level. So Microsoft doesn't apply stack ranking at such a micro level either.

My understanding is that they don't /officially/ apply them at such a micro level, but it requires an unusually persuasive manager for the "low ranks" not to be shared around evenly between the people having to rank their workers.

My wife worked at a company that did stack ranking and that is exactly the way it worked out for her 5 person team. You also need an unusually persuasive manager to get more than one high rank.

I've wondered if recursively propagating down "bonus points" would be a fair way of solving this.

For example, Acme, Inc ranks on a 1-5 scale, and all things being equal, a manager will get (direct reports)x3 points to allocate for his performance reviews.

But Acme has a good quarter due to a strong engineering effort, so the CEO decides that Bob, VP of Eng, gets a 4, and he gets to allocate (direct reports)x4 points among his directors, who each get to allocate (their score)x(their direct reports), and so on.

I think there needs to be some adjustment to the equations, because it doesn't make sense that everyone under a superstar also should be rated a 5. But I like the general idea of having groups be accountable as a group, and having that propagate downwards into the organization.

I always wanted to experiment with a system where all employees have a currency that they can pay other developers who help them or that they think are doing really well. As well as the credits that all employees have, there are also large numbers of credits distributed to the product owners of products in proportion to how much money they make. Come bonus time, the bonuses are paid in proportion to how many credits you have received from others.

I could easily imagine gaming this system just like the others via kickbacks or other quid pro quos.

There are things you could do to make it harder and potentially more dangerous to game, but to be honest, all systems can be gamed, but honest people are less likely to do so if they are in an environment where they are trusted and treated like adults.

I wonder if you could fix that by exempting employees from individual ranking if they work in groups smaller than n, and then rank those groups as if they were individual contributors. That way, a mid-level manager with five groups of five people would have to cut the least promising group loose.

... Nah, still sounds like a stupid idea. Any ranking system where an individual's outcome depends on their number of colleagues is bafflingly broken. This process can't build a cathedral or a bazaar, just a bureaucracy.

> Any ranking system where an individual's outcome depends on their number of colleagues is bafflingly broken.

From the perspective of the company, it's not as clear how this approach is broken. Assumably promotions, hirings, and firings should be based on the current needs of the company, not what's fair to the employees or some ideological vision. I'm pretty sure attempting to apply any one method for evaluating so many different employees in so many different roles will fail in some manner.

The critique is not in relation to fairness to employees but rather the reality that there doesn't always have to be such a distribution of performance. Sometimes most people are excelling, similarly, sometimes you may need to fire FIFTY percent of the workforce. You should judge people on a measurement that's not purely comparative to other employees. If every single employee steals from the company, that doesn't mean that the one who stole the least amount of things is "exceptional".

The problem with stack ranking isn't that it's unfair to individual employees, it's that it inhibits cooperation. If "success" is defined as performing better than your peers, it creates an incentive to prevent your peers from performing well. If everybody is actively sabotaging each other's efforts, or even just not helping each other, that hurts the company's overall performance.

Sure, but it's not clear cooperation should be prioritized over e.g. loyalty. (I happen to think it is, but it's not at all an objective inference.)

Well, if we were talking about car salesmen, I'd buy that. But building software? Cooperation is critical.

I think the following anecdote may illustrate the silliness of the ranking systems:

My wife works in a big manufacturing company (which is just slightly related to IT). She started to work in a just-opened position for some department. As the position is new, they are not sure about her obligations.

After one year, she had a end-of-year review, where her immediate boss rates her performance. Because she completed everything she was asked to (which was not a lot... given that they still are defining the role), her boss gave mainly 9s or 10s (out of 10) for her rating.

Well... apparently, nobody in that company is supposed to get 9s or 10s, as that would mean that their work is perfect, and their motto is that everyone can improve. So my wife's boss was scolded by her boss, and had to decrease my wife's ratings.

The worst thing is that my wife is the only person in her actual position, so she is not competing against anyone.


When I bought a car recently, the sales person said the company would send me a survey about his service. On a scale of 1 to 10, he claimed (and I did believe him) that the company treats a 10 as a 10 and a 1-9 as a 0 when determining employee bonuses.

I read the same assertion in a couple car buying guides. It was given as advice going into negotiation: let the salesman and his(her) manager know that you know how the rating system works and you're happy to give perfect scores for a good buying experience.

What leads you to believe that Microsoft applies the curve at that level?

There's an evil way to do stack ranking and a not evil way to do stack ranking. Obviously, Microsoft does it the evil way because Microsoft.

In fact, with Amazon it seems they are not, that's probably what Molly Graham meant when she wrote:

> Facebook has seven performance assessments as well as a guideline for what % of employees should be at each level, however it is explicitly not a forced curve, particularly for small teams.

I think the author completely missed the point of the original criticism they were responding to -- the criticism was very specifically about the specifically required distributions in each category, within each team.

The author of OP, on the other hand, seems to just be making the case that there are reasons to rate some people high and others low, and all the tech giants do it! That's the proverbial straw man.

The even more evil part is where the stack ranking figures are adjusted to suit hr's desired outcome with no direct link between an individuals performance and your final score.

too true. i'm being forced to do this to my team at another very large tech company. the large data-set curve approach is completely toxic in small teams that are destroying themselves to meet crazy goals.

Isn't there a fundamental difference between the FB rule of restricting the top rating to just 2% of employees and the Microsoft rule of decreeing that there must be a bottom 10% of "poor quality , less talented, undesirable elements" in the workforce.

The FB system doesn't make the non 2% feel rejected and unhappy - it just makes it very hard to be crowned the superstar which I think most people find perfectly acceptable.

To address the relatively longer period of MS employee retention, Microsoft employees (esp the technical ones) in general work on a set of technologies (C#, NT Kernel, SharePoint,...) for which MS is the place to be. They build up expertise and then if they have to leave to join a comparable company, they need to rebuild in a different set of technologies most likely open source stuff of which there is very little in Microsoft.

Now if you are a Linux kernel hacker / Python guru/... at Google/Amazon the world is your oyster - everything you are good at transfers readily to companies/roles of similar stature outside.

Its almost like Microsoft technologies are a moat around its castle that keeps talent from leaving.

full disclosure I worked at Microsoft for about 7 years before leaving.

There are lots of companies that love hiring former Microsoft employees because they use the same stacks. Its only when moving to a new tech like google or some startups that there would be a problem, but then again google and facebook opened offices in Kirkland/Bellevue for some reason....the moat ain't that deep.

> Its almost like Microsoft technologies are a moat around its castle that keeps talent from leaving.

This is not unique to MS and MS tech, sadly.

So, the obvious pathologies of the Microsoft stack ranking model aside, what are the reasons that a company will want to do this?

The main reasons I can think of has to do with the dangers of getting comfortable in a large company.

It's very easy for a lazy manager to just hand out "A"s to everyone on the team and just cruise along. Slackers are poisonous, but painful to deal with for a conflict-shy, comfortable manager. Actually being forced to think critically about which of your employees are the top performance, and which aren't (and it's a mathematical fact that they're not going to be the same) is a useful tool to keep such a manager on his toes.

Another effect is simply to encourage a certain rate of churn in all teams, to get some fresh blood flowing through the system.

Stack-ranking directly forces the manager to use his human capacity for critical thinking to evaluate his employees, and in such is a useful distraction from that even more disastrous evaluation method: Objective metrics (hours worked, lines of code committed, bugs closed, sales numbers etc).

Forced Distribution Rating Systems (commonly referred to, incorrectly, as Stack Ranking Models) are intended first and foremost to identify the top performers and keep moving them up the company. Secondarily, it helps "trim the fat". People focus most on the latter, but the main draw is the former. It also is meant as a way to keep raters accountable for the performance management process and avoid rating errors, most obviously the leniency bias but also the halo bias.

Finally, in some organizations it's just a convenient way to distribute rewards (comp, promotions). While this is a highlight of it in any application, the focus on that as the primary benefit is less than ideal. But convenience is its own reward for many.

This concept is intended for use at the more senior levels in the company and typically not meant to be done within teams/groups/divisions, but rather across teams/groups/divisions.

The whole system is designed around creating a workforce with maximum potential, if not maximum performance. There are some simulation studies that have borne this out, but I'm wary of trusting the validity of simulated models in complex systems and social phenomenon. While evidence suggests neither raters or ratees react well to the system, actual evidence of behavior (e.g., attrition) and performance generally don't show the expected negative outcomes.

It's thought level of interdependence in one's role would be positively associated with poor performance, but I don't know of any evidence about this either way. It's also thought that the system works best in a culture that sends similar signals, like high-performance consulting cultures. Again, I know of no data about this.

Here is a decent, if somewhat old, PDF that is classic forced distribution reading. I don't think it's perfect, but it's a good starting spot: http://www.groteconsulting.com/resources/pdfs/Across_the_Boa...

I have more research about this handy on my work desk I can post tomorrow if anyone is interested.

I think managers are inherently in a bad place to review the performance of individuals in the team below them. They're primarily affected by the mean performance of the team, so if one guy is slacking off and the rest of the team needs to pick up the slack, the manager might not notice. I think peer reviews will be more honest. If a peer is doing next to nothing, or providing little to the team while everyone else is working like crazy, you're in a much better position to see that.

I think it is a lot more complicated that just that. The root cause here is there is no easy way to quantify one's contribution to the company (or even a team) in software development. Some other professions are easier to evaluate, e.g. stock traders have their own P/L, lawyers/doctors have their own customer billings, etc. Note that I said "easier", but not necessarily bullet proof, because it still encourages people to optimize for short term goals.

That's definitely the root cause. I'm not saying peer review is the solution, just that if managerial review is the alternative, I think peer review is better.

So a lack of ability of managers to actually manage then.

Which is a flaw in the people responsible for those managers to train and to bring them along properly.

If we follow that chain to its conclusion...

Standard Big 4 Consulting implementation. It provides value for a few years until employee realize that it's a lot easier to:

1. Get a job elsewhere 2. Hide in mediocrity because the effort to achieve a high ranking is greater than the reward by a lot.

In my personal experience with force ranking systems, is that it also drives politics within the organization. As an example:

I once was skipped a promotion because when we went to demo a unit the shipping department did a poor job packing the prototype equipment that I had just spent an entire summer building. Due to the packing job, a single RS-232 pin because slightly unseated causing intermittent behaviors for one of many features. It was still the most successful demo the company had ever given. So success we received a request for pricing the Military 24 hours later, which is unheard of. Despite this the Chief Engineer blasted me for the failure, and our inability to find the issue on site (mind you he was there too). When I brought this up at my review I was indirectly told by my boss that he didn't agree with my rating/rank but it was over his head. After that, I practiced both Items 1 & 2 but discovered that my new company also followed this practice. So it was a rinse and repeat to make sure force ranking is not within my new companies.

So what's a better way to do it?

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.

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.

A peer review-driven process.

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.

[A peer review-driven process. Productivity lost to that can't possibly be worse then the culture of backstabbing that stackrank promotes.]

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).

Doesn't seem like an important error to me. His point is that most Google employees haven't spent long enough there to be affected by multiple rounds of stack ranking/attempts to get promoted, and there being a hell of a lot of new hires is exactly why that's true.

Each employee receives a single unit of value. Let's call it a 'credit.'

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' ;)

So the funny thing is that this system is called Unicorn and has been in effect for many years at Shopify: http://www.fastcompany.com/1770955/using-social-media-improv...

It's useful, but no replacement for performance reviews.

I was going to ask how you knew that since I couldn't get that from the FastCompany article. Good thing I checked your profile first. Loved seeing you at MicroConf and keep up the good work ;)

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?

Presumably this leads to people passes their credit to the worst candidate, in an effort to stop the good candidates from surpassing their own score.

Do you have any reason to believe this happens in an iterative model as well?

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.

If everybody did this, they'd still be helping someone else surpass their own score. It also puts a lot of power into the hands of that one guy, who gets to redistribute all those credits.

That's equivalent to socialism. :) If the compensation received is proportional to the credits, then there is just one optimal strategy for distributing the credits.

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.

So don't complain when your kid gets expelled from the second grade for pointing his finger like a gun and saying "Bang."

That's not a problem with documentation, that's a problem with what is documented.

But documentation never shrinks, any more than production code does. It becomes a substitute for thinking. Zero-tolerance policies and stack ranking both seem like good examples.

Less documentation isn't always a bad thing. If you can't appeal to a written authority, you have to rely on your own judgment in the face of ambiguity.

I think that documentation is desired to limit legal exposure.

I think michaelochurch advocated open allocation.

How does open allocation address performance evaluation/compensation? Doesn't Valve have both open allocation and stack ranking?

Valve does stack ranking == compensation and they very much have a hirachy, it's just not documented. It's called the Tyranny of Structurelessness: http://beautifultrouble.org/principle/beware-the-tyranny-of-...

It's not structureless just because it's flat. Specifically, the article mentions "accountability is what gives democracy its bite", and Valve has definite accountability in its peer review and ranking processes, which as jstelly notes has no forced/expected distribution of results.

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."

Valve "stack ranking" is for bonuses only. In other words, an error that puts you toward the bottom of the stack reduces your payout from a pool of money you were never promised and to which you are not entitled. You get another chance next year to excel and come out on top. Over time, the errors should smooth out.

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.

You get another chance next year to excel and come out on top.

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?

I don't know anything internal about Valve, and I'm sure their system isn't working perfectly, but I'd imagine that the people generating 10-100x salary are getting bonuses that they're happy with, at least in most cases.

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.

Valve's review system bears little resemblance to the stack ranking being discussed here. It has no forced or expected distribution of results, for example.

Stack ranking as decided by peer review, no less.

Review (and compensate based on) impact rather than "performance", the latter carrying connotations of personal assessment rather than objective contribution.

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.

Valve does this in its ranking process, specifically the ranking process is about determining a composite value relative to his/her peers that each individual has on the company that allows for varied impacts to be comparable. For example in a system like this, someone who is an amazing programmer who spends more time making everyone around him smart than writing features doesn't have to rank lower than someone who quietly sits by himself writing a ton of feature code. That, plus no expectation/forcing of a certain distribution (e.g. the 10% lowest scoring people aren't necessarily shit, they could all be adequate in terms of value and deserving of a solid bonus, it's just that they're not as high as the folks above them) are what makes the process truly work and keeps confidence/trust in the system high (as well as the fact that all employees participate in the process.)

A hierarchal system of good management. Hiring processes that don't suck.

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.

Documentation isn't magic. Documented systems beget undocumented systems.

Eh. I'm in Facebook bootcamp now. Between this article about the ranking system, a truly uninspiring (to me --- YMMV) choice of teams to work on, and the press Facebook has been getting lately, I'm seriously considering parting ways and going somewhere else. Nobody can beat Facebook's pay or food, but what good is it if I feel like I lack direction and purpose? How much would it damage my career to say I tried FB bootcamp and didn't feel it was a match?

I can't speak for anyone else, but it depends a bit on what you do next. One or two solid jobs down the road, I doubt anyone will really care, but if you do it enough that it looks like you have made a habit of joining up and then not giving it a fair chance based on gossip from outside the company, then yes, that will count against you.

Hey, since I can't find your name or contact info on your account I figured I'd comment saying that I run Bootcamp and it sounds like we should chat (dr@fb.com) :)

As a complement to dr's offer above, if you want to talk to someone who has been at FB for a while and worked with a bunch of infrastructure (traffic, core systems, &c.) and product (graph search, site integrity, &c.) teams, hit me up. My unixname is neil (and my non-work contact details are in the HN profile).

I'd like to help you and dr find you a good match - FB has been a great opportunity for me, but I stumbled a bit so I know how important finding the right thing to work on is. I can also offer you my frank impression of the performance review system here, which I've been through a few times as an IC and as a manager.

Why would you say you quit right off the bat? So you can brag about being accepted but not staying? I don't really understand

It seems to me that stack ranking can only work for companies that are so attractive for new talent that any new hires are likely to be more valuable than the lowest-ranked current employees. Once a company is no longer so attractive, as seems to be the case with Microsoft today, you're actually pushing out better talent in exchange for worse.

Eh? Do you really think their pool of applicants is worsening quickly enough that a bottom-10% performer is better than the median new applicant? They still have bags of money to pay people, you know.

Facebook is the company that surprised me here.

Stackrank seems like umpteen other methods whose ultimate aim is to vacuuming people dry and discarding them. This "works" in the sense that if you can't motivate someone with the challenge, excitement and etc of working for you, there's always money, fear and the-other-etceteras.

Yahoo and Microsoft have lost all cachet to their workplace, and Amazon has always been innovative in the "our engineers have calculated exactly the profit made from turning off the air-conditioning in warehousing and legal has drafted the matching don't-ask, don't-tell contract" sense.

But Facebook using this seems like an indication they've reconciled themselves to being on the way down. That was quick.

Because it's easy and everyone else is doing it. Next question?

The title of this post assumes MS's stack ranking system is bad. Based off of personal experience, MS has dramatically improved how they do stack ranking. All companies stack rank, even startups. The only difference is that when that is formalized, everyone is on the same page and culture is more transparent.

Since you seem to have more knowledge of this than the general public here, can you provide info on how it's been improved of late?

As I understand stacked ranking, there doesn't seem to be many improvements that help when the underlying premise (forced attrition of "poorly performing" employees - where "poorly performing" is a judgement handed down by management) has major downsides.

My impression that these types of systems are more for culling than accurate performance review. Perhaps they need to drop a certain percentage of employees by some target date, and this is the most blame-free way to do it on a large scale.

That's not an accurate impression. Microsoft has grown their staff steadily while employing this policy.

All that means is that they are hiring more than they are firing.

The main takeaway here is that large companies have large-company pathologies. If you don't like that, work at smaller companies.

"one person cannot be evaluated and paid in isolation of budgets" - SteveSi is just wrong on this. This is only true if you have a policy of highly differentiated pay for short term performance and/or have an "up or out policy". ... both of which are in effect at MS.

You can argue it's a bad idea not to have one or both of those policies, but it is certainly possible to have a review system based on what one did, rather than based on the necessary political fight over cutting up the budget pie.

I'm more interested in why employees don't band together to game the system and ensure a given outcome, then split the winnings. Like a sort of a pyramid scheme - you and a buddy agree that this quarter it will be you who gets promoted and split the bonus/raise with your buddy. Then you get a third buddy and get him in on it if he agrees to let the second buddy be promoted this quarter. Now you're splitting 3 raises among 2 people. Then you get a fourth buddy in and promote the third one and so on. The system ends once the group has too many people at a high position. At that point any new employee joining the company at a low position is screwed, probably. Also at this point infighting will probably break out from people who don't want to split their raises with the ones with less money, given that they don't have a way of advancing any further. Obviously the only way to win at this is to be the very first person who, after everybody leaves, gets left with the highest position and highest salary. Which is why I called it a pyramid scheme.

How visible and gameable are the metrics, though? You'd have to ensure your metrics were better than some, worse than others, but NOT so much worse as to be dangerous.

Also, that sounds like a horrible amount of concerns for a developer. I'd like to build and ship code, not worry about measuring performance.

It has worked that way at one company I worked at some mangers gave people a good evaluation one year and slightly under next year.

"Although there isn’t forced ranking in place, it does looks like Google one-upped Amazon in making it difficult to climb up their corporate ladder by having a promotion process based on pleasing everyone."

This is not true. First, I think it's great that promotion-readiness is decided by an employee and not her manager(s). Second, when promotion packet is written, it gets reviewed by a promotion committee, most likely in another campus, and there is a very high likelihood that promotions are granted more objectively compared to the manager's peers (and up the chain, depending on a target level like it's done in Microsoft, long before peer feedback is written). Promotion committee decisions get reviewed and iterated to satisfy the promotion budget, and those lucky ones who meet the bar, get promoted. Sounds like a pretty fair system to me.

It depends on whether there are any checks so that such ranking systems are not abused. I know first hand that such systems are ripe for abuse by those who are connected. I know of an incident when a well connected long term employee performed very poorly and was put in the weeding out category. However because of his connections with Vice Presidents was able to engineer so that someone else was given his place in the ranking and fired. In a way a person was specifically hired to that team, reviews were engineered to give him a bad review in order to remove the well-connected but badly performing manager from the bottom list. This was not uncommon and would happen invariably in order to save the well connected but poorly performing person.

Inevitably some percentage of hiring decisions were flawed, either that they underestimated or overestimated the candidate's potential.

These kinds of ranking systems are a mechanism to correct for that error once there is a lot more information known about the employee.

That's not how stack ranking works. The only thing that is inevitable is that you will have many teams where almost everybody is either top-performer or low-performer, but they will get ranked on the global scale as if they are equally productive.

Of course there is a curve in all companies. The question is of interpretation how review scores get assigned (stab in my back and lunches with manager's peers like in Microsoft and perhaps in Amazon), or based on a peer reviews like in Google. Besides, to the best of my knowledge there is no fixed bottom 10% (or any number of percents) in Google/Facebook which ought to let go after each review period, compared to Microsoft.

I recall Valve having a stack ranking system as well? I haven't heard anything bad about their ranking system though. Maybe it is different considering the lack of managers with the flat culture that makes it better.

EDIT: Article I found on MS vs Valve stack ranking. http://www.jpuddy.net/2012/stack-ranking-to-gain-team-insigh...

> Why not give everyone the same bonus based on company performance? Make it collective good.

That pretty much happens when companies routinely provide stock to the employees.

Because they hired Microsoft managers.

SAP is too!

Why do these companies have Microsoft-style stack-ranking systems? Because many engineers are pussies who don't fight for themselves.

Imagine if that stack-ranking nonsense were done to a law firm. (Law firms have a very civilized way of managing people out into external promotions if they, after ~6 years, obviously aren't going to make partner. Google "Cravath model".) There'd be lawsuits galore. Attorneys would start legal process just to get embarrassing details (about said stack ranking, perhaps) into the public in discovery. Why? Because they (including the female ones) have balls.

Doctors and lawyers would never put up with MSFT-style stack-ranking. Bankers find clever ways to subvert and abuse it when it is imposed upon them.

But there are a lot of engineers who are just cowards, unwilling to stick up for themselves.

Example: in many companies, negative performance reviews are part of the transfer packet and impede mobility. Being (again) pussies who don't fight for themselves, many engineers just assume that's how things work. No, it's not. You can actually build a legal case on that alone. It's harassment (interference with job duties, here interpreted as using internal mobility opportunities) and already the start of a legal case-- if you get your shit together and start documenting. Use the right words and the bad review will go away.

Stack ranking isn't technically illegal, but if it renders immobile people who perform in good faith (i.e. don't flagrantly blow off job requirements) it does leave the company civilly liable for harassment charges-- interference with job duties. If software engineers collectively grew a pair, it would fall down within minutes.

A lot is self-imposed: engineers tend to believe in the idea of a meritocracy and the 20% overachievers. It's the lone hacker ethic. The downside is that if you stick to that, 80% of us get the shaft.

Lots of comparisons to attorneys, on significant difference is that attorneys have a way to advance their career while remaining an attorney. I've got nearly 20 years in this biz and constantly get told that if I want to increase my salary, I need to move into management. I notice a lot of the discussion is around how to get "promoted". Attorneys get promoted to partner, at which point they have equity in the company, and that's not "here's some stock options", you actually have your cash invested in the partnership.

Your remarks assume that software developers aren't subverting stack ranking. Anecdotally, they are, either individually or in cooperation with their managers.

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