Pros
Excellent work life balance, low pressure, solid comp and benefits, friendly coworkers. Most teams can be hybrid
Cons
Senior tech leadership leaves a lot to be desired. Many choices are made well above the level of actual developers, and we end up with really poor tech choices picked by people who haven't written code in 10 years, without input from senior or principle engineers. Unintentional but significant silo issues, several copies of the same tool developed at the same time with no one aware of it. Something like a B/B- skill level technical shop, and several people below that level with only a few really great engineers. Many of the better engineers end up very frustrated by the top down technical dictation and the enforced choices of tech stacks that often don't make a lot of sense. Tech leads will often try to fully design and plan a new tool to be handed to senior and higher level engineers instead of just gathering requirements and letting them run with it. Often results in mediocre or non useful "solutions" and a "just finish these tickets" vibe where great engineers have to quietly ignore that and build appropriate solutions instead. Big delays in upcoming work while a whole bunch of non-coding managers have 14 meetings to decide how to solve a simple issue.