The Poisonous Employee-Ranking System That Helps Explain Microsoft’s Decline
slate.com
slate.com
Everyone in life has disagreements, petty jealousies, things they struggle with in other people. The beauty of the question, Would you work with her or him again?, is that it specifically doesn't try to disentangle those things––because to a productive team the quality its members' relationships with each other as important as the quality of their work. If one or the other is off, it's not necessarily anyone's fault, and it may not even be cause for termination. But it's as good a metric as you need.
But it's utterly foolish to winnow on a percentage basis. You'll break up good teams and prevent better ones from forming. You'll destroy morale. You'll encourage a leadership culture of cutthroat sociopaths whose success is at best tangentially related to the quality of their work. Do not do it.
Because intrinsic pleasures of the job are more important to you than your compensation package, you initially find dealing with "lousy coworkers" demotivating. But you endeavour to make the best of a bad situation by finding out how to help your coworkers become better at their jobs. You end up developing a far deeper satisfaction in your work than you'd previously thought possible.
Did I guess right?
One of the pleasures of teaching is working in a (loosely coupled) team of good teachers with complementary strengths and weaknesses. Teachers are 'loosely coupled' because they spend most of their time with students rather than other teachers or managers, but being able to compare notes, get support and give support is really important to the role.
http://www.dailykos.com/story/2012/07/05/1106417/-Gates-s-Ca...
Here's the Gates quote the whole article is built around. You can judge for yourself how much it reflects a desire for a "Cannibalistic Culture" or its general merit as an approach to education reform:
"What should policymakers do? One approach is to get more students in front of top teachers by identifying the top 25 percent of teachers and asking them to take on four or five more students. Part of the savings could then be used to give the top teachers a raise. (In a 2008 survey funded by the Gates Foundation, 83 percent of teachers said they would be happy to teach more students for more pay.) The rest of the savings could go toward improving teacher support and evaluation systems, to help more teachers become great."
People say stack ranking is bad within Microsoft because you're not ranked against all 50k+ employees but against 10+ people that report to the same manager.
If 2 out of 10 people are guaranteed low ranking, then it's better to be a mediocre programmer in a team of poor programmers than to be a very good programmer in a team of even better programmers.
It also means that it makes sense to sabotage the performance of your 9 colleagues because you only care about looking better than them, not about doing best possible job for the company or your team.
A global stack ranking, if it was actually possible, would be great. You do want to get rid of low performers (and hire better replacements) and in a large enough pool the bottom 20% will really be worth replacing with better people.
But how do you implement a global stack ranking in such a diverse company like Microsoft? There is no good criteria for comparing the kernel developers to the frontend programmers, for example. I doubt you could even find 100 employees working on the same kind of task.
Disclosure: I recently started in a full time position at Microsoft.
This is really wrong, to get rid of the 20% low performers, you install a system that destroy everyone's confidence and promote short term decision making.
In the end, you get rid of 20% of people that just don't play the game AND you decrease the overall performance the group of people.
I remember reading a good article showing how rewards affect people performance by changing their goal, but I can't find it. Anyone?
In essence, it works as you describe: rather than trying to make managers give ratings using an arbitrary metric they don't understand (which can be avoided with behaviorally-anchored rating scales, but most companies don't spend the effort to create them), you basically ask them to decide whether they're in the club or not.
There is a bit more to it than that, such as training for and having managers justify their ratings, but it's simplicity is the draw.
I'd agree that's an important aspect, even a very important aspect, but hardly all that matters.
I could work with 10 of the nicest people on the planet, but if we all like each other & don't accomplish anything, is that really, well, good for the company?
Then again, that does explain most board of directors.
And if you take it after the projects done then you must have done something so the hypothetical isn't relevant there.
He made a point about whether you'd work with a team again, and how this is all that matters.
You made a point about whether it'd be good for the company for you to work with people you think are nice and can hang out with.
That's not at all the same thing. You're not countering what he said. He's talking about actually working and getting things done, and how productive your team is as a functional unit. You're talking about how much you like your team.
It's implicit in "would I work with this team again" that you'd be trying to work with the team and not just hang out for a beer or five.
Some of the best people I've worked with, and people I'd work with again, are people I don't personally like. But if they're productive and we have good professional chemistry, I don't need them to think Aaron Rodgers is the best quaterback to work with me.
The takeaway is this: you can work with a team and be extremely productive together, but you don't have to desire working with them again because they're nice or you like them. You should desire to work with them again because they're awesome and complement you well professionally.
Compliments the notions of Self Selecting Teams [1] and Roman Evaluation Interview Method [2].
[1] http://orgpatterns.wikispaces.com/SelfSelectingTeam
[2] Anything less than unanimous Yes is a No. h/t Luke Hohmann http://innovationgames.com/about/team/luke-hohmann/
I think everyone should say, at the end of a project, yes/no for wanting to work with other people. It's fine to not want to work with someone else, and that person doesn't feel discipline, unless a lot of people start refusing to work with him.
Let's taking what people are calling "stack ranking" apart. The first aspect of stack ranking, is simply forcing people to make decisions about what things/object/people are more important/better/etc. than others. This can be a valuable technique. For example, there is a very useful testing instrument I took a while back that took a list of twenty values, e.g., "justice", "loyalty", "honesty", "security", "family", etc., and asked me to force rank sets of five of these values in order of which I thought were most important to least important (i.e., DNI Clapper would rank "honesty" below that of "loyalty" and "security"; others might make different choices --- there were no right answers). By taking twenty or thirty of these different subsets, ranked in the order of which I thought were most valuable, a computer program would allow me to see which values I considered most important, and which I considered least important. This was a valuable thing, and so the technique of doing forced ranking is and of itself a useful thing.
The second technique is that of trying to normalize employee performance review ratings across departments --- whether using a bell curve, or some other technique. Again, in isolation, this isn't necessarily a bad thing. Some managers might grade their employees more harshly, and some might be soft touches. Within a departmental level, it may be easier for a manager to argue that his team were all stars, but how do you deal with the question of an entire department using a harsher or more lenient grading system? One of the simplest things to do is to use a bell curve --- which may or may not be fair, especially if the company says (and all companies will claim this) that they hire the "best and brightest".
The final component is what do you actually do with this normalized ranking number? If you really believe that everyone you've hired are the "best and the brightest", then firing the lowest scoring 5% is insane. If however you don't have confidence in your hiring mechanisms, such that some duds make it past your hiring screens, then firing the lowest 5% may make a lot of sense; you want to get rid of them before they do (more) damage. (BTW, this is is why I believe a hiring system which tries extremely hard to avoid hiring duds, at the expense of sometimes failing to hire qualified individuals, is extremely important; it has its downsides, but it's very much a necessary evil, because the alternatives are far worse.)
What about using this number as an input to compensation? Here, using a normalized bell curve may make more sense. Certainly if you only have fixed pot of money to use for salary increases and equity refreshes, you want to make sure that your top performances get rewarded.
What about promotions? For junior engineers, if they are growing in their job, presumably they should get promoted as they demonstrate that they are getting better at programming and understanding the company's systems and development environment. Using the performance rating would certainly be one metric, but evaluating that person's proficiency and results should probably be just as important, if not more so.
The point is that just doing a "stack rank", whether as an input to the performance review mechanism (i.e., asking other employees to stack rank their peers, and then having some algorithm to merge those inputs together, and taking into account controversial rankings where multiple colleagues had differing opinions about whether person A was more or less effective than person B) or whether managers are forced to stack rank all of the employees in their department, is not necessarily a bad thing.
The problem comes from what do you _do_ with the stack ranking after you've generated it. It's that which can drive a company's culture, either positively or negatively. So my suggestion to Microsoft employees (other than to consider a career at Google :-), is to not rail against stack ranking per se, but to point out some of the negative effects of some of the things are done with the stack rank after it has been generated. Perhaps, if your HR people are at all competent, they might be more amenable to your suggestions. Or, maybe you'd be better off considering another company altogether, in which case my first suggestion still stands. :-)
I'm not sure doing the above ever makes sense. We've heard of at least two severe problems with it at Microsoft, the worst 5% at gaming the system get zapped, and a tremendous amount of effort is devoted to not being in that lowest 5%, or managing who gets that every 6 months. E.g. managers retaining "deadwood" so they've got people to sacrifice in the future, and ultimately, as dalek_cannes puts it (https://news.ycombinator.com/item?id=6267518), "Stack ranking causes employees to compete with each other rather than the company's competitors. It's all downhill from there."
Anything you do in this direction, including not trying at all, will strongly affect your corporate culture and productivity; perhaps the best one can do is to strive to have "least worst" systems.
(BTW, I'm not saying it was a good thing; and I'm glad I'm no longer working there. But if you don't worry about silly things like ethics, and only worry about maximizing shareholder value, it's a strategy that might work for a while.)
> the technique of doing forced ranking is and of itself a useful thing.
Maybe if you're taking a psychological self-evalation with no actual consequences. Things are very different when there are actual stakes on the table. When jobs are on the line there is a very strong incentive to game the system, and some people do. As soon as people see other people being rewarded for gaming the system, that provides a strong incentive for them to try to game the system too.
It really all boils down to game theory, and if the game is zero-sum, cooperation is not an evolutionarily stable strategy. (And if you don't know what that means, you need to read "The Evolution of Cooperation" by Robert Axelrod.)
My point remains, though, that what people are recoiling with horror is not "stack ranking", but "stack ranking as it is done at Microsoft", which includes a whole host of implementation details that make a huge difference to how it affects company culture.
That's true. But applying stack ranking to small groups because applying it to large groups is impractical is kind of like looking for your lost keys under the street light because it's too dark to look where you actually lost them.
> "in a department of 500 engineers", it's likely that at least 5 are duds.
That's true too. The problem is this reasoning does not scale downwards. Its correctness DEPENDS on the number being large. What MS is doing is saying: "In 50 groups of 10 engineers, at least 2 engineers IN EACH GROUP MUST BE DUDS" and that is NOT true. But because policy dictates that the company will behave as if it were true it produces very strong pressure on people to spend their time making it appear to be true rather than doing productive work.
I think there needs to be a small group of senior engineers -- not managers, or at least, not just managers -- who understand what each team is doing well enough to have a feel for the team's overall competence. Their ratings of the teams can then contextualize the teams' ratings of their members. Over the long term, these team ratings can be checked by occasionally trading people between teams -- if a middle member of one team becomes a star in another, that suggests a difference in team levels. A single such observation is not a perfect indicator because individual skills and interests also play a role, but with a number of such experiments over time I think one can get a pretty good picture.
"Make everything as simple as possible, but no simpler." The assumption that the teams all have the same average competence is a simplifying assumption, to be sure -- but it makes things too simple.
And here goes your sloppy thinking. You didn't actually normalize anything, you just assumed it away. You didn't attempt to understand if some team really is all-stars or not - you just assumed that the distribution of capabilities of people in the teams follows the same bell curve. Regardless of how good their manager or project or other circumstance is, for instance. Basically, you decided to fudge the numbers for a warm-fuzzy feeling.
Nothing killed Microsoft. It just exhibited mean regression, as everything eventually does. It found itself on the very top of a mountain in an industry where you have to keep climbing to stay still.
The same thing happened to Apple -- it had an unprecendented string of hits with iPod/iPhone/iPad and it took competitors a few years to catch up.
Sometimes, a basketball player will make ten straight baskets. He'll seem invincible, then he'll make another and the crowd will go wild. But if he's a 60% shooter, at some point he'll miss a basket, and another, and another, and descend back into reality.
That's just how the world is.
Your argument seems to be that everything is doomed to fail, but there's no reason why that should be true within a single generation of people.
The chance of him shooting two such baskets in a row is 0.36
The chance of him shooting 13 such baskets in a row is 0.0013
It seems unfair to suggest that crowd are behaving irrationally when dealing with such a distribution. In probability you compare against other probabilities to determine what's most rational to believe. So - what's more likely:
A cumulative probability that will occur very rarely?
or
That he's cheating?
The more shots he makes the more likely that explanation becomes by comparison.... If people cheat more commonly than the odds of that distribution of shots would happen by chance....
Yes the most likely time for him to score, all else being equal, is just after he's scored. This is really just looking at the cumulative probability of something not happening - the chance of not scoring on consecutive attempts goes down just as the chance of scoring on consecutive events goes down - (with the remainder constituting the other potential arrangements of observations.) And so observations for given events have a certain tendency, for a certain level of probability, to occur in clusters - which influences how much confidence you can place in something given the data.
However, that does not make it likely that that'll keep happening for large runs, it's more likely that a yes will fall after a yes than that it'll happen elsewhere, but more likely is not the same as very likely. And the more observations you make the less likely it is that you're just looking at a cluster that'll occur naturally in a given number of cases.
By way of a, perhaps simpler, example: if you flip a coin and it comes up heads six times out of ten, that might just be a fluke. If you flick a coin and it comes up heads six thousand times out of ten thousand, then you can be fairly confident that it's crooked.
One of the things you have to realize is that a lot of the dynamics of the company over the last decade have caused a mind boggling amount of talent to simply evaporate out of the company. Many of the "fuck you I'm fully vested" folks who were around in the earlier days of MS either checked out or peaced out whenever they hit their personal bullshit thresholds. More recent hires have generally found that other companies are often more exciting, more rewarding, and more lucrative to work at. MS today tends to punish caring about things (not always, but more often than not). If you try to make a difference and put forth the effort to make merely sensible changes then you'll spend years struggling against the system and if you're lucky you'll only have moderate success to show for it.
And the stack ranking system tends to reward people who are good at gaming the system rather than those who are good at actually delivering anything of substantive value to end users.
Naturally, all of this tends to be very discouraging to engineers, especially those with a bit of maturity and experience who see that with their talent and skills they could go elsewhere and not get shit on all the time, work for a company they wouldn't be embarrassed about, and actually get stock options that are worth something. And, since techies tend to value working alongside other techies that they admire and look up to this sort of process tends to be a positive feedback loop.
It's simply unimaginable that this loss of talent hasn't had a huge impact on the company.
Options give you the ability to buy a share at the last strike price set by the board (FMV for a share). If FMV for your startup share is $0.01 and you exercise it for $20, you're walking away with $19.99 in your pocket having spent $0.01. Multiply that by 50,000 and you're almost a millionaire.
If you get an option for a share of MSFT at $35, unless the stock price goes up, you're not getting a dime. IF it went up by $20 a share, you'd be doing just as well. That's unlikely, however, given how infrequently the stock moves. If they gave you 5,000 shares instead, you'd be sitting on a (more or less) guaranteed $175,000 _even if the stock price didn't move_ instead of absolutely nothing.
With options employees have an incentive to retain equity in the company, which has a lot of good side benefits, not least of which is that it gives employees more of a stake in the company's future. It's also a way to reward employees financially by making them rich if they stick around long enough to collect enough options, have them vest, and have them increase in value significantly over time. A lot of techies have become millionaires through stock options.
Since MSFT's stock has been stagnant since the late '90s stock options as a reward aren't an option, which removes all of those benefits mentioned above and creates a further encouragement for ambitious employees to seek other companies where they have a reason to hold stock in their employer and where they are significantly financially rewarded for sticking around and doing good work.
"It's simply unimaginable that this loss of talent hasn't had a huge impact on the company."
I think it would have done if the rank-and-yank/up-or-out happened when we were a 6,000-ish person company. They had just opened RedWest while I was there and were working on the new buildings across from the main campus. I think they were talking about the Issaquah campus right around the time I left as well.
It was clear that the company was growing and things were changing. There was even talk about not granting stock to new hires anymore, which has obviously been reversed. However, this was heresy at the time. (Mind you, most of us were thinking we were past the guaranteed "millionaire" stage and thinking that a stock grant would cash out for a down payment on a nice house.)
Now it's most definitely a "big" company, and you don't need that many people who would earn 1s in their reviews and get promoted every year. A company like that needs a lot of consistent contributors. If you let some good people fall through the cracks, even if it's 10%, the company can continue for years.
Continue, sure. Microsoft isn't going to go away for many years, no matter how much they fuck up. They have too many established customers that will find it hard to switch away from them and they have too much cash on hand.
Nevertheless, the degree to which Microsoft will be relevant to the industry at large and their revenue levels in the time frame of a decade to two decades from now are currently open questions. And not by a small amount either, by orders of magnitude. And the difference between being able to execute on projects that will keep the company relevant and highly profitable and not being able to do so will largely come down to the collective capabilities, passions, experience, and talent of the folks who are still at the company. And that pool of skills and capabilities has been substantially decapitated bit by bit over the past several years.
Every 18 months or so there was a round of promotions there would be maybe 18 - 25 roles available for the whole of the Systems engineering division (around 50k FTE)
But as my boss wryly remarked "he has not done any real work for 6 months)
I also saw a college going for pm (first proper management role) expend a million pounds and 15 man years of developer resource pointlessly redeveloping a system in oracle as managing a >1 million pound project was a tick box for promotion)
It has. Absolutely. Microsoft used to achieve domination in every area they entered. Console DOS, graphical Windows, word processing, spreadsheet, entry-level desktop programming with Basic then VB and VBA, internet browser, corporate email with Exchange. Nearly every product blew up into owning its market.
In the 2000s, that dominance faded to merely being a strong competitor. Server OS, database, video games with Xbox, development with .NET, and all the enterprisey stuff like Active Directory and SharePoint. They all became viable and performing product lines, but hardly leaders, with market shares just about on par with the competition.
And in the 2010s, every me-too product by Microsoft is a fringe marginal player. Bing, Zune, Surface, Azure, Windows Phone... using any of those pretty much gets you laughed at. What happened at Microsoft that they can't take over such industries at will any more? The massive loss of talent and adherence to bureaucracy over excellence has to be part of it.
I think the fundamental problem has always been bureaucracy and a mentality of loyalty to one's department over loyalty to the users. I could tell you stories about rules I broke in order to take care of users in line with what I saw as the interests of the company as a whole.
So finally after a few weeks of this frustration I broke the chain of command and talked with the general manager of my department instead. He agreed that this was totally unacceptable and got the manufacturing stopped, packaging re-done, and the like. My bosses were horrified that I would break the chain of command like this and I got reprimanded by them.
Of course the word came down from the top not to generate bypass keys anymore but to offer the customers a free full version we would send to them at our cost. I looked at this, and offered it to the customers, but offered as an alternative a bypass key so they could just install the software they purchased, saving our company time and money.
Honestly, I was surprised we weren't sued over the problem, but I was going to be darned sure it was not over someone calling in to my line.
There were plenty of other things I did:
For example, I actually delivered Linux tech support a few times (always very careful to set expectations that this could not be expected in the future).
Needless to say, since my loyalties were to the company and the customers over my bosses, these never came out as positives in review.
There are a few things I'd fix with MS, but I would definitely start with the forced curve system. It's basically evil.
Sort of balled-up in this is the sense of fear that forces people to make bad decisions just to get promoted (my favorite example of this: The "Metroization" of the Visual Studio 2012 interface, with nearly unusable color schemes and all-caps menus. I have to assume that somebody got promoted because making VS 2012 look like the flavor of the day looked good on a review).
I was in Xbox, which had a /lot/ of very, very good people in the same review band that I was in. It's hard to shine when you're sitting next to those folks; it's also hard to imagine not working with them, because one of the reasons I go to work is to study at the feet of masters.
So I was looking at an "okay" review, maybe even "sub-okay", while doing work that would probably have brought the company a few hundred million dollars over the next ten years. And I couldn't stand it. And that's one of the reasons I left.
Seriously, fuck the Microsoft review system. It's broken. Most everyone with a brain /knows/ that it costs MS really good people. But Ballmer and Brummel (the head of HR) seem to love it; maybe it makes it easy for them to remove threats? I honestly don't know why they think it's good.
Yes, nobody thinks of it in such an outright simplistic way, but I do think this is the basic appeal.
She particularly lamented big businesses that harness government to gain advantages over the "regular guy," who she actually stood up for.
Regarding people who work productively, all she did was heap praise on them---whether they were at the top of the company, or the bottom.
For Rand, being moral was never about how much you actually accomplish compared to other people.
So, the parent comment is an uninformed and (possibly unintentional) smear.
There was a very strong backlash against Rand from the intellectual left the second she was published (in the 40s), and the reverberations from that are still very prevalent in the culture, but they are secondhanded and mistaken.
I think she had to "bring him down" because she loved him, and she always destroyed that which she loved (e.g. a statue), because she didn't believe that such things belong in a corrupt world.
The point of all this was not to condone such a sequence of actions, but to tell a psychological story about two people.
There is a lot of corruption and dishonesty in the Fountainhead. Ayn Rand was trying to show the difference between firsthanded and secondhanded people (i.e., people who try to let others think for them or dictate their values). That can happen in any society, whether it's a capitalist one or not.
Ayn Rand does not simply equate "capitalism" with "business." By "capitalism" she means "pure capitalism" (as opposed to a mixed economy or something else), which is a system where all people are completely free from having force used against them unless they first initiate it. (In other words, a system purely based on trade, never on coersion.) This whole issue was not really a topic in The Fountainhead.
> exploited by Peter Keatings at the expense of Howard Roarks
Was it? Peater Keating's life was completely miserable.
> I couldn't really discern a clear and consistent philosophy from that book
The point is that Howard Roark lives for his own happiness and his own values and actually achieves them, while all the other characters live in some secondhanded way and are miserable.
> a heroic uber-mensch, Howard Roark
Gail Wynand, the newspaper baron, was the Nietzschean uber-mensch in the book. He achieves complete domination over New York (he controls what people read enough to control public sentiment, has all the politicians in his pocket, and is wealthy enough to buy anything he wants). Yet he ultimately hates himself and is miserable. Because dominating other people is not a means to happiness; it is empty and ultimately miserable. Gail Wynand did not achieve _his own_ values. That was the point of that character, and it was also Ayn Rand's response to Neitzche, who she rejected.
> The Dominique character I interpret as an idealized Ayn Rand.
There is a character that can be interpreted that way, but it's Dagny from Atlas Shrugged. Dominique was psychologically perverted because she didn't believe that values were possible in a world full of second-handers; that's why she goes around smashing artwork in the beginning. This is definitely not an idealized version of Ayn Rand.
Roark doesn't provide a useful model for how to achieve this, because he is sui generis -- a genius. IIRC, there were characters that were first-hand that had ordinary jobs, but the book didn't dwell on them. It may be because first/second-hand make a big difference for an artist, but not so much difference for a grocery clerk.
> Because dominating other people is not a means to happiness
It's not a means to happiness, but it's clearly a means to capital accumulation, according to the book.
> Dominique was psychologically perverted because she didn't believe that values were possible in a world full of second-handers
But she came around by the end, and lived happily ever after with the hero, didn't she? I read the end quickly. It got strange.
I haven't read Nietzsche, but Roark is a kind of perfection, given that he is artistically-gifted, has total confidence in himself, and loves his work. He has strong values that he never wavers from. He has trouble achieving success in the market, though. I guess you could say that that's because the market is dominated by second-handers, who don't value people like Roark. If ideal capitalism requires every participant to be a Roark, then it's not any more achievable than ideal Marxism.
However, doing it on a per-team basis is stupid. It guarantees that some teams will have bottom-performers, since a team without bottom-performers will fire or scare away the lowest in the team. Furthermore you incentivize sabotaging your teammates and--even if nobody does it--that makes everyone suspicious of their teammates.
If there were a magical wand I could wave to nearly perfectly rank all the employees at a company I were running, I would do it and base compensation off of it. Doing so on a per-team basis is stupid.
A better approach really I think is to just do 360s and if there are clear problems with key employees that are holding back other employees let them go. If you have everyone working on complex code and are pushing for excellence over time it will become clear who is making the grade and who isn't.
Even if some of the employees that work well on the team could be replaced by other slightly more efficient or intelligent employees the benefit of doing so is greatly offset by ramp up and recruiting time that takes away from team productivity.
So once you establish that you don't trust managers, you pick managers who excel at politics rather than anything else and the problem continues.
Those are two things that Microsoft needs to do, namely use IT to replace depth in business hierarchy, and to empower team managers to make these decisions.
Management is, however, not the command-and-control backbone of your company. That's leadership, and that's an orthogonal role. Management is about oiling teams to run better; while leadership is about taking responsibility for, and ownership of a team's output.
Leaders, of course, want their teams to be managed, because it makes them work better--and if nobody else will do it, they can do it themselves. But, importantly, the leader role works better when held by a member of the team--someone doing the work, down in the trenches--while the manager role works better on someone who doesn't have any other responsibilities (since it's a full-time job in and of itself.) Leaders who are also managers become out-of-touch in their leadership, because the job of management deprives them of access to the distributed knowledge they need to make leadership decisions (the kind they'd just pick up naturally by doing the job alongside the team.)
Ideally, leaders are just members of teams held in high regard by their peers, who just end up taking ownership of the team's project by default. In contrast, ideally managers are free-floating socialites, working with several teams and ensuring that everyone has everything they need (including introductions to people outside their team they might not know they need!)
You'll notice that there's nowhere in this list of requirements for a "boss" who tells you to "get to work." This is because, if your team lead actually has your respect--and if that lead actually cares about the project--then you don't want to disappoint them by giving them any less than your best. And if either of those two things aren't true, then you probably need to rebuild the team, or scrap the project.
Knowledge is local. We can prove that (see the CAP theorem). Therefore decisions are best made at a local level. Someone needs to take ownership of decisions like hiring and firing and that needs to be someone close to the work. Since the leader is not the one with that power, that leaves the manager, and if you can't trust the manager with that power, then you can't trust the manager with anything.
The basic problem is that with responsibility comes power and vice versa. You can't be responsible for something without the powers necessary to live up to that responsibility. Likewise power without responsibility doesn't work out so well either. The question, as always, is what are the responsibilities and what are the powers that come with them.
My sense from where I was (front lines of Product Support Services in 2000-2003), that the team managers were bit players. They could not fire people. All they could do is try to interface one team to another, but they didn't have the authority to get anything done. I found that for anything out of the ordinary, the last person I wanted to bring in was the team manager because they would claim responsibility for it, but had insufficient power to do anything about problems.
So my point is this: if you are going to give managers responsibility for the production of the team, they need to have the powers to do things like hiring and firing (within a budget of course). if you can't trust them for these things, you are giving them responsibility without power.
(At least according to the 2 stack ranking reviews I took part in before I left.)
The review system is one of the surest ways to ensure that the hard workers stay on the work floor and are never promoted. The people who find the problems, and fight to get them fixed, are the people who make their bosses eventually look bad just a little, and they get barely ok reviews. Those who work to rule get good reviews and advance.
What this effectively means is that middle management ends up killing the organization.
On a similar vein there is just a mountain of half ass'd internal tools that only exist because someone had to mark off a checklist item on their review commitments but never bothered to maintain. Which would be fine except whenever you have to tackle a project if there's an internal solution it will always be favored over the open source or license-able alternatives.
I'd constantly get flak for asking questions of senior management like why don't we have unit test coverage, why doesn't our system allow for any sort of dependency injection, why don't we have continuous integration, why are we using this shitty internal browser test bed instead of selenium and selenium grid, etc. I spent a lot of time working on pushing modern standards around testing test code, designing reusable testing frameworks, leveraging continuous delivery etc. and to be honest it hurt my career trajectory quite a bit over what just following marching orders and writing crap code and commitment items would have done.
You should consider yourself lucky for being in the entertainment division however. That group seems a lot more progressive than most of the other divisions. The developer quality seems to be better as well. I was really horrified at the low level of competency of about 60% of my coworkers.
It was nothing but politics...I managed for a year but left when I felt mentally unchallenged...so I left.
Yes, when I read the opening sentence of the OA, my first thought was 'perhaps the thing that needs explaining is Microsoft's amazing success in the 1990s'. The rest is the usual random walk of any publicly quoted megacorp, attempting to function under huge weight of the structure.
I believe that it will have a very hard time transitioning to the "device and services" model with it's current corporate culture, as I understand it, which includes stack ranking.
Regarding business models: MSFT had a variety of web services before Google; it had mobile before apple. It popularized the term "smartphone".
Sure Google search was better, but the fundamental thing that made google fly as a business was adwords, a different business model than banner ads and paid placement on top.
Apple did have a better device than anyone expected, but it made that device price competitive with a huge subsidy from AT&T.
XBox choked out Sony Playstation's profit margin by imitating it's business model (lose money on hardware, make it back selling quality games via licenses per cd/hdrom/dvd), and then innovating with XBox Live, which included a new software services you can charge for business model, just not one that scales to dozens of billions a year like Office.
If my experiences at Microsoft late 90s, half of the 2000's are still valid, then the currently proposed buisness model will fail.
In good software architecture the design choices you make need to match the forces you have affecting your architecture.
The business model: "a devices and services company." will require seamless co-operation across a whole company. I didn't see that in my time there. Exchange and SQL Server, two nearly billion dollar businesses, spent non trivial time trying to ally with other teams and kill each other "and take the mandate" rather than try to deliver great software. I had friends who worked in Exchange and SQL, and the ones in SQL were actively trying to make SQL Server do what Exchange does. I don't know if both businesses are merged now or not, but that was one of MANY places I heard about "killing and eating another team", before it happened to two teams I was part of, twice in a 6 year career.
When a team is "killed and eaten" by another team, the eating team gets to distribute the dead team's 4.0's, and have more 4.0's for their team.
Also, at MSFT at the time, there was a tremendous amount of lack of respect for other teams. "Those VB programmers at MSN don't know how to write scalable software." "Those jokers in...X...aren't really technical". I was in a visual studio building in a meeting, and a windows server group had the chutzpah to convince us that they had reserved our room and kick us out of our own meeting. As we left, one of the people in the meeting to heckle us with a derogatory comment of "We're the people who make all the money around here, we're more important."
Stack ranking, plus the only Type A's filter, plus the seperate businesses with seperate P&L, and VPs that are stack ranked versus each other will not lead to seamless integration between diverse services and a great user experience.
The way you pay, the way you measure, the persistent theme of "us versus them", and the filter for people that came in the door all contribute to a poisonous work environment for maybe 60% of the people.
It wasn't poisonous everywhere, 2/3rds of my time there I wouldn't have traded for the world, but it was incredibly refreshing when I left to work for a place where the enemy was outside the building versus inside.
I saw many great developers over the years leave for the same reason. This system is poisonous. There is no way to tailor the rewards of the team to the actual performance of the team.
70 = You're an average Joe. You're not a bozo, and you're not a rock star, and you're not going to get a promotion soon.
And then they offered you a promotion to stay when you threatened to leave ?
It's grading on an arbitrary curve, not on merit, "There is no way to tailor the rewards of the team to the actual performance of the team."
There may be a positive correlation between brilliance and assholism (I'm not advocating that we tolerate this, btw), but I'd definitely not superimpose the magnitude of that relationship for the other side/pole of the spectrum: viz. lack of productivity to peace-making personalities.
My experience in the last two massive enterprisey projects shows that trouble-makers, obfuscators and team members who show little regard for either the creative (innovative) aspects of the project or, aspects relating to structure (admin) are the ones not pulling their weights. They often create social issues to divert from their own lack of productivity. What a waste.
These folks I'd definitely not team up with given a second chance. They are cancer, and the spread can be malignant.
(I am not saying let's be unsympathetic to the problems of the unproductive folks, but when lack of productivity or competence is deliberately masked by other fake reasons, it becomes difficult to engage with such folks honestly. The whole team then starts playing game theory and office gerrymandering becomes a career skill.)
People aren't idiots, they realize when somebody else enables a group of people to excel. If they don't realize that, it's managements job to make sure this is understood. And besides, if employees who are "productive" are pulling 10-14 hours a day, then there is again something going terribly wrong in management to begin with.
The real problem of the Microsoft system is setting a fixed value on the number of "cog" and "oil" employees. Different jobs need different people and different people again need different people. If a manager says: "I have 10 units of cog and 5 units of oil people" and is allowed to give out money accordingly, that's great. But if the company says: "Sorry, but you can only have 14 cog and 1 oil" - Suddenly you are forced tell 4 employees who are great workers that they're just lubrication.
With other jobs it might be less of an issue. Although I've never done 14 hour days, I did once have a warehouse job assembling cardboard boxes for 12 hours a day, and I don't think the hours harmed my productivity. (My recollection is that I worked as hard as I could, just to make the day pass more quickly.)
Yes, a person is a fool if they do more than 8 hours in a workplace environment, but many people work longer days if it furthers their own personal goals. Pressuring coders who don't have an interest in working longer is pointless.
This isn't a contradiction; professional athletes do far more exercise than they need. That's why their fitness constantly increases (far past what are the normal requirements for being considered "healthy") rather than just plateauing at "healthy."
If you don't get at least three problems with the situation above, well, I'm glad I'm not on a tam managed by you.
For an example from the sports world, see the NBA's Shane Battier, described in a NY Times article [1] by Michael Lewis (of Liar's Poker and Moneyball fame) as "The No-Stats All-Star."
[1] http://www.nytimes.com/2009/02/15/magazine/15Battier-t.html?...
Individualized bonus/compensation decisions have no place in environments where the work is heavily or totally team-oriented. It forces people into a mode where they focus on getting the most individual credit instead of making the product as successful as possible. That general incentive exists in any team-setting, of course, but when you grade everyone on a curve like that and tie compensation/job retention to it, you really force everyone into playing that game.
By way of contrast, look at how investment banks do bonuses. If you're in IBD, your bonus is usually based on the success of your deal teams. If you're in S&T, your bonus is usually based on the success of your desk. Even further in that direction is how many law firms handle compensation: everyone is paid in strict lock-step. The end-result of these models is that nobody has an incentive, at least a purely monetary incentive, to jockey for credit. The way to make more money is to have the project be successful, and that means doing your best to cooperate with your teammates.
Sometimes you're forced to pay individualized bonuses. It might be the only way of attracting the superstar that would otherwise be able to make a lot more money elsewhere. But Microsoft has very high hiring standards and is rolling in cash. It should not have this problem.
I used Windows for a long time before migrating to OSX and the usage of a 3rd party app called Alfred. Now I just type what program I want to open, which is significantly faster and easier than having to navigate through an OS. I'm sure Windows probably has an equivalent.
Second, typing at the start screen is not the same as the start menu. It only searches some items, and you have to click or arrow down several times to select the kind of search you want. It's the opposite of unified search. It's annoying.
So, MS forced an annoying thing on everyone (even on servers!), with no way around, except to install 3rd party hacks. Of course they're going to get pushback on it.
I do variations of all these things to find apps, documents and files. Taking any one of them away from me makes me use a less-efficient path, and that's a stupid thing for an OS to enforce on anyone.
I just switched to Windows 8 and actually like Microsoft a bit. The hate that 8 got was somewhat warranted. There are very strange design decisions in 8. The idea that an installed program and an app store app are two totally different things to the OS is completely baffling and limits functionality. If you use Launchy (like Alfred) like I do, searching for "Twitter" does nothing. This is just one issue among a few that I've found.
This is typical superficial business talk about "culture." Dig what the humanists have to say about it: http://www.fastcolabs.com/3016238/why-your-startups-culture-...
Are there better mechanisms to systematically force managers to make the tough calls to let people go or counsel them out?
http://en.wikipedia.org/wiki/Up_or_out
In a hierarchical organization, "up or out" is the
requirement that each member of the organization must
achieve a certain rank within a certain period of time.
If they fail to do so, they must leave the organization.At my not-particularly-good university they keep hiring faculty at assistant professor rank. Since the graduate school isn't impressive the applicant quality and publication record isn't great, and someone getting a grant is a rarity. After five years they won't get tenure, the position is re-advertised, more startup money is spent, wash, rinse, repeat. Under these circumstances it would be wiser for them not to shoot for the star performers they won't ever get. The research quality will be just as mediocre, but they can spare themselves the hiring process and save on startup funds.
Everywhere I've worked there's only a few levels where you actually code - right now we have graduate, dev, and senior dev. You'd end up moving your best people to a level where you can't use their skills any more.
Also the up-or-out policy has exceptions: there are "stable" levels where you are allowed to stay for the rest of your career. IIRC the lowest stable level is Senior Dev (level 63) so if you are hired at level 59, the expectation is that you have the potential to make it to 63; if you earn promotions too slowly or not at all, you'll eventually be let go. This is true even if you do a perfectly adequate job at levels 59-62.
It's not a model that would work for every company, obviously...
This sounds terrible either way, but why did one group end up significantly worse?
A senior manager once confided to me that he does not have a shortage of good engineers to tackle even the most complex engineering problems, but he has acute shortage of people who are able to coordinate work of those good engineers. I have then concluded the review system makes sense in the light of this revelation. Hiring and Performance Review policies, however bad they seem, successfully maintain a pool of talented engineers; it's a solved problem. The problem that is not solved is making sure those engineers make coordinated effort towards a worthy goal. It is Microsoft's core belief that such coordination does not emerge naturally and so it must come from a leader or a group of "leaders", and the goal of the review system is to identify and promote such leaders, even if they have to sacrifice some of the good engineers in the process (finding more is a solved problem). The way the find more "leaders" is measure people on "scope of influence", with idea being that top engineer and manager talents will be able to influence more people compared to their peers. A sad byproduct of this approach is that a lot of people expand their visibility just for the sake of expanding their visibility. This produces a lot of sideffects, to the point where they sometimes become major output of the system rather than mere byproducts.
So if you wanted to know why the system works the way it does, above is a possible explanation that makes some sense.
Is there something I'm not seeing here? How is this still considered a viable management strategy?
Using a bell curve might be more technically correct, but the overall idea is too force the person making a judgement to make a judgment. The reality is that some employees are better than others. Getting a manager to rank them will give you better results than getting a manager to rate them. Neither are perfect. One is sensitive to the manager's biases, the other breaks when one team is better than another.
If you went to a one hundred person company with 10 managers and asked them to do this one day, you would probably end up with a fairly accurate view of who is worth what. Most one hundred person companies would be improved by replacing the bottom 5-20 people and damaged by replacing the top 5-20.
If this wasn't about employees, I don't think it would be controversial. Imagine a company with 100 clients ranked them and then decided to give special attention the 10 best while ignoring the 10 worst.
The problem with this (like most compensation schemes) is how they affect employees when they find out. People have strong reactions to being ranked and measured.
But it's not. That's what's so maddeningly stupid about it. Who gives a fuck if your employees are better or worse than one another? The only question that matters is whether they're doing the job you need done to the standard you need it done to. Arbitarily punishing some percentage of your team even though they're doing a great job is madness.
"the standard you need it done to" doesn't really fit the model of what MS do. "great job" is relative. Anyway, the whole thing probably carries some assumptions. Some employees are great. Some stink. It's unlikely that a team of 20 will have a couple of stinkers. Employees #19 & #20 are adding little (or negative) benefit.
It's dehumanising. I agree. So are all management practices at companies big enough. It may also be wrong considering how it affects morale and how it affects productivity when people try to game it (seeking out weak teams).
I just meant that I can see where it comes from. It would make just as much sense if you asked a restaurant owner to rank his mains. Out of 15 mains, 2-3 are probably stars that people come specifically to eat. 10 are OK. 2-3 suck, they make people not come back.
Then fire them. It's also important to note that the 2-3 who suck suck in relation to a consistent standard, not in relation to the other employees.
There is a fundamental disconnect between the justification of stack ranking and the actuality of stack ranking. In a sufficiently large population of employees you get some duds - that's a statistical certainty. The giant leap and non sequitor is that relatively ranking will expose said duds better than measuring against a consistent, non-relative bar.
Where I work right now we've had the displeasure of having hired some duds. Very few mind you, but in all cases they were let go soon after it became apparent they were duds and could not be reasonably improved. All of this was done without the need for stack ranking, and (thankfully) outside the scope of some annual remove. If you've hired someone who's actively detracting from your company, why in the frell are you waiting a whole year to remove them?!
Is there another side of the story? Can someone from Microsoft shed more light on this?
I haven't seen a full year cycle applied to myself, but the one period I did participate in didn't quite work that way in practice. In reality, the zero-sum gets enforced much lower in the company than Ballmer himself. Exactly where probably depends a lot on what division and team it is.
Neither have I seen evidence of the claimed worst effects of this type of system. Instead I saw great people take a hit for the team, rather than retaining underperformers for this purpose. Who knows, maybe in some ways this is just as bad.
Every big organization needs some kind of system and there are certainly worse ones. This system is effective in allowing the company to promote some people, keep some where they are, and move some out.
But it would be nice if the current shuffling at the top became an opportunity to bring in something better.
Something is wrong when you are shafting great people in one part of the company while promoting knuckle-draggers in another. Part of Ballmer/Brummel's trouble is that they couldn't seem to recognize who was honestly contributing versus who was parasite, or an under-performer, or someone toxic who was pushing out good people to serve their personal gain.
This isn't true at all. If you have the ability to hire and retain the best, then the company curve will look like the rightmost extremity of a bell curve, which has rather different properties compared to the entire curve. As I understand it, this is why baseball statistics value players in terms of "wins above replacement" instead of "relative to the average player" -- the average player is so much better than the majority of professional baseball players that it's not useful to assume in your tooling that you could hire one. (Whereas, if you have the entire bell curve, then the average person is both median and modal, and is therefore easier to find than a person at any other level.)
Disclaimers -- I don't know statistics, corrections very welcome.
But in the absence of any kind of ability to produce something, yeah, you want a manager who is politically savvy, and who can protect you, and can promote you well in the stack rankings. (I had a couple managers who were /terrible/ at this, and my "performance" suffered. In reality it was all presentation and horse-trading).
What sane business do you want managers being better at "stacked ranking" than product strategy?
This to me, is indicative of why Microsoft has failed - when your daily job is to prove that the team next to you - not your team is the one that should take all the bad reviews, that's pitting employee vs. employee, when it should be employee vs. external competitors
But more importantly, there are much bigger problems at Microsoft than gaming performance reviews: product strategy, how people are treated and relations between divisions.
MSFT may need to let go of some legacy in order to move forward faster. (Risk enterprise customer hate, but whatevs.)
I knew one person who did get fired. The thing though was that the firing occurred at a time when they were trying to push for higher attrition during a move of a unit overseas so not sure how much I can read into it.
Although I must admit my experience at MS really does not match up with a lot of what I'm reading in this thread. I suspect my team was quite an outlier.
Of course it'd have been silly to expect a Windows-only-ever person to be familiar with Unix tools, that was not the point at all.
Yes, there are certainly other factors making MS suffer now (like the fact that they like to compete with their clients, and destroy them), but this one may even be the largest one.
The poisonous effects of stack ranking may take time to manifest in a notable way at Google. Maybe if Google's products stopped being as cool as they are now, or their compensation is no longer as generous as it is now (see: becoming Microsoft), this would be accelerated.
The only curve that is enforced is really a calibration to ensure equal pay for equal performance across orgs
Once they reach the point of "maturity" where they need to minimize operating costs to increase net margins and continue to justify their P/E, they'll be like Cisco, Microsoft, Intel, and others, disgorging 5-30% of their workforce in a single massive push.
However not disclosing ratings could certainly be option. Or you can only disclose binary ratings "Stay/Fire" or trinary rating "Green/Yellow/Red" where they don't disclose amount/range of bonus but whether employee performance was sufficient for continuity of employment. People who thought that disclosing bonus indicating ratings was a good idea probably bought on an argument that this will motivate employees to improve themselves to get higher ratings. In reality many aggressive employees actually do work even harder to get back to better ratings however people who have feel lack of opportunity or are rusted eventually settle down with being labeled "average" and pull back on their effort level just to keep employment going.
Nobody is arguing that good people shouldn't be rewarded compared to poor performers. The problem is that stack ranking actively works against the formation of stable teams of high performers anywhere in your company.
At the end of the day, it's going to be the other things; a fun/pleasant workplace, development tools that don't suck, a collegial environment, which are going to be more important for most employees once their basic needs are met.
Perhaps in a startup environment, where hours are long and the pressure to ship trumps everything else, people forget about these things and think only about the compensation which will hopefully be coming over the horizen in case the startup makes a successful exit. But in a more mature company, I'll suggest that an attitude like that is extremely short-sighted.
I think until you have been in a big corporate environment you don't really appreciate how little they care about their workforce.
Managers are then given a quota of how many people should be put in which box, and get hammered if they give too many people good reviews. The "secret" score is directly tied to your compensation, so basically your manager could be completely screwing you and you would have absolutely no indication.
Except for your paycheck?
The fact MS continued to adhere to it after Enron's collapse is stunning.
"It will be interesting to see whether Microsoft’s next CEO takes more personal responsibility for the company’s corporate culture—or leaves it for Lisa Brummel to take up."
Let me take a concrete example closely mirroring my experience. There are 4 fixed performance buckets. Top 5%, Next 20%, Next 65%, Bottom 10%. They get hikes of 20%, 8%, 4%, 0% respectively. Again, these are fixed numbers. Let us assume there are 4 people A,B,C,D and out of a hypothetical score of 100, score 95, 90, 87, 85 respectively based on various parameters. You would assume that since D differs in ability with A by 10%, he would get 90% of A's hike. But sorry, due to the stack implementation he gets 0%, while A gets 20% ! Let's say if the scores of A, B, C, D were instead 100, 50, 25, 5, the hikes would have make much more sense.
Summary: Discrete curve of benefits works well only when it closely matches the curve of people productivity. This is rare. So it just ends up being unfair and creates an unhealthy rat race.
Identifying the bad people usually pretty easy. The problem I find is that most people in software a pretty non-confrontational, so it is hard to get them to fire the bad people, even when they are obviously bad for productivity.
Help!!!
On the off chance anyone at Microsoft reads this, my Microsoft account got deleted by a bug in Live Domains and I haven't been able to successfully contact anyone to report it or fix it. The forums have been useless and now I can't do anything MS related without my account including my phone!
My e-mail is in my profile.
Why MS never focused on output is beyond me.
Judging by comments, it appears to be the #1 choice for HR departments. Which is just plain depressing, but more depressingly, not surprising.
I did a lot of work with genetic algorithms and evolutionary computation / alife systems a while back, and thus did a lot of work with writing fitness or objective functions. It turns out that it's extremely difficult to write a fitness function that the evolving system will not "game."
To give a specific example: I once wrote an objective function to train an evolving system to classify images, a simple machine learning test. After running it for only an hour or so, the system's performance seemed spectacular, like way up in the 90'th percentile. This made me suspicious. The programs that had evolved did not seem complex enough, and past experiments had shown that it should take a lot longer to get something that showed reasonable performance.
After a lot of analysis I figured out what it was.
I was pulling test images from two different databases. One database had higher latency than the other. The bugs had evolved a timing loop to measure how long it took them to get their data (they were multi-threaded) and were basically executing a side-channel attack against the training supervisor.
In another very similar case, I found that the bugs were cooperating by communicating by way of the operating system's thread/task scheduler. They were using timing loops to kibitz.
Humans are smarter than little evolving computer programs. Subject them to any kind of fixed straightforward fitness function and they are going to game it, plain and simple.
It turns out that in writing machine learning objective functions, one must think very carefully about what the objective function is actually rewarding. If the objective function rewards more than one thing, the ML/EC/whatever system will find the minimum effort or minimum complexity solution and converge there.
In the human case under discussion here, apply this kind of reasoning and it becomes apparent that stack ranking as implemented in MS is rewarding high relative performance vs. your peers in a group, not actual performance and not performance as tied in any way to the company's performance.
There's all kinds of ways to game that: keep inferior people around on purpose to make yourself look good, sabotage your peers, avoid working with good people, intentionally produce inferior work up front in order to skew the curve in later iterations, etc. All those are much easier (less effort, less complexity) than actual performance. A lot of these things are also rather sociopathic in nature. It seems like most ranking systems in the real world end up selecting for sociopathy.
This is the central problem with the whole concept of meritocracy, and also with related ideas like eugenics. It turns out that defining merit and achieving it are of roughly equivalent difficulty. They might actually be the same problem.
Many other companies probably have this too.