upvote
I think it very much depends on what you're working on, and how much you're responsible. For a web front end, not really. A backend where a single line can make a mess out of your data? Yes. Part of the issue too, is code review brings up things you the prompter didn't think about that another teammate may be thinking about. The value goes beyond making sure the code is "correct", but also that it makes sense in your domain.

The "we don't read/write assembly anymore" argument doesn't fit though. Given an input x we know without a doubt we'll get output y. With an LLM, that isn't the case no matter how many guard rails, specs, markdown files, diagrams you give it.

reply
I actually read the frontend code much more than the backend code for the project I'm working on.

Backend code I'm fairly comfortable if the tests are good that it works correctly. It's a much more constrained environment. Obviously there can be things like performance issues that creep in or problems when it mocks too much of the environment.

Meanwhile frontend code I have to consider different browsers, screen sizes, a11y issues, and so on, which agents can certainly do but you have to be fairly explicit about it, and they don't always make the best tradeoffs.

reply
It's looking increasingly likely that many backend systems in the future will just be formally verified and generated autonomously from specs. That means you'd never look at the code, only the spec. You'd basically "program" and "debug" the spec, and the full system would be autonomously generated each time to match the spec.

Frontend code is probably far harder to apply this technique to.

reply
Which project did you work on that made specs that good? I sure haven’t (but I am sure they exist).
reply
In one case I formalized the spec for a message decoder, then autonomously generated the entire decoder from that. The spec is essentially a very slow version of the decoder written for correctness and clarity, and the implementation became very complex as it went through multiple optimizations, but it was proved every step of the way to match the original spec.
reply
What project is closest to doing this today?
reply
> You'd basically "program" and "debug" the spec

Sweet, we could even develop a standard language(s) to lay out such specs, and write in specialised text editors that would help with debugging. Hell we could even call it ‘programming’

reply
Correct -- this is exactly where the frontier is heading at the startups and AI labs working on this.

While you're being tongue in cheek, what you're missing is that the spec you'd be working on in some cases can be compressed to a small fraction the size of the implementation code. Alternatively, it can be written for clarity and correctness rather than performance, and then the implementation can be optimized like crazy without ever worrying about correctness.

reply
I just had a long session planning an implementation with Opus 5.5 in a reasonably complex system. It was a frustrating affair where it suggested very complex solutions that, sure would work, but would be very slow and difficult to maintain with the rest of the solution. After a long discussion with many variations of complex designs, we found a very simple solution. Elegant even.

I think the problem in this case was: 1. Unusual constraints, that kept nudging the model to overdesign or misunderstand parts of the solution at every turn. 2. One code-comment it found and thankfully mentioned, that a previous session had made up and left there as a fabricated requirement. The model trusted this "requirement" more than my instructions, which unfortunately made sense, since it was indeed written and part of the code.

I'm working on a system that has a mix of trust boundaries with a few perspectives that are a-typical and it trips up the models working on it. Fable 5.2 didn't do better at all.

I have tried to put clear instructions in an agent architecture file, but I haven't managed to get it fluent yet.

reply
If using llms is like using wordpress instead of writing the website yourself probably never
reply
I think we are approaching the point where it no longer makes sense to have LLMs write code in an intermediate, human readable programming language.
reply
I know this topic is very contentious but it seems very clear to me that this is the long-term direction of writing software. UI code isn't quite there yet, which is why we've got all these vibeslop websites proliferating now that all have identical crappy UIs. But I imagine it will get there too.

>Only exception might be the upper echelons of optimization, like language authors or compiler level work. But even then…

Optimization work is especially suited for LLMs. They're great at hill-climbing problems and have infinite patience to test different ideas.

reply
You still reading code?
reply
I stopped reading the code many months ago, probably 18 months ago. I the "early" days of agentic coding one did feel dumb when telling the agent for the 30th time to fix a bug and it just couldn't. Now I cannot possibly imagine a scenario where an agent wouldn't be able to fix a given issue on 1st or 2nd try.
reply
deleted
reply
im not reading it. and im using fable up front earlier then having sonnet/opus implement and verify.
reply