Pros
Mostly good people and bright co-workers. IBM is good about letting people work from home (which is nice, because it's much easier to tolerate working with an obnoxious management team when you're in a remote location).
Cons
Executive management team likes to micro-manage the business, which causes LOTS of extra and unnecessary workload. You spend a very large percentage of your time preparing for and giving status updates to senior management (often with technical details beyond their ability to understand). There are some very good technical people at IBM , but the management system is so oppressive and smothering that few creative ideas ever see the light of day. IBM works very, very hard at creating the ILLUSION of being a good employer, but it's actions show otherwise. Lots of companies have had to do lay-offs, but at least most of them have had the guts to publicly acknowledge the actions they are taking. IBM on the other hand prefers to surreptitiously do its lay-offs and off-shoring of jobs while keeping its employees in the dark.