At the center of the cultural problems was a management system called “stack ranking.” Every current and former Microsoft employee I interviewed—every one—cited stack ranking as the most destructive process inside of Microsoft, something that drove out untold numbers of employees. The system—also referred to as “the performance model,” “the bell curve,” or just “the employee review”—has, with certain variations over the years, worked like this: every unit was forced to declare a certain percentage of employees as top performers, then good performers, then average, then below average, then poor.
From my perspective, this is a really bad idea. Using Microsoft's ranking system, if you're a rockstar programmer who is working in a department with other rockstar programmers, if you find yourself lacking in skills or productivity by even the slightest bit compared to your peers--but well above that of an "average" programmer--your performance would be classified as "below average" or "poor" under the system, you would lose your job, and Microsoft would be out one rockstar programmer. (If you're been paying attention, Intel has/had this problem, too!)
Contrast this model of employee ranking with the system used at Symantec when I worked there. Each employee was evaluated in a number of areas and received a rating from 1 (poor) to 5 (excellent). To the best of my knowledge, there were no forced percentages or anything like that. Each employee was honestly evaluated based on their performance and received feedback on how to do their job better. I consider this method much saner than being rated as "poor" simply because one weren't quite as good as their peers.
Microsoft's ranking system led to some pretty horrific things:
“The behavior this engenders, people do everything they can to stay out of the bottom bucket,” one Microsoft engineer said. “People responsible for features will openly sabotage other people’s efforts. One of the most valuable things I learned was to give the appearance of being courteous while withholding just enough information from colleagues to ensure they didn’t get ahead of me on the rankings.”
That's downright scary, and not acceptable in an office environment. In places I've worked, if you blatantly sabotage another employee's work and waste their time, that gets you called into the CEO's office for a chat.
The best way to guarantee a higher ranking, executives said, is to keep in mind the realities of those behind-the-scenes debates—every employee has to impress not only his or her boss but bosses from other teams as well. And that means schmoozing and brown-nosing as many supervisors as possible.
The phrase "It's not what you know, it's who you know" comes to mind. That's unfortunate, because it means that valuable time which could be spent writing code is instead spent interacting with managers for the sole purpose of making yourself look good to them. Aside from lost productivity, I wonder how many programmers just quite in frustration and went onto Google or other companies. My gut feeling is that it's not a trivial number.
Almost a decade later, Microsoft rolled out Bing, and what one might expect to happen by this point... happened:
Finally, in May 2009, Ballmer unveiled Bing. But by then the unit working on online search had become encrusted with Microsoft bureaucracy and the usual destructiveness that came along with it.
“It was a bloated mishmash of folks,” said Johann Garcia, a former Microsoft product manager who worked on the Bing project. “They had two or three times the number of people they needed. There were just so many layers of people.”
Working in the online division evolved into a miserable experience, members of that unit said. Most of the homegrown innovations were shoved aside. Instead, managers spent their days studying Google and telling the employees working on Bing to match whatever that competitor brought out.
“There was this never-ending demand to keep up with Google, and after a while we saw no more innovation for Bing,” Garcia said. “Google was so far ahead and we had so much infighting. A lot of people became so unhappy and just lost all momentum.”
Aside from infighting (which will also drive out talented folks), having a culture where product features are driven by what your main competitor is doing isn't a fun environment to work in either. It's much more productive to come up with your own "secret sauce"--something you can do better than your competitor--and execute that plan. Trying to copy what someone else is doing simply smacks of "me too".
I could write about this more, but I think the original article covers most of what I'd like to talk about anyway.
For another take on the bureaucratic culture at Microsoft, however, I recommend reading The Windows Shutdown Crapfest. And for a read on what Microsoft used to be like back in the 1990s, this post from Joel Spolsky is a good read.