At IBM, it's better to be lucky than good.
The benefits are more expensive than many competitors: the only ones I found to be pricier were with contracting body shops. The 401k match is a joke. Performance appraisals have been done using stack ranking, although this year upper management has chosen to hide that from employees in favor of quarterly performance reviews. Performance reviews differ widely from one management structure to another, even inside the same division.
You'll rarely get to meet with your teammates because of dispersed geography or people choosing to work at home. You'll be tethered to your phone and laptop all day (and sometimes all night) and IBM will own you body and soul if you let them. On any given day you may have an 11 PM meeting with a team in China followed by a 6 AM meeting with a team in Europe, and then discover that your North American teammates sent urgent emails at 2 AM.
As a software engineer, you'll be working with a lot of dog food and you'll also find that your deadlines and features are driven by sales, even after the "agile" company transformation. You'll likely be working in a silo and communication between different groups is, at best, "hit or miss" with frequently ignored emails or instant messages if you don't work directly with the person.
Don't assume you'll be at IBM until you retire: layoffs are an annual (or more frequent!) event.