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