Pros
Incredible access to information, opportunities to learn something new every day (truly!), mentoring, and their is no shortage of inspirational and brilliant minds at every turn. As long as you don't mind being surrounded by ivy leaguers and math-geniuses and can hold you own - it's great. The benefits range from the big stuff: healthcare, decent compensation in the industry to the details - the famous free beverages, grocery delivery to work, laundry pick-up, even free transportation with a dedicated Msft transit system complete with wireless connectivity. And - SUPER-INEPENSIVE SOFTWARE! There is never a dull moment. And, the people are geinuinely caring and generous to boot. Great work culture overall - definitely hard core though. Think "college finals week" on a fairly regular basis - work hard, get results, blow-off-steam as needed via office prankishness. I have been employed off-and-on (pursuing personal projects/volunteering/having kids...), and made lifelong friends at Microsoft. It's a company unlike any other. (Any other that didn't spin off from Msft, that is.)
Cons
Ironically, many of the downsides are the same as the upsides. The work ethic here is INSANE! For your employment anniversaries you get a giant prism/crystal and two cards. One: thanking you for your years of service and contributions to the company. Two: for your significant other, thanking him or her essentially for the sacrifices made as a result of being saddled with a Microsoftie for a S.O. Yes. Seriously. My husband gets a kick out of it everytime. (Ahem, at least Msft REMEMBERS anniversaries.) And, sacrifice, you will: there's a sub in every country. In other words: in every time zone. You'll take a lot of calls at odd hours in your pajamas and you'll bump into a lof of co-workers in the office on wkends. The place has grown tremendously since I started here. The Red-tape dispenser is endlessly full. The workload is huge and you can count on an annual re-org (usually mid to late January) of whatever group you work in. Raises are sparse. They are distributed via boxscore and thhere's a max allotment for each org. You can see how this might work better for some and not others. The idea is to keep everyone at top performance, but it eventually serves to piss some people off and send them to Goog or bounce around the company until they burn out from starting over. Some employees choose to leave Msft and return shortly after to another role to renegotiate comp. Stupid, yes. Worked for me both times.