Pros
Great office building, Good salary, benefits, year over year raises and bonuses (on good years), Company picnic is fun, Free member access to museums, If you are in the right group, interesting technology and enough autonomy where you can go crazy and learn a lot. Relatively flexible hours. I didn't work too many hours each week (45/50 max), and i showed up at around 9:30/10:00 AM and left later with nobody really caring (this depends on group, though)
Cons
-Poor management that was really out of touch with developer needs, -Reliance on poor proprietary technologies that hamstrung what you were capable of accomplishing, -Deadlines and project management that would discourage building good software just to "get it done and released" Oftentimes this would result in things getting out of control very fast. -Very poor testing and development environment. Time was never allotted for testing software, and the development environment was often broken or not a good proxy for the production system. -A slow but noticeable reduction in quality in benefits. When I first joined, there was better food in the pantry (healthier), more cultural events, more volunteering events. That all seemed to go away. -A severe lack in men's restrooms. Sometimes you'd have to walk up or down two or three flights to fin a free stall. -Generally very crowded and cramped work environment. Everyone sits right on top of each other, and so there is plenty of distraction. When people get sick, everyone gets sick. The elevator banks were worse than the 6 train below the building during rush hour. -Decisions about products are made without much input from the developers, managers and business people were in a world of their own, and developers are treated as contractors when it comes to their influence over products.