Pros: High starting salary
Cons: Incompetent management, limited salary growth, limited innovation
IBM has a high starting salary for developers ($70K) but it offers very little raise and bonuses (if any) even if you are promoted.
The benefits are okay. They are being reduced year by year though.
The company does not care about employees and its overall prospect the is negative,
Career managers and career executives have run the company to the ground by gaming the books instead of innovating. The company tries to make up for its shortfall by regularly laying off people and cutting benefits/salaries/bonuses - instead of addressing why it is losing market share.
This causes many of the good people (including myself) to leave for greener pastures.
The management in IBM is over-bloated and inefficient. Politics between departments often pose severe obstacles to achieving business results. For instance, if we are to use an IBM product to serve a customer, then that product's department will try to rip us off by charging a premium (because that counts towards their quarterly results)
At other times, we can have departments rejected request of assistance to a customer by citing the request was improperly filed (in this case, it's my department doing it to others).
Job security is low if you are in a department that is not making a lot of money. On the other hand, if you are in a department that has good revenue, then you are also unlikely to be fired even if you are grossly incompetent.
In overall, IBM is a good place for people to start their career because it pays a fair amount for new graduates. It also gives people a taste of a typical corporate culture. However, the stay in the company should not exceed two years.