The End of Software Development

Many of my friends have been talking about this essay from some venture capitalist predicting that LLMs will spell doom for software companies and that “Majoring in computer science today will be like majoring in journalism in the late 90’s.” The rationale behind the argument is that similar to how the internet allowed random people to create and distribute content which destroyed media companies, LLMs will allow randos to easily create applications and destroy software companies.

As much as I try to ignore “thought leadership” from VCs who usually don’t know what they’re talking about, it was an interesting prompt and I have some thoughts on this topic!

There Are Some Major Technical Hurdles to Achieving Truly Democratized Software Development

We’ve talked before about how current LLM architectures are complete trash when trying to solve a problem that is not in their training data. Maybe this is not a major issue for a lot of applications – a lot of software development is what practitioners refer to as “plumbing”, meaning it’s just connecting up existing components in a well-understood way. This doesn’t require a lot of critical thinking and I completely agree that this type of work is going away.

Example of highly paid software developers

There’s a lot of software that we’ll want that has never been built before, though. And even for the “plumbing” projects, there are some major problems we’ll have to overcome:

  1. LLM context windows are too small to understand a real project. The best current LLMs can only keep a few million tokens of information in memory when generating responses. This is far too little information to make many changes in real-world software systems, and no one knows how to make the windows big enough yet.
  2. We need a feedback loop. Current LLM development aids give one output for an input and rely on humans to make use of that output. Software development is an iterative process though, where developers will try something, see if it works, make some tweaks, and try again until achieving the desired result. There have been a few attempts at creating this loop with LLMs, e.g., this paper, but even the most advanced attempts never achieve even a 50% success rate on simple problems. We don’t know how to build this.

All of this is to say that we’ll need some technological breakthroughs to get to the point where AI can write decent software in a fully automated manner – evolutionary changes to existing techniques probably aren’t going to get us there.

I think this is one of those problems like self-driving cars that everyone said was right around the corner in 2020, but it takes a LONG time to actually get to the finish line.

That said, I think we will get there at some point which implies…

Programming Language Design Is Dead

No one cares about your what programming language you use when the task can be accomplished with English. If anything, LLM-based software design further entrenches existing languages since they have the largest training sets available.

I for one can’t wait for the day when I never have to look at write-only Perl, the Cthulhu-ian-level horror that is JavaScript, or the latest psylocibin-driven madness concocted by the C++ standards committee. Joy!

Software Companies Will Need to Focus on Experience

When we get to fully AI-generated apps it’s going to get a LOT cheaper to create software. Lower COGS and more competition implies lower prices paid by the end user and lower margin for software companies.

Lower margins doesn’t mean everyone’s going out of business though! The apparel business has incredibly low margins and has been well democratized. For example, my son designed a T-shirt with cartoon beavers(!?) for me for Father’s Day this year. My wife sent an image he designed off to a company which sent us a shirt for very little money.

I’ll sell you one – just reach out

And yet Louis Vuitton seems to be doing just fine…

There’s a lot of room for profit in low margin, democratized businesses.

This is very different from the media example. Traditional media companies sell attention. The way they garnered attention was fundamentally expensive and incompatible with leveraging cheaper, user-sourced content. You better believe software companies will seize on any new technologies that allow them to create products more cheaply, though.

Instead of devoting most of their resources on writing the software, they’ll instead focus more effort on identifying the right problems and solving them in a way that sparks joy for users.

There are a lot of software companies out there that churn out what I consider an affront to human decency, and you better believe those companies are going to get figuratively kicked in face when democratized software development comes to fruition.

The companies that create great user experiences are in no danger at all though. I’m reminded of the famous quote from automaker Henry Ford who said, “If I had asked people what they wanted, they would have said faster horses.” There’s no AI on the horizon that can identify that the right answer to your problem is a car.

You’d Better Be More Than a Translator

Software development has never been just about writing code, but in the future it will be even less about that. If you’re currently a software developer, I’d wager you still have at least 5 years before the fully-democratized trend seriously affects you (though tools allowing companies to create applications with fewer developers are already well underway – you definitely want to embrace those).

If your career is going to last longer than 5-10 years I’d focus on building up your “product” skills. That is, you should invest in learning how to really understand customers, how to run experiments to try out different approaches to solving problems, etc. Here’s my favorite book on the topic if you’re looking for somewhere to start.

Designing experiences that create joy is where the value-add will be. If AI advances to point where it can do that well then we’re probably all out of jobs anyway.

It’s Crazy Not To Major in Computer Science

Back to the “Majoring in computer science today will be like majoring in journalism in the late 90’s,” quote.

Picture of the research equipment used in developing the above quote

Computer science is NOT about programming – it’s about how computation works and how to logically solve problems. No matter how software development evolves it’s insane to think that computation won’t be at the center of our future world.

It’s equally crazy to think that computer science departments won’t adapt to the fact that the software development process is changing. There’s ample historical precedent, e.g., assembly language programming used to be required material, but isn’t taught anymore outside of specialized electives.

The trends that point to using LLMs in software design are obvious to me, a former professor, and most of my ex-colleagues are much smarter than I. They will adapt and if you want in hand in designing the digital future should be clamoring to study with them.

Leave a comment