IBM is one of the few companies that really cares about skill development of their employees. Since it is such a huge company, there is a universe of job opportunities within IBM and you are ebcouraged to try different roles since you broaden your horizon and become more and more valuable.
Cons
IBM demands the best of yourself, so this is not a place for lazy people
IBM had great research teams, and plenty of internal resources if you wanted to learn anything. It wasn't hard to find an expert in just about any field if you needed to have conversations on just about any topic.
Cons
The company had a really hard time with the "not invented here" syndrome. We had to use internal tooling, which in many cases was sub-par to a lot of external open source tools. It was also a very bureaucratic company. Shipping any product require a huge amount of paperwork and red tape.