Pros
Pay is OK but only at the higher title levels. Domain and analytical work itself can be highly interesting and challenging, if not for the corporate bureaucracy and infighting that impedes progress. Decent benefits such as medical, vision, 401k, etc.
Cons
Blame game, Machiavellian politics between groups and individuals. Corporate culture is almost the opposite of teamwork; rather, people try to CYA all the time. There is a negative view permeating the company of “failure” be it actual or perceived. People are therefore understandably afraid to try new things, do green-field research and proof-of-concept projects, etc because of the risk of failure, which is inherent in these sorts of endeavors. Zero focus or value placed on career development; people essentially get stuck in their role with no opportunity or catering toward improving their skills or moving to higher levels on their career path. Non-technical managers hired to oversee technical functions leads to poor decisions, political battles, disenfranchised and frustrated staff. Focus on cost-cutting and maintaining margin means innovation does not thrive, since the focus is always on feature development that is promised to bring in new customers. Lots of jobs transferred offshore, which makes software engineering efforts difficult to complete and very inefficient.