Pros
Decent pay Extremely easy to turn up, do the bare minimum, if that is your thing. Generally pleasant team to work with Decent access to self learning
Cons
Legacy poorly maintained tech - even the "new" services have the same monolithic setup, complete with poor quality and maintenance issues. Environment pain - no ability to reproduce anything. Stuff is often linked to or copied from a working environment. Systems regularly fail and take significant amounts of time to recover. Agile in name only. Teams work in high pressure sprints, forced to deliver only features in the shortest way possible, due to the business dictating all of the time lines and feature sets. No attempt is made to learn from mistakes. Reinventing the wheel time and time again - rather than actually using the tools and frameworks available, or even pulling in relevant open source libraries, we write it all ourselves, in the most complicated way possible. No ability to enact change - team hierarchy ensures that engineers get very little context or scope to improve anything. Any attempt to is usually blocked in review by leads. No investment in decision making - most senior individuals do not talk to each other and are too busy building their own empires. Decisions are dictated by them and any attempt to deviate or show any reasoning, is met with fierce resistance and arguments. Most of the passionate staff tend to get frustrated and leave very quickly