Pros
Lots of "opportunity" to work on some cool systems if you are lucky. Good work life balance if you fight for it. Very nice offices. Pay is very generous, especially when promoted. Good later movement options available to find new positions within the company.
Cons
Lots of "opportunity", meaning there's a lot of work that needs to be done. Constant flux of technology. Upper and middle levels can't stay on a service or provider for more than a few years before "requiring" a new service and having to do a heavy switch over. A lot of "best practices" are not actually best, and there is a hold up of "security" overriding "productivity", where most of my time is spent fixing "mandatory tech backlog" work to meeting these ever changing requirements. There are also instances where the enterprise has attempted to "standardize" process that on paper will be scalable and offload responsibility from the development teams, but when they break, they break for everyone. Usually quite suddenly. Personally have a bad manager/team that unlike most people, is too hands off and not driven, so I bear the weight of the team myself to do high quality work. Upward mobility is difficult to near impossible if you are part of the Tech Development Program (TDP) pipeline. You can be the hardest worker, have expertise in may aspects of the team, and still will have a carrot dangled in front of you being "strong" but never "very strong" or "exceptional", the ratings required for promotion.