Teams have independent cultures so your experience is totally dependent on the leadership of the team you’re on. That said, most of them are bad as the company only cares about leaders’ ability to maintain the contracts with the customer. In my experience, the only thing shared is a lack of interest in the experience/growth of employees
Mediocre pay/benefits
Many mediocre coworkers. People are hired without confirming they have basic technical competencies. People are mostly early in their career or old timers riding things out until retirement
Quality of work is irrelevant. There’s pressure to only do the bare minimum to satisfy the contract wording. Not a place for you if you care about your craft
Anyone technically competent gets promoted to be (mostly incompetent) middle managers. Such roles are often considered a reward for loyalty. I worked with 6-8 different managers during my time there and would not interested in working with a single one again. In all other places I’ve worked combined, there’s only 1 or 2 I would say the same about
Most teams have outdated software practices/technologies. For example, many teams pay lip service to “agile” but actually follow waterfall practices.