Just in case you think I'm some crazy zealot, here are my top ten reasons why I love working for Microsoft.
1. The company is intensely self-critical. You may think that Microsoft's outside critics are merciless in pounding on the company; it's nothing compared to the beatings we give ourselves internally. We are absolutely our own harshest crtics. We want to know our weaknesses and improve on them. Nothing is ever good enough.
2. The company is the closest I've ever seen to a true meritocracy. The company tries very, very hard to give the best rewards to the best performers. Ideally, you'd love to have a perfectly objective system to do that, and in the real world there is no such thing, so I've certainly seen mistakes made and I think that's where a lot of complaints about the performance review system originate. But at the same time (see point #1 above) I've seen a lot of sincere efforts in the company to try to make the system better and better, and closer to that ideal.
3. You never have to be stuck in a boring job. If you get tired of the product you're working on, you can find a job in a completely different one. Or you can change disciplines. Without leaving the company. I started as a front-line developer; now I'm responsible for tech transfer and academic relations for a world-class research lab. In between, I was a user interface designer and a project manager.
4. Everyone has a voice. Good ideas can come from anywhere. Voices are respected. Anyone can write a thinkweek paper and submit it to one of Bill Gates' "Thinkweek" sessions. And the company has openly embraced employee blogging.
5. The company has always been willing to take huge risks and make enormous bets. I should know; I've worked on many of them over my years at the company -- and not all of them were successful. Failure has never discouraged the leadership of the company from making more big bets. They've just made sure that we learned from our mistakes.
6. Bill. I'm very fortunate to have had more than my share of face-time with Bill Gates, both as an observer and in direct conversations. I've seen the best of Bill, and the worst of him. He's complimented me, and he's chewed me out on more than one occasion. But one thing is clear: Bill is by far the smartest man I've ever met. He has a depth and breadth of knowledge that is absolutely unbelievable, stretching beyond technology into economics, the life sciences, politics, international finance, and many other topics. And this might surprise you: Bill is also by far the most passionate advocate for our customers. While many people focus on how our products compare to the competition, he's almost singularly focused on what the customer experience will be. That is where I've most often seen him get upset at product groups: when they lose sight of building a great customer experience. Bill has his share of character flaws, but his upside more than makes up for it.
7. Steve. To meet Steve Ballmer -- actually meet him in person -- is to truly appreciate the guy. Steve hides nothing; he really is that guy you see running up and down the aisles at the company meeting sweating up a storm, high-fiving people, and screaming until he loses his voice. It's who he is, he knows it, and he has found his comfort zone with that. But Steve is also the brilliant strategist, the capable diplomat, and the nimble account manager. Steve is an incredibly effective communicator, in large crowds, small groups, or one-on-one; I envy him for that. He switches with ease between different styles, and I think it's because he's a genius at reading people and intuiting the right way to communicate with them. But he isn't fake; he finds a way to bring to the surface a genuine interest in the person or group that he's talking to, and uses that to connect with people. But Steve is also a numbers guy; everything people have said about his uncanny ability to memorize sales figures and work out mental math is all absolutely true (I've witnessed it). Lately Steve has been working on being a better "coach" -- on helping to grow the people around him. Steve is truly a passionate guy (though I seriously doubt he threw a chair; that's not the Steve I know) but he's real and he's a real leader who's more interested in the people around him than he is in himself.
8. You don't have to go up the management chain to have large responsibilities. Let's face it: some people aren't cut out for management. There are a lot of them at Microsoft, and they can all take on more technical responsibility without actually becoming managers. I've flipped back and forth in my time at Microsoft between being an "individual contributor" and a manager. I've enjoyed both. For as long as I've been at the company, both have been encouraged as paths to advancement.
9. You can have a life (even as a single parent). I do. I get in to work at 8:00. I work through lunch, and leave at around 4:45 to go pick up my daughters from school, take them home and make them dinner. I've always been of the belief that a well-rested employee can do more in an 8-9 hour day than a poorly-rested one can do in a 10-12 hour day. And that menas resting your brain, not just your body. My boss evaluates me on whether I'm getting my job done, not on how many hours it takes me to do it.
10. The only limit is our imagination. People here really believe that software can do anything -- it's fundamentally built into the culture, all the way up to Bill. Moore's Law is in our DNA; every year that goes by, computers and software will be able to do more. We just have to figure out how to make it do what we want. And that's what gets me, and many of my co-workers, up and in to work every day.