Vantaggi
1. Smart people 2. Large portfolio of products/services. So, if you find out that you want to work in a different product because of your interest or experience, you can do so because you will find pretty much all the domains of computer science in the company. I have moved internally a couple of times. 3. Amazing benefits. Probably one of the best in the market (no free food like Google though) 4. Company encourages innovation via some internal programs where you can form a team in the company with as many people as you want and develop something cool and get noticed officially. 5. Lots of training programs for personal development Bottomline, if you get a good manager, you can really excel.
Svantaggi
1. To a certain level, there is politics involved in management. That can halt your personal growth. 2. Review system is not the best (though it has been updated in last year, don't know how will it work out yet) 3. To move internally, you have to go through a full interview loop, but you can't change your level or pay scale. Well, this makes sense from company's perspective, but one might think again. If you have to go through full interview loop, why not just try outside ? You might get a raise.