Pros
Great people. Most everyone is willing to help you come up to speed. Ample time to learn and build your skills, particularly when coming out of college. It easy to move up if your willing to take some risks and work hard, at least in software group it is.
Cons
As a team lead, processes are more than ever to release a product. You count yourself as a full time developer yet meetings, helping the new hires because IBM pretty much only hires those out of college, you find yourself struggling to find time to write code. There are many people who are happy putting in there less than 40 which in some ways stagnates the group as a whole. No one is learning anything new, thus just a few key folks end up knowing much and they don't grow because the group is not educating themselves as a whole. I get it, its not a silicon valley company to have that drive but why shouldn't those who work there want to learn and grow themselves?