Pros
- Interesting problems to solve - Very interesting pay - Some very smart people around - Decent chance to boost your career - If you are in a customer-facing product, you get to impact millions of customers from day one (this may be a con too: if something breaks you're responsible for fixing it)
Cons
- The leadership principle "insist on the highest standards" does not seem to apply to our codebase. I've seen some 2000+ lines long classes, and I wonder how they ever passed a code review. - There is a high change you will not use the latest technologies. I have to code on my own time to "not forget" languages like node.js and angular. - Too much bureaucracy to get things done: things like getting permissions to access a resource, asking for help, can sometimes take hours, even days