Pros
Relatively flexible working environment. Casual dress, okay working environment. Decent coworkers. Once you're in, you've got a job unless you mess up catastrophically or you choose to leave.
Cons
Management likes to write checks that prod dev then has to cash, and there's a breakdown in communication between the people who draw up the features and the devs who have to create them. Dev isn't allocated enough time to defects or tech debt, which leaves us in a constant state of crisis with our larger clients. Agile isn't well-understood from the top level, and there's a lot of burnout among the developers. Employees are often jaded and cynical about "the way things are" and even though they would love to see things change for the better, are skeptical that they will. The salary is quite low compared to market value. There's very little positive feedback. Favoritism is absolutely a thing, but you can make that work in your favor if you know how to.