Pros
Great benefits, great career opportunities, lots and lots of different products to work for. You can move around between teams as much as you can. Lots of smart people, you get to build stuff with them and learn.
Kontras
Lots of politics. Depending on who your manager is, getting a promo can go from being completely based on your performance to being completely based on politics and how you play the game. It's really heartbreaking to see managers make bad engineering decisions, deliver half-baked results and still get promoted. Every team in the company has a tremendous amount of technical debt that will never be addressed but will always be a problem. Constant reorgs also contribute to people not really caring about the long term and just focusing on delivering something immediately.