Pros
Smart engineers everywhere — you learn fast whether you want to or not. Strong engineering culture around code reviews, documentation, design docs, and ownership. Interesting, complex problems that genuinely make you a better developer. The scale forces you to build things the right way, and that experience is valuable for your career. Good pay, good benefits, and stable internal processes.
Cons
The workload fluctuates constantly and leans heavy far too often. Expectations ramp up faster than support does, which wears people down over time. A lot of “own it end-to-end” work means on-call, firefighting, and pressure to always be available. Some teams ship slowly due to legacy systems, approvals, or fragmented ownership. Promotions can be uneven and sometimes political depending on your team or leadership chain.