Pros
Working with some very clever engineers Overtime hours worked are paid at the normal rate, but that means it's usually expected to work overtime. Because of the high pressure and low management involvement, you'll be expected to perform at levels way above your paygrade, which is useful for gathering experience for better-paying positions at other companies
Cons
Clueless upper-management, that's constantly overburdened and has no idea of the state or direction of their own projects. Toxic environment mostly due to unreasonable pressure from an inefficient implementation of top-down structure Because of the above, overwhelming amounts of responsibilities are given to junior-level developers and unrealistic expectations are sold to customers, which results in constant overpromising, under-delivery and stress. Expect to work late hours (leaving after 10pm is frequent and I've personally had to go home at 11pm on a Friday to then need to come in on Satuday morning only to satisfy a soft weekly deadline)