"Coding" is Largely "Solved"
Anthropic is deceptively campaigning to end software engineering to support a trillion dollar IPO. Anything they say to devs is part of that process whether good, bad, or indifferent. They are an unreliable narrator, and we don’t need to let them define the conversation.
I don’t particularly care that the Claude Code creator said “coding is largely solved” eight months ago. However, I recognize that people react to it in context. That context is full of things like his CEO Dario Amodei foretelling a country of geniuses in a datacenter or saying LLMs might do everything software engineers do end-to-end by next year. Investors hear these things, they talk to your CEO, and things .
Anthropic produces components which I find quite useful when used honestly, but then they interfere with that by spreading a bunch of nonsense. People who know about economics tell me this has something to do with “inflating” their “value”. However, this behavior makes them less valuable for me.
Making Coding Agents Work
It’s hard for us to do the work of making coding agents successful when people act like the work is already done. Nonetheless, the work continues. If you’re looking for positives, here are some links:
Misdirection
“Coding” is an ambiguous term for many tasks and responsibilities. There is no agreed upon boundary at which point it will be “solved”. Consider these three cliches making the rounds now:
- Coding is largely solved? (ambiguous point of contention)
- Verification is not solved. (consensus)
- Maintainability is not solved. (consensus)
I have practical needs and I don’t see them getting met by arguing the semantics of point 1 while we’re suffering from 2 and 3. On a level playing field we might be able to negotiate “coding is solved” into a meaningful conversation, but the funding doesn’t want that, it wants a Superintelligence.
We tried to get ahead of this a few years ago by delineating the coding-adjacent activities in various ways. That didn’t stick, so now I just embrace that unless someone includes their personal definition inline, they might take “coding” to mean anything from typing a parenthesis to putting every developer on earth in a data center behind an API call.
Hairsplitting aside, this is our situation: the overall dev process has been automated in lopsided ways that produce inconsistent results in theory and in practice.
A vital function of the criticism in this conversation is to help solve these problems. That is called user feedback. A destructive function of hype is to suppress dissent (user feedback) and focus on these grand unspecified proclamations like “solving code” instead of the consensus that we are creating problems we need to solve.
AI Critics
Tomorrow I’m taking part in a panel by JetBrains, “Engineers face-off: AI pilled vs skeptics.” I’m on the skeptic’s side (surprise). What does that mean?
To me, being skeptical means being open to evidence but requiring it. Engineers are skeptics by nature, one would hope.
Some people think being skeptical means being a denier or a cynic. However, I cannot tell you if I “deny” AI or not because AI is not a specific proposition. It’s a whole bag of different technologies and research areas and mostly ideology. Anyone who understands this knows that being asked to “embrace AI” is a wild card.
Let’s look at an example. The panel moderator Shili Li showed me a new article Coding is NOT solved by Alex Ewerlöf. The subtitle is “challenging the common narrative pushed by token sellers.” It opens with an obligatory “I’m not anti-AI” disclaimer. Let’s consider that for a moment.
A thoughtful person finds themself in a predicament. Put yourself in Alex’s shoes:
- You see yourself as Pro-AI.
- You see a harmful “narrative pushed by token sellers”.
- You worry that pushing back will look Anti-AI.
- You feel social pressure to always signal as Pro-AI.
- You defensively begin your response by explaining you are not Anti-AI.
If this describes you, you are now an AI critic — welcome to the club! When you realized that pushing back would look Anti-AI, you recognized we were being taken on a ride you weren’t comfortable with. Perhaps it went against your ethics, because you are a professional.
This is obviously not some feud with the machines. When I say I’m critical of AI, I’m talking about the actions of specific people and companies during the AI Gold Rush. Some of these companies are so influential that questioning them feels Anti-AI. That’s a problem, because we all know they habitually blow smoke.
So you call something out, but this social force then compels people to show up and paint you as anti-technology, or anti-progress, or whatever Anti-AI means that day. You try to explain that you aren’t Anti-AI. You even start leading with it, but you’re discovering you’re Anti-Something. There’s some sort of high-control funny business going on.
At some point you might stop saying you’re exhausted from the hype and say it more directly. I’m tired of the lies.
I’m particularly proud of the fact that one of my students fired Sam Altman. — Geoffrey Hinton, 2024, upon winning the Nobel Prize
Picking an angle
In the last section, Alex chose to argue point 1 directly, answering “coding is solved” with “coding is NOT solved”. I’ve explained why I’m not going that route, but the deck is stacked so who’s to say what works? Do what you can, I thank you for it.
His piece got to #2 on Hacker News with mostly positive feedback, showing that people are more than ready for some reality checks. I had similar success with my July piece on the Bun rewrite. The support is there. For anyone who feels alone, you are not alone.
As I said, my answer to whether “coding is solved” is usually that it’s a completely ill-defined question, just like arguing whether the stuff coming out of token nozzle is intelligence.
Since we’re already here brainstorming though, I’ll try out another approach. You deserve a treat for showing up.
Conceding the point
I declare coding solved. What do I win?
Coding was solved in principle by compilers circa 1952 due to the work of Grace Hopper and others. That solution was perfected over time by Domain-Specific Languages, which raise the level of abstraction in a robust way.
If we had to pick a point at which coding was firmly “solved” (which does not mean anything), we could say 2013 with Markus Voelter’s DSL Engineering book. LLMs and agents are able to further streamline the process, as explored in the LangDev conferences from 2024 onward.
People are amplified for saying that prompts are the new code and LLMs are the new compilers, the new engineers, the new everything! This is a weight of expectations no single technology could bear, even if you put it in an agent loop.
Since the American token sellers do not like to share the spotlight, we’re talking very little about DSLs and a lot about Markdown files. This is sold as moving up to a higher level of abstraction, with a bunch of dubious historical precedents like compilers and punch cards.
Survivorship bias aside, it’s highly suspicious that we’ve suddenly become so fixated on abstraction while forgetting all of our previous discourse on when abstraction helps, when it hurts, and our established ways of achieving it. Things are being erased from the conversation. I wonder who else is being erased.
See? Coding is solved but we ignore the solution. Now that we’ve cleared that up, I will be speaking about what remains unsolved at AI DevCon New York November 2-4 with my talk Dark Factory Considered Harmful.
Unfortunately, no one will be speaking at Grace Hopper Conference this year because it was defunded.
Rebooting
Expanding the previous list, we can see there is lots of work to do.
- “Coding” is “largely” “solved” (ambiguous point of contention).
- Verification is not solved.
- Maintainability is not solved.
- Understanding is not solved.
- Security is not solved.
- Reliability is not solved.
- …
I wouldn’t even talk about these in terms of being solved or unsolved. That’s a forced analogy from some Math about board games. I’m interested in tools that help people work. That means I’m interested in ergonomics, not whether it’s better than a person in some absolute sense that sounds creepy.
I don’t mind that there’s work to do. I love fixing things. I hate when I can’t. I hate even more when my friends are afraid of losing their jobs because the market burped.
To be productive, we need to feel safe. Agents can be made reliable, but AI does not feel safe. That is a cultural problem. Plenty of the critics have ideas and can help if you let them. Some would rather be left alone and I support that too.
I don’t want to be a cynic. I want to find my patience again. I want to wake up in the morning hopeful about finding a chance to help someone. I’m trying.
But I swear if I hear the words Left Behind one more time… ;)
Thank you for reading.
You might enjoy The Coding Agency podcast or discord community. Cheers!