Vantaggi
1. They are one of the biggest employers in the world. 2. So many learning programs and whenever you partake in them, you are rewarded with money coupons and internal IBM points(which can be used to buy anything). 3. Hierarchy is huge but that's ok you wouldn't feel much difference, as most higher-ups are really cool. 4. They actually have cool products, I mean we don't hear much about IBM products as most people you usually talk to end up in the service side of the company. But some IBM products are really good.
Svantaggi
1. Cons is as my headline state, IBM in India usually hires for its GBS unit, which is basically consulting and providing service to already working applications, so if you want love to code then it's not for you. You will somehow end up supporting projects and solving the problems of end-users. 2. Everything depends on the manager which is kind of frustrating, even for internal project changes you must have his permission(which is hard to get) 3. It's not easy to change divisions, it's much easier to apply for the division and go through the normal screening process for hiring rather than internal change. 4. Waste of time, having a great number of resources for the same tasks means you sit idle most of the time.