There's no pressure encouraging software engineering culture to converge on values that actually make sense and are true.
I don't think we'll see progress as a result of competition between companies.
You do see some competition between programmers. Every company is looking for good programmers and is willing to pay them a lot of money. But it's also pretty difficult to tell what makes a good programmer, or how to become one (I believe this is what Jon means when he talks about values).
Programmer at NASA GSFC
2. Most of the competition happens in the UX space (in terms of features and looks). You would choose between alternatives based on the workflows they enable, not based on performance or stability (usually).
3. You only discover technical issues after an initial investment of time and/or money, and you don't really know if an alternative product would fare any better.
5. ... most programmers don't know that it's possible to produce higher-quality software with the same amount of effort.
Poor quality software is a short-term bet to cast a wide net to cover as much territory with the smallest resource investment possible.
You also note that "Most companies (especially web companies) can afford inefficiencies in production and maintenance," but how do they afford the inefficiencies? Is it due to the VC bubble / concentration of wealth that I mentioned?
So IIUC, basically the profit motives are not set up to produce quality software for the most part.
According to Casey, the root problem is only solvable by chip manufacturers
That talk was really out of my area of expertise (though I was fascinated)
When you see a janky website it's not because it's impossible to implement that website in today's browsers, it's because of sloppy programming. I would like to see the industry get to a point where even programmers who work on the highest-level platforms (web/mobile/Unity/whatever) try to make the most out of their platform, even if that platform itself is inefficient.
Why do practices and values that result in inefficiently creating slow and unmaintainable software dominate the industry? Wouldn't you think they would get out-competed by more effective practices and values?
There's no institution to do it yet.
Since global warming is really trendy among the kids right now, and it has strong elite backing all the way to the bankster level, I'd suggest someone set up a racket where devs pay your institution a fee to look at their code to see how Green Friendly it is, and then give it a grade they can use to virtue signal how Green they are on their advertising materials. They'd lose points for using horribly slow languages like Java or Python, memory managed languages and so on. The less resources their app uses, the better grade they'd get. If you get the woke crowd interested in this idea, they'd agitate to get laws put in place to tax the Brogrammers out of the business.
I've always resented having to replace perfectly good computers, so I can run software that does the same thing much slower, that faster software did better 10 years ago, on much slower computers. Its like watching property developers tear down perfectly good modest houses in my neighborhood to send to the garbage dump, and then they replace them with ugly low quality McMansions that cover every inch of the block, and will be falling down in 20 years.
Get a new app to market, capture market share, and by the time your scale is causing unmaintainability to really bite you, your users are locked in. So this kind of relates to Asaf's #3 point.
I'm not sure I can find a single software product that dominates its field because of its efficiency and performance. All the dominating products I can think of are dominating because they arrived the first and competitors struggle to outperform them, and often used this opportunity to use aggressive business tactics (see Windows. Also works with Autodesk or Adobe products
I also saw a lot of freshly-out-of-school artists spit on Blender without being really able to explain why
A budding game developer and programmer