IBM's trick was to recognise that nerds are bad at selling stuff. Even up to the 90s, sales + support + okay product > great product. Then nerds took over IT (the world?):
> Nowadays, developers regularly make the purchasing decisions
Oops. Suddenly, you can't just cover over product weaknesses with sales. I want a slick, downloadable, preferably OSS demo which I can evaluate (and fix), not a slick sales guy. They just lie.
> IBM is way behind on automation and lacks the talent, so they've had to make acquisitions and "strategic partnerships" to buy it.
... and then they constantly scare away that acquihired talent by e.g. not using `git`, but their own SCM called "Rational Team Concert" (which is worse than `svn`). Suddenly, the avg. day of a dev became 1/3 as productive and x5 as frustrating.
It isn't that they treat developers horribly, they just don't know how to please them. You end up with dev teams of barely average "enterprise" developers, who are put under pressure by flailing managers and executives to "deliver". So they simply add to the decades of technical debt. Now most products are "rotten" to the core in this way, so you need ever bigger support and manual test/QA teams. Release cycles elongate, features take months to develop in a fragile code base. Sales, assuming they weren't douchebags to begin, have nothing good to sell. So management "incentivises" them instead of investing that money in a good product. Thus, the cycle continues.
In this way, it's also insidious for your career unless you want to move out of tech (because IBM's general reputation is okay). If you want to stay in tech you really have to be keeping up with the outside world, otherwise you'll get a nasty shock in that interview when it turns out you don't know how to use `git`.