Pros
Senior engineers have been here for a long time and can give you good programming practices. There is real talent which stays here and forms the core of the engineering department. They're always busy, but if you can get their attention, you can learn a lot from them. I've enjoyed working with most of my coworkers, which I can't say about any of my previous jobs. That's a really nice perk of this job. There is not pressure to work insanely long hours, which is refreshing compared to the FAANG companies. The unlimited DTO policy is genuine as long as your manager approves it. The company has good vertical mobility.
Cons
Compensation tends to be below average for the area but not by a great amount. Most teams are understaffed. This means there will always be work waiting for you. That said, if you're on a team where you're not worked to the bone, this is actually a good thing. You'll get to work with new tech at a bearable pace, meaning you can pad your resume without crying twice a week in the bathroom stalls. It's really a gamble if you're on a good team or not. I would say there are more good engineering teams than bad ones. The company is about to be acquired by SES, so I might hesitate to join right now. Layoffs are coming. Senior management is consistently awful. Management tends to be really great up until the director level. Any higher up the chain than that, they quickly become out of touch. Senior leadership turnover is high.