Fantastic Coworkers, Factious Upper Management, Fantastic Business Model
Pros
As a software engineer, working in the Seattle office has a fantastic balance of work and life. Folks are kind, fun, friendly and personable. Few engineers take the day to day grind so seriously they can't break for a game of cards at the lunch table. If you can get job satisfaction from punching the clock doing assigned tasks on a monolithic, feature-rich, legacy-bound, and technologically diverse software offering, this is the place for you
Cons
The parent company treats all employees as consultants -- expendable, replaceable, and worth only what they can do for you in the moment. Knowing this, it is possible to be successful (if not appreciated) by simply doing your tasks and keeping your head down. Innovation is pushed, skunk works projects are unheard of (unless directed by upper management), and frequently engineers are placed between disagreeing upper managers. In all, this can be a very frustrating experience for an engineer beyond the entry level or not near retirement.