Writing software, and doing it well, is expensive and time-consuming. It's like manufacturing anything else from scratch. It requires an investment in resources and expertise, proper planning and execution. Much like building a car, you can build software inefficiently. But if it comes out like shit, that directly affects your bottom line.<p>To run a profitable businesses with shitty software, you need a big fat pipe of money from a captive market. Most automakers don't have that kind of market. They cannot afford to waste time writing shitty software that won't increase their bottom line.<p>Building a highly effective software team is one of the hardest things to do in tech. We actually know how to do it - review the DevOps studies from the past 10 years - yet organizations don't do it, because it requires very specific leadership goals, buy-in, and culture. Most organizations are led by "personalities" that "go with their gut" rather than data-driven decisions, and most people, let's face it, just aren't very good at their jobs. Finding a company with good leaders, good managers, and good workers, is like finding a leprechaun.<p>Automakers should have learned this decades ago, that only extreme attention to detail and high quality results in better outcomes (and thus bottom line). It's fucking hard work to make a good car. It's also fucking hard work to make good software. Did they really think "just add more software" would be easier than making more cars?!<p>They don't need to make all this software. Automakers are happy to buy some parts commodity, and have some made bespoke. Software doesn't all have to be bespoke. Take 100 different x86 computers and the same OS will run fine on all of them. They don't all need to invent their own novel way of networking and controlling embedded devices. Look to the software that works well everywhere for inspiration. It's all standards-based, loosely-defined, layered, simple, with replaceable parts. <i>Kinda like a car.</i>