Pros
Smart, bright people (who take the first flight out to greener pastures)
Cons
Engineering teams are run by Principal Engineering Managers, who essentially do what they feel like with the product, with a complete disregard to processes , practises , roadmaps, backlogs , customer wants - basically any feedback that doesn't impact their appraisal. Agile is a joke, you are lucky if a developer so much as tests what they have coded. The randomest things get the highest priority, cuz it catches the whims and fancies of the EM. Any questioning the code quality might just result in a PR review request to the PM. Most EMs cannot hold their ground in front of aggressive engineers because this impacts their manager rating. This leaves product managers (lets call them that cuz that's what they are irrespective of the program title we slap on them) to take the blame for pretty much anything that is beyond what they can handle. Managers may be technically sound individual contributors but lack leadership ability (apart from the trait that makes you suck up and grow up the career ladder) . The rule of the thumb us convenience - if the ask is out of our comfort zone, let us pretend we got confused and did not understand it correctly. Or let just call it a new requirement. There is zero sense of ethics, of doing the right thing for the product or even for the customer. Inclusion, respect are words we write in our appraisals and put on our event hoardings for better PR. From the inside, we are as hollow as we can be. In my experience as a PM, this is the worst company I have worked for. There is zero support system for doing the right thing. Everything works on manipulation, coercion and how you can stay in the good books of engineering managers, irrespective of your function (even if you are an HR)