Pros
Note that there are differences across Microsoft so this is generalization from various team I've worked in. Work: Most have a fair work/life balance and will allow you to work 1 day a week at home. I know there are some teams where you'd occasionally work long hours periodically but it varies. You do learn a lot on the job quickly and there are a lot of resources to gain more knowledge (free library, training, brownbags, discussion groups). Nice thing is that within Microsoft you can always interview for another position within the company and that may give you a different experience. Benefits: Health insurance is still one of the best with almost no co-pay to speak off although 2013 this will change with a big deductible. Other benefits: free shuttles to work from several locations, discounts at company store, free prime card, ... Vacation starts at 2 or 3 weeks (they keep changing it but I think it's now 2). After 5 years it's 4 weeks and after 12 years it's 5 weeks. They also give you 2 floating holidays (+8 regular holidays). Stock grants are ok wouldn't it be that the stock didn't increase over last 10 years and Microsoft doesn't adjust for that. But that is probably true for many companies these days. Note over the years benefits have gradually decreased and may continue with health insurance in 2013. Microsoft used to give 15% discount on ESPP and take lowest price of start and end date. Now it's 10% and only last day price. Company store discounts also have decreased gradually and morale events budgets are just a fraction what they used to be.
Cons
Review model is broken since it's not directly tied to absolute performance of you and your team. And since everything is budgeted in advance including promotions everything is pretty much fixed. Also this model is mostly based on internal competition using vague metrics. I feel you work against each other really in the end... Even if you can demonstrate you made a bigger impact and improved products or helped increase revenue it's not going to have as big impact as other internal factors. Cross team collaboration and not being recognized helping others are eternal issues in the polls which is related to that. Promotions are uneven and often unfair. There are examples where someone doesn't get promoted for several years and someone else gets promoted twice within 2 years even though the difference isn't even clear. Sometimes it pays long-term to move to another team which should not make a difference but it can. Hiring diversity is unbalanced last couple of years. Vast majority of all new hires are Indian (80% for all candidates I interviewed). I'm not sure why it's getting tougher to get US candidates. But that might be true for other companies as well.