Pros
People that you work with day-in, day-out tend to work well together with a good professional working relationship that does foster joy and entertainment of working together. Some of the benefits are very beneficial and the hiring salary band always seems to be around the top end of the current market rate.
Cons
The morale is being pushed down especially in Fleet Engineering due to a rise in presence from outside management that don't fully understand the product/domain, don't trust the engineering team to work on and deliver the core product they have built and maintained for over 6 years and just a general disliking of Microsoft products (where there is the majority of expertise in house, E.g. C#, Azure) There is a constant change in requirements and features leading to everything being delivered way over the estimates (that are forced down rather than discussed and passed up) or always looking for the new shiny/cool technology just to jump on the bandwagon rather than actually understanding the benefits it will cause and the trade-offs that will be incurred. When market rates shift and new hires are coming in at 20%+ of what existing members are on for the same role there is no opportunity to raise these concerns and understand what maybe required to increase your salary banding to match which could easily create hostility. The biggest problem though is in the last 12 months or so there has been a change in management style and culture so instead of everything being open, transparent and discussed all new work is top down and forced fed and there is no room to properly discuss the implementation details and work as a team to create the best solution.