Pros
The actual people I work with are great.
Cons
There are virtually no resources to get you up to speed on the products you're supposed to be working on in the first place. You can find an expert on the product, only to realize that they barely know any more about it than you do. Code reviews are arbitrary. If there is some ambiguity in direction - trust me, there will be plenty of that - you can always ask a senior for some advice. Even after doing that, there's a 50/50 chance your update will fail anyway, and it will go on your record with no recourse. Differences of opinion on solutions between people with way more experienced that yourself will become your problem. It can be extremely frustrating to work for a company that places such a high premium on perfection, and yet seems to have no clue what they actually want.