Pros
Work with some great talented folks; access to technology that billions of people use everyday, now that is something. Lots of teams to move around, so you could have been at the company for 10, 15 years and still feel like there's plenty of new things to do and learn. Pretty good benefits, although medical isn't as great it once was (still good tho, or so I hear from folks who used to be at MS). The Connector (private bus service) is one of the hidden gems, unmatched by any company in Seattle; if you commute 20 miles to and fro daily like me, you will know how awesome this one is.
Cons
Many folks are entrenched in their areas (read: been here for 10+ years), so becoming a go-to person is harder and harder by the day. Can get crazy at times, esp. since the embracing of the cloud in the last few year. Forget about formal training, etc. you are basically on your own. Find a mentor quick, read/debug code - that's the best way to learn. Way too many building moves recently, seems like 1-2 times a year is becoming the norm.