Pros
The environment can be uplifting with generally good peers to associate with, though sometimes they compromise to fill a role instead of keeping a position open for more qualified talent. The broad range of business needs has potential for lots of different software and supporting architecture and infrastructure, which could make for a very interesting technical environment. The job itself feels secure.
Cons
Management level and above tend to say they want to be engaged with the employees and want to create an environment suitable for them, but then consistently leaves those employees out of the conversation, even when they have the knowledge and expertise to grow and solidify the software engineering environment. The benefits are a mixed bag, with health insurance being a big weak spot with only criminal high-deductible options that will likely leave you paying into insurance and never having the insurance pay any contribution because the deductible is so high. Too much internal propagandizing. Most people in upper-management positions convey a false, overly-rehearsed, demeanor that is meant to put you at ease but comes off very unnatural and untrustworthy. Very unclear career paths and very unclear how to find a path that meets your growing needs. Management tends to be very nepotistic instead of merit based, fully benefiting those that simply build relationships over people that consistently contribute quality work. Lack of transparency among employees about salaries and other benefits and career growth. This makes it very difficult to compare amongst the employees without spending time coaxing people to be open about their compensation and other benefits.