Pros
1) Benefits, especially medical are outstanding. 2) Employees are talented and easy to work with; most are dedicated to providing the customer with an outstanding experience. 3) Workplace flexibility (work at home, etc) is excellent, but can depend on your group/boss.
Cons
1) Some features in products are implemented simply to get a checkoff item on the "box". Then they are left for years in an unsophisticated state. 2) There's much talk of social/mobile/global, but little concrete implementation and integration into existing products. 3) Very slow to adopt new technologies for existing products. 4) People are running scared due to many layoffs in the last year partly due to acquisitions. The philosophy seems to be to dismiss existing talented employees in favor of keeping employees obtained through acquisitions. In doing so, much information is lost. This slows down development and the customer ultimately suffers.