# Is Software Solved?

> Source: <https://ahmet.ee/is-software-solved/>
> Published: 2026-07-27 10:03:25+00:00

# Is Software Solved?

## The loop is almost instant now

Before LLMs, the loop was slow. A developer wrote code, ran it, watched it fail, figured out what to change, wrote tests, reviewed their own work, had someone else review it, pushed it to a dev environment, waited for QA, waited for a stakeholder to sign off. This took at minimum days. Sometimes weeks.

Developers weren't writing every line from scratch even then, they used libraries (other people's code). But using a library meant learning it, or at least reading the docs. And choosing one meant comparing several alternatives and choosing badly meant living with the consequences for years. Pick the wrong ORM and you can mess up your query performance in a future where your app is handling so much more data.

Now this iteration loop runs in hours within Claude Code. Sometimes minutes. The model writes the code, runs it, sees the error, fixes it, writes the tests, reviews its own work, and hands you something that works. The entire pipeline that used to require four people and a few standup meetings now happens inside one context window.

This is of course amazing and still feels magical. I'm not going to pretend otherwise.

## LLMs are software DJs

Here's the thing about that loop: it isn't neutral. The model isn't composing. It's remixing.

Every model has taste. It has libraries it reaches for, patterns it defaults to, a way it structures tests, a certain style for error handling. You might have seen some research on this, I'll link you to one such experiment [here](https://amplifying.ai/research/claude-code-picks).

So, what we have here really is a DJ. It has a box of records it likes and a feel for how they go together. It is good at mixing and matching code based on its own experience (training) with it. Therefore a coding agent, just like a human developer, is also, in the strict sense, biased.

Claude Code has preferences it did not choose and, left alone, will never argue against. Ask it to make the counter-case and it will, competently. But it won't interrupt you or judge its own decisions unless asked.

One could object that humans converged too. We all learned from the same Stack Overflow answers; "idiomatic" was always a polite word for "what everyone else does." True, but a million developers converging loosely is a different statistical object from a handful of models converging hard. When a million people copy a pattern, they introduce a million independent mistakes on top of it, because their starting point is never the same. Each LLM model that comes out has the same starting point (training weights) worldwide, regardless of who it interacts with.

And here's the eerie part:

Globally, we have fewer than ten DJs. Count the models that are actually good enough to trust with production code. Claude Code, Codex, Gemini, Kimi, umm... I'm already struggling to name more without Googling 🫠

## What a development team used to be

The beginnings of a new project were especially painful. Slow decisions were annoying, and in hindsight they look ridiculous. Three days arguing about a backend language. Two days picking an ORM. What a waste. We know now that you can just build the thing, and if it's wrong, build it again... The cost of iteration has collapsed far enough that wasting time choosing often costs more than the mistake. You can refactor things really fast.

But look at what was actually happening in those arguments.

You had the junior who wanted the new thing because it was new. You had the senior who distrusted anything that hadn't survived a decade in production. You had the mid-level developer over-applying design patterns because they'd just finished a book. Nobody in that room was right. The output was a compromise, and compromises are usually mediocre.

What came out of it, though, was *culture*. That company ended up on Postgres and boring Java. Another one ended up on Elixir because someone made a persuasive case at the right moment. A third bet on a home-grown solution, which mostly failed but sometimes produced gems like Rails.

Now let this sink in:

**If DHH was building BaseCamp in 2026 in YOLO-mode using Claude Code, Rails would have never been invented. It would be a Next.js application hosted on Vercel.**

Just kidding, he would never... But do you see what I'm getting at here?

## The monoculture problem

Now run the extrapolation to the end. Say software is solved. Developers are mostly redundant, let go in waves, retrained into something else. The world's code is written by a handful of coding agents that just remix with what we've got so far. All the same libraries, same frameworks...

**Imagine a future** for a second where Claude is writing all of the following code:

Software that runs hospitals.

Software that runs the café on the corner.

Software that shoots down missiles.

Software that lets you order a taxi.

Software that flies a commercial airplane.

All of it built from the same set of training data, with the same biases, and more or less the exact same "engineering culture."

Obviously in this equation, I'm discounting any real software engineer guiding Claude, because remember?Software is solved, and we made them redundant.

The honest objection here is that we never had the gloriously diverse ecosystem I seem to be mourning. Heartbleed lived in everything. Log4shell lived in everything. The pre-LLM world was already concentrated on a shockingly small set of load-bearing components, half of them maintained by one tired volunteer. All true.

But that was monoculture at the *dependency layer*. What's coming is monoculture at the ** author** layer. A thousand companies sharing a model make the same mistakes, in the same shapes, and then hand the code to a reviewer that shares the author's blind spots because the reviewer is the author, or its close cousin.

Diversity in a software ecosystem isn't just aesthetic or taste. It's independent minds inventing solutions in independent ways. Sometimes those solutions are frameworks (Laravel, Rails, React) that literally change the paradigm of how we write code.

## Who invents the next thing?

Anything that's truly novel, written by the AI is by default proprietary code and stays locked in a private repo. Since AI doesn't have any ego or autonomy, we can confidently say that Claude Code is never creating an MIT licensed library in his free time and sharing it with you on GitHub just to get some popularity at the next developer meetup.

I, too, remember the days where a new Javascript framework coming out every day was a meme and something to laugh about. In 2026, we are starting to see open source communities slowly decay. Not the big ones, as they're safely protected by large companies who use them. I'm talking about anything novel or groundbreaking looking to get adopted.

Rust exists because a person was frustrated by a specific class of bug and spent years being obsessive about it. Every language and framework worth using came from someone with taste, a grievance, and enough understanding of the substrate to know what was missing. New tools come from new needs, articulated by people who feel them.

Would a model invent the equivalent of Rust? Would it advocate for it, share it, fight the ecosystem battles, maintain it, ship bug fixes on a Sunday because someone filed an issue? Nothing about the current architecture suggests that LLMS are going to help not just the user paying their subscription, but the software ecosystem as a whole.

You might answer that the humans who do that sort of thing don't disappear. But who will be around to appreciate their work and decide to adopt it?

If the ecosystem stops producing novelty, the models stop having novelty to learn from, and the whole thing quietly converges on the state of the art circa the last training run.

## What I'm actually claiming

Not that LLMs are bad, or that we should slow down, or that the old way was secretly better. The old way was slow and the arguments were often dumb.

Two things:

**Not all software can be built in YOLO mode.** Some systems need someone who understands them all the way down and is accountable when they fail. The hospital software and the missile software are not the café ordering system, and the fact that all three can now be produced by the same process doesn't mean all three should be.

**Even where YOLO mode works, someone has to be calling the technical shots.** Otherwise the defaults win, and the defaults belong to three or four companies. That's not a conspiracy. it's just what happens when you remove the counter-argument from the process. The model isn't wrong. It's unopposed, which is different and in some ways worse.
