Pros
Lots of opportunity to make a significant difference. A skilled person could make themselves indispensable and advance in a relatively short period of time. Great office facilities and work environment.
Cons
Significant tech debt, especially in the developer workflow. 2 clashing cultures/styles (old microsoft and new "internet") which has hindered progress in addressing some fundamental issues but progress is being made. To many technical implementation decisions made at a level above where the actual work is done without adequately consulting or including subject matter experts. This tends to result in poor expectation setting which potentially sets one up for failure and certainly can be frustrating but ultimately can be overcome if one is vocal enough.