"Coding" is Largely "Solved"
“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.
20 replies
This seems like a pretty good article, if you like to think. Sure the author is a sceptic but not at all dismissing the usefulness of ai. They are trying to challenge the marketing hype and promote constructive feedback and discussion. Makes sense that this is something companies trying to dump their overvalued stock don't like and may even use bots to burry.
Well, makes sense why it's so downvoted now.
And why so many commenters obviously didn't read or even glance at the article before replying.
"coding"
I don't understand what this post is trying to achieve.
This is just playing around with word definitions. We all know what "coding is largely solved" means intuitively. No compilers and DSLs did not do that.
Coding is unfortunately largely solved. Unfortunate for my career prospects anyway. It's awesome that I can just create pretty much any tool I want in a few days. Also I'm finishing so many unfinished side projects!
But yeah, I'm pretty anxious about my job.
Mate, I'm watching my director and architect slack each other epics of slop trying to get our harness to accept the specs for a feature. I could've built the whole thing by now, but they don't want that, they want reproducibility and predictability. If they could just be happy with 25% productivity gains, we'd make a killing with our services contracts.
Here's the thing: these morons are never going to get what they want describing it in vague, natural language terms. The reason you're having success with AI is because you know the fundamentals of coding and you know the practicalities. You can describe in specific terms exactly what you want and how to build it. People who can't do that are never going to replace those who can.
Coding may be solved in the sense that AI has instant access to things we haven't done before or haven't touched in years. Maybe I used to do something by hand but 9 months ago spring added some annotation or library and now it's solved without those side effects or quirks our homegrown solution has.
But you still have to know what to do. You have to add this hook so you can troubleshoot issues in the future. This needs to be an interface because you know it's going to have different case implementations. This can be an enum, but that needs to be freeform text. This database needs to be normalized for cross-referencing, but that one needs to be denormalized for performance.
People who understand code can't be replaced by those who can't. This is just another layer of abstraction.
But it's a little different. Rigorous thinking was required to produce anything at the previous layers. This one is different. One can now produce copious amounts of slop without thinking at all.
In that way, I'd argue, slop coding is solved.
It's vaguely the same, though. We are abstracting technical language via natural language, but the details still have to be provided in some way. Leaving it to the AI to infer only works for very tiny things where ambiguity is low. For big things you have this ocean of slop because the AI still needs every detail specified else it will make shit decisions based on shit inferences.
I think a dev harness such as the one my company is trying to create is nothing more than trying to get the AI to make zero decisions and ask about even the slightest ambiguity — as it should.
So you wind up with an excruciatingly long detailed natural language spec that consumes boatloads of tokens and is impossible for a human to read through only to produce the exact same thing translated into code.
From that perspective, it's just an abstraction layer. A very sloppy one.
I agree. I recently chatted with an ex-dev manager who tasked two of his devs with coding a new feature entirely through AI. They succeeded, but lamented that they had pages and pages of prompt to get it right. "You guys have rediscovered the concept of a 'design doc'," he told them.
Today, sure. Kinda. I do tell the AI exactly what to do and I correct its bad decisions sometimes. But...
If I didn't do that, I think the results would still be reasonable. Just not quite as good, but I am a perfectionist. Probably most people wouldn't care.
The skill required to guide AI is obviously way lower than the skill required to actually program. Salaries will drop, even if we don't actually lose our jobs.
We're talking about today. Vibe coding has only really worked well for a couple of months. The puck is moving.
I respectfully disagree on all three points. You might be right about salary if only because more can be done with fewer devs. I think there is a huge limit on what can be done with vibe coding. The spec must exist and either you do it or the ai guesses and even the best models guess poorly. The code looks right because you aren't aware of the decisions made and the code holds together based on decisions you don't know about. Only later you realize the agent chose poorly.
In my experience. I'm actually really excited about ai, but I'm very aware of the limitations.
Respectfully, your opinions are about 3 months out of date. Astra and Opus 5.5 are really a big step up, and most of the decisions they make are reasonable. They also ask you for decisions quite well.
And you don't really need a "spec". You need to describe in detail what you want, but the flow is more like "I want to make a customer forum. The only supported login email should be a magic email link. Write the server in Go using it's html templating. Keep the CSS simple and only use dependencies when it makes sense. Come up with a plan and let me review it."
Then you just review it, a few more rounds of testing, and boom, job done.
You don't really need to be a skilled programmer to do that.
Is the login oidc and pkce compliant? Does it support SSO? Persistent login? Gdpr? How does account recovery go if Google kills a customer account? Does data get linked to crm? Does it scale horizontally? What database does it use? How does it handle attacks and spam? Does it support images? If so, how do you mitigate CSAM? How do you track usage and engagement? How do you get alerted if your forum is down?
I ask all of this because while AI can build what you describe pretty easily, it's also completely useless from a business perspective. You're right that years ago, you'd
have a small team of devs writing thisbuy something off the shelf.But when your C-suite hands you the code and tells you to deploy it, what then? Does it even support admin users and mods or is everyone going to Couchbase to edit the tables directly.
If you need any of those things, you can just ask for it.
I get that you really don't want it to be true that it works as well as it does. Your job depends on it.
Mine does too, but I can face the truth even if it is unpleasant.
Also I wouldn't necessarily have believed it either if I hadn't tried it for myself. I would encourage you to spend a bit of money and a couple of days vibe coding something non-trivial with Opus 5.5. Then at least you'll know what's coming...
I mean you're right, I don't want it to be true, but also my job is to try to use AI to make my teams more productive. And we've succeeded to a degree. We are getting more done. But it is not ask and thou shalt receive.
I use AI a lot. Yesterday I gave up and built my own harness because if I don't I'm eventually going to be saddled with the shit my company is trying to make a thing. It was astoundingly easy, though now I'm on the treadmill of "just a few more tweaks...".
In 8 hours I built the thing while generating about 800 LOC and another 1500 lines of tests in the actual application I'm working on. And I'd say I've largely built "the easy stuff," and the implementation classes are going to be more challenging. I'm pushing as hard as anyone to make AI development actually work — I actually enjoy the challenge and rapid iteration quite a bit. I'm not speaking out of ignorance here.
I've vibe coded a couple of personal application things. They aren't production-ready business apps, but they do everything I need. And they really were as simple as asking for what I wanted and I can add features about as quickly. It's incredible. But it's not replacing any of my developers yet.
My only caveat: I really haven't tried Fable due to cost. Anyway, be well, mate. Enjoying the conversation despite disagreeing.
Code is a tool, not a problem.
If you're using quotes around your own terms and preemptively closing any discussion about it, then you've already lost.
Stop feeding the grift with this nonsense.
TFW you want to reply but don't want to actually read the content to understand what you're replying to.
This is exactly what the article is trying to argue, in the authors own words, he wants a "meaningful conversation". As for the quotes, it's challenging the claim that "coding is largely solved", as made by Boris Cherny at Anthropic, by dissecting what is meant by both "coding" and "solved".
Completely incomprehensible.