Vantaggi
The company is very career-centric. This a pro because they will work very hard to make sure you fit into their ecosystem. They will move you around within the company until you find a spot that suits you. They also provide quite good health and retirement plans. There is immanent room for growth and promotion. It is possible to spend an entire life climbing the IBM corporate ladder (and some people obviously do). Additionally, IBM has one of the best learning/training programs I have ever come across. Top industry professionals develop what essentially amount to college-level courses. These courses (available on an enormous range of topics) are available to all employees (though some do require management approval). A self-motivated individual would undoubtedly find IBM to be one of the best places to learn and grow.
Svantaggi
The company is very career-centric. This a con because everybody is old. Because IBM is so good at retaining it's employees, departments seem to become very top-heavy (lots of senior employees but relatively few junior employees). This "oldness" is especially apparent within the software group where management seems to be clinging to old-school development practices. Do NOT expect a modern culture like at Google. As a dev we have zero perks. There is no free coffee. The walls are barren. There is no food in the building. The entire experience feels sterile and dated.