Pros
Great coworkers and work environment Supportive management. A lot of things going on from design, to cloud, to acquisitions. People do listen and care. Online access to 24*7 books which is pretty handy sometimes yet not fast enough to include cutting edge tech books.
Cons
--The problems with everything I said above are: --The people around you are not working on your project. You're team will pretty much cover all time zones. --The management's support from your first and second line are more of a sympathy vote since they don't even own the components they're working on. --A lot of things are going on yet from a developer's point of view, old technologies dominate the money making for IBM. So, good luck revolutionizing anything. You can scratch the surface and that's all. --As for listening and caring, It ends at that. In order to make changes, you have to work overtime and on your own dime only to get a top performer for the year with a measly 1 ~ 3% base salary increase that barely keeps up with inflation. --There are buckets of money and the money is divided based on the projects and their values. You can be the next Woz. but if you work on "just another IBM project that senior management only hear about in quarterly reports", then good luck getting that healthy raise. -- Barely any training opportunity on site. If you don't believe me go to the think 40 site and search for training programs in Austin.