Pros
Decent pay, and employees are treated very well. The attitude of the place varies from team to team and location to location. The benefits are pretty great, as well, especially free reimbursement for relocation, and the free drinks are a nice perk, too. In general, everybody's pretty laid back, and it's a nice place to work. Hours are very flexible -- you can pretty much come and go as you please as long as you attend any necessary meetings and complete your work on schedule. Then again, when coming up against deadlines, that concept is a double edged sword. Overall it's pretty nice.
Cons
It varies from team to team, but some of them do a ridiculous amount of micromanagement. I've had days in one team where the entire day at work was spent in meetings doing nothing relevant. Generally there's a meeting at least every day, and they almost always run over time while people niggle over small issues that generally don't apply to more than a few people in the meeting. In another team, I was simply set loose to do my assignments. I had maybe one meeting a week to sync up with my manager and maybe another one every month to sync up with his manager.