Pros
You work with technical experts and you're encouraged to become an expert. We use latest/greatest practices and technologies and are encouraged to learn them. The most legit claim to Agile, DevOps, & XP buzzwords that I have come across at a large corporation. Good pay, good benefits, good work environment. The "Labs" teams do an amazing job of hiring good people that are nice to work with. There is an impressive combination of pointing out problems WHILE maintaining a positive attitude and sense of ownership. By this I mean: those of us that think things can be better, we are empowered and encouraged to execute improvements. It's not perfect, but even when improvements aren't immediate, we see a path forward.
Cons
I paint a pretty rosie picture and it is. There can be pain in transition sometimes, but I think that's the nature of changing technologies and improvement - it's not "comfortable" There are facts of a great workplace like this that are unavoidable. Pair programming, in-person, with good people, requires that you are in the office together. That means almost no remote work(from home). Pairing means you don't have your "own" space where you put up photos of the kids next to your Swingline stapler. This is a tough pill for old school devs used to traditional environments. I, personally, have found it great for my personal/professional improvement.