Pros
Relaxed atmosphere. Generally positive work attitude from people. People of all ages with lots of experience, or on their first job and eager to learn. Relatively high barrier of entry, won't hear any "construction site" jokes around the office. Opportunities to work on projects that you would only find in large organisations like this. Good work-life balance. You can advance easily if you're smart and you have the right people skills.
Cons
Depending on the team you may find weird managers. Like someone responsible of tens of projects and people, was spending time with things like "move this button 5px to the left". No one cares dude. They care if the button works and if it fixes their problem. A lot of dead-end projects, abandoned by management but still needed for some periodical tasks, which means you can't kill the project but still need to maintain it. Lack of any longterm vision for the team, it's mostly quarterly/yearly targets, goals, and tight budgets. A lot of scrambling to fix problems that would have never existed if the right software was chosen from the start, for various extremely expensive 3rd party software solutions. Expect to see a lot of turnover among contractors, a lot of very capable people leaving due to low pay or lack of advancements. General lack of ownership on small software projects. A lot of mini projects abandoned but still used, somehow. Getting projects started and set up involves a lot of bureaucracy, approvals, forms, sheets, schematics, tickets... it gets really old really fast. Felt like I was working in a government agency. For one project I wrote more tickets and documents than actual code. No one knows how things work. "Real" onboarding takes very long because only a handful of people even understand what's going on there. I was a contractor and my pay was very low, and no benefits/bonuses to speak of.