Vantaggi
The pay and benefits are reasonable. They employ a lot of excellent technical people. Depending on the department, they will let you work from home at least some of the time. Depending on the department, hours are flexible.
Svantaggi
Demoralizing work environment. No job security - being rated well or promoted does not insulate you from layoff or mandatory reassignment. Seemingly arbitrary promotions and ratings - schmoozing is more important than technical ability or accomplishments. Bad behavior of some first- and second-line managers results in mistrust of all first- and second-line managers, making it difficult for any manager who genuinely wants to help morale. Usability of current products neglected in favor of "integrating" multiple IBM products, whether or not it makes sense for customers. Engineers expected to work to unrealistic schedules, and insulted or threatened if we try to point out or correct issues. Impossible to meet quality, content, and schedule goals - you just have to hope the team down the hall fails worse than your team does.