Pros
My career was spent entirely within the Office organization so all comments here reflect that experience: * Opportunity to work with a vast array of technologies and types of development (mobile, desktop, enterprise, services) * Decent salary with great benefits * Company is stable with tons of resources to take big risks * Flexible work schedule
Cons
My career was spent entirely within the Office organization so all comments here reflect that experience: * Depending on work from a partner team can be risky, especially if the partner team is in a different division. For example, if the other division has a substantial re-org, the work you were counting on may no longer be a priority. * Performance assessment sometimes reduces to a nebulous "level of impact and influence" * Shipped products will be deprecated or changed to something incompatible without a good path to an alternative. This is especially problematic for customers but can be demoralizing for employees as well.