Company: Microsoft
Date: 2013-08-12
Overall rating: 3/5
Employment status: former
Experience level: Senior

okay place to gain experience, not so much to make a career
Pros: College hires or junior employees will probably have 5 to 10 *good* years at Microsoft. If you're not on the "management track" or senior level by then, it will serve you best to move on to new things. By that time, the experience gained will help you to be more successful elsewhere. The most important thing you can learn here is how to make enterprise software scalable, and best practices in engineering.
Cons: In many orgs, team dynamics are just bad. Too much bloat in process and personnel. The culture is highly dependent on email - even within teams sitting together in the same building. Many teams struggle to implement lean/agile effectively. About 2/3 of Program Managers seem to be clueless, and do not have any real accountability. 

The middle management culture is risk-averse and has a vested interest in maintaining the status quo. The worst part is many of those middle managers float around the company, transferring from group to group without passion or fresh ideas. Because of that churn, in most orgs, there will be morale-killing and sometimes pointless re-orgs a couple times each year. Depending on your manager, you may periodically have some anxiety about Microsoft's notoriously Darwinian performance review system.