Company: Microsoft
Date: 2013-07-21
Overall rating: 4/5
Employment status: current
Experience level: Senior

There's a lot of variation between teams, but when your on a good team you can have amazing impact  while having fun.
Pros: There are lots of different opportunities to learn and a lot of cool technology being built. There are many brilliant people to learn from, and many of the teams are well lead. Microsoft has a ton of cool technology and in most places has been opening up to external technologies as well. People are not afraid to take on big bets. Diversity is the norm and good teams leverage the different viewpoints in open and honest discussions. The work you do here can benefit millions of people.
Cons: The review system discourages high levels of collaboration (think shared space and pair programming) because it's a competitive fixed curve model based largely on breadth of ownership. 
Management varies in quality across teams and often great engineers are promoted to become poor managers.  The strict model of the review system seems to reflect a lack of trust in the companies managers. Some teams are also stuck in the past in how they work, not understanding how to push quality upstream, iterate quickly, and focus on customer value.