Vantaggi
Interesting technology to work on, a lot of smart people, promotion of good performers.
Svantaggi
People don't leave their jobs, they leave their managers. I worked for a manager that would on average say at least 5 dumb things in less then an hour. At a team lunch this manager started discussing the origin of THE "F" word, I kid you not. She lacked technical skills but loved to micromanage checkins (if you can't read C code you are not qualified to judge a checkin). It used to be that people of such caliber would get fired in a heartbeat but as the company grew larger they would stay on for years. On the other hand I liked my old manager so if you are thinking about working for the company your mileage may vary. Another con is stock stagnation. The company might re-green you but if you are an average performer you can probably forget about it. Top performers have to keep mum about any bonus awards as it creates tension. There are cliques among lead engineers and lower ranks have to pick sides.