Company: IBM
Date: 2019-03-07
Overall rating: 2/5
Employment status: current
Experience level: Junior

Dysfunctional from top to bottom
Pros: I am surrounded by good people who know how to deliver high quality software. The salary seems higher than most others in the area, with a fair amount of vacation, if you include floating holidays.
Cons: Those same people who know how to deliver software are hindered by terrible processes and decision making, some of the worst management I've experienced in more than 20 years of working in this industry. They will definitely lay off huge swaths of people at the drop of a hat. Considering that they don't seem to have much mastery in developing worthwhile products, you would be well-served by keeping some money liquid in the event of a layoff. 

Hilariously, *every* piece of software that we use internally is worst in class, including IBM's own products. Every process is ill-defined and difficult to navigate. Knowledge is not shared except through social networks.

There seems to be opportunities for software engineers to move around internally (discovered after layoffs), but I have yet to find anyone who was happy with their move. Opportunities for managers are nearly non-existent.

The benefits are terrible. I hired someone and was able to give him a sizable increase, which he lost (and then some) when he had to pay for health benefits.