Vantaggi
* Almost everyone around you is pretty darn smart and works hard. * Managers are generally competent, smart, well intentioned, but not experienced and trained as managers, as they were mostly former engineers. (this is me :-) ) * Salary and benefits are good. Free food etc. * Performance review system is complicated but understandable. You can generally understand pretty clearly what you need to do to get promoted and succeed. At least up to L5, Senior Software Engineer.
Svantaggi
* It isn't as good as it used to be. 10 years ago, focus was entirely on doing the right thing for the user. Now, focus is on keeping the money train going. This short term thinking is hurting long term potential, and is often bad for users. * Management "Ethics" seem to be mainly: Whatever they can get away with, without annoying European and US governments too much, and makes money, is good. Even if it is not good for our users. * 10 years ago, we had a lot more bottom up innovation. 20% projects, taking risks, trying crazy innovative things. That's pretty much gone now. Top down planning, lots of status updates to management, proving that what you are doing is working and contributing to the organization's goals. Much more bureaucracy then there used to be. * It's just another big company now. Good, but not exceptional the way it used to be.