Company: Microsoft
Date: 2016-04-27
Overall rating: 4/5
Employment status: current
Experience level: Junior

YMMV
Pros: A lot of very smart people to work with.  Life-work balance has become good.  The compensation and benefits are excellent.  If you can tolerate working on preexisting messes and remain productive, you can move up and on to working on some amazing stuff.
Cons: Advancement can be difficult, especially if you don't fit the mold; it's very dependent upon your immediate manager's opinion of you vs the level.  A lot is influenced by his ability to sell you to his peers and management.   
A lot of legacy around; you often have to earn your stripes per team trudging thru that before allowed to significantly contribute on a design level.   Lots of employees who have been there for years get the choice assignments.