Post

This is where my opinion has landed as well. Most of the “typing” is done by LLMs for my own code these days, but I’m still in my IDE, reading, watching the diffs go by, interrupting to tell it to do something differently, refactoring regularly to make sure the code is legible.

dan@danabra.mov

having used claude extensively for the past couple of months, i think there is still a lot of value to understanding your code and steering it intentionally. the amount of incidental complexity claude accumulates otherwise (which mostly results in bugs that it can't ever fix reliably) is staggering.

4 reposts92 likes

I'm always astonished that LLMs don't (can't?) use the LSP itself for refactorings. Typescript has lots of great built in refactorings. The LLMs are decent at refactoring without it, but there's something very funny about the magic computer from the future using grep like it's the year 2000

I imagine you probably could wire them up, I know opencode have an LSP integration but I’ve not tried it myself.

Oh I didn't know that. Still haven't tried opencode. Maybe that's a good motivation to give it a spin. I use cursor mostly so it's surprising I can hit f2 to rename and do a better/faster job than the LLM that's perfectly capable of doing the same. Seems ripe for cursor of all tools to integrate it

It can be either. Sometimes there’s structural changes that I know I want to make and I’m confident it’ll be quicker to do it by hand, so I do. Sometimes I just have a sense that something could be simpler so I let the LLM have a go and see if I like the result.

That makes sense to me and is also roughly where I landed when experimenting — manual intervention ofc seems hard to square with the hype b/c it means you still need a lot of skilled software developers to get sth done in the end

Almost as if the hype is based on a desperate need to make good on the $1tn of new opex and not reality.

Have you used Codex for the 'steering' angle? It reads your message while continuing, whereas claude you have to explicitly stop it, or it waits for some kind of gap to actually read your message. The message queueing in claude code just feels bad in general now

I too also went a bit over the deep end, with the point at which I first read the code being a (draft) PR, and honestly it was kinda cool at first but I'm now back to either babysitting or heavily scrutinising and iterating on a plan before starting to execute.

This is on Monzo's big and complex systems though, very different approach when doing something for a personal project.

I haven’t really tried the steering, I don’t feel like interrupting it is much of a burden. It’s not obvious to me how much of an improvement steering could possibly be. Is it a big difference?

And I like this workflow a lot. If I have an idea that’s a big departure from the current state it’s very cheap to try it. I’m iterating with the LLM, I’m using the components I’m building constantly, tweaking small things that feel wrong. I can bring ideas to life I may have skipped on before.

And because I can talk to the LLM with my voice, it can interpret my words very well, it reduces the typing I do and thus the pain I get from tennis elbow. Hopefully those days will be soon behind me, but in the meantime this is a huge win for me.

And this has all made it very clear to me that whenever I see slop in the wild, it has little to do with the LLM. If you aren’t spending the time to make sure what you’ve built meets the quality bar, that’s a you problem. A skill issue, the kids might say. You can build great software with LLMs.

And of course you can build great software without LLMs. If your preferred workflow is to type the code I think there’s nothing wrong with that at all. The “you’re being left behind” narrative is ridiculous. Use the tools if they help you, don’t if they don’t. Everyone needs to grow up, man.

This is true to a point but we are *rapidly* approaching a state where the volume of LLM output is simply too great to personally review. Then we’re talking about leaning on LLMs for code review in PRs, then soon its about leaning on sub-agents to offload planning…

This aligns completely with where I’m at too. Code may never have been the hard part, but it’s still an important part.

George Rodier@georgerodier.com

I care less and less about who is producing code and how they are producing it, but the longer I’ve been a developer, the more I care about that code (at certain levels of fidelity), because it has a direct impact on performance, cost, and user experience.

I think it’s going to follow a similar cycle to the discourse around dynamic languages. - “Developer time is the expensive bit, write in a more expressive language like Ruby or Python.” - “Actually this is really slow and annoying, let’s make it faster.” - “Maybe we actually rewrite in Rust.”

“Speed is a feature, actually.” And that’s not to say dynamic languages have no place, I love Python and write a lot of it. But the answer was never to completely eschew performance for ease of writing. The answer will never be Gas Town.

Gastown to me was like throwing 100 monkeys in a room and telling it to produce Shakespeare. We could hope that battling agents eventually produce something performant. Or we could explicitly direct the LLM on what can be improved because we have an understanding of the underlying code.

I saw a phrase somewhere that really resonated: “you need to know what’s there to prompt what’s next”. I find myself learning a lot and being inspired from just reading the LLM code. It’s also fun to ask LLMs to write ast-grep rules to never write try-catch again

They’re so good at using the CLI, I posted about it a while back. bsky.app/profile/samw...

Sam Rose@samwho.dev

Watching AI agents use the terminal makes me think the CLI was always a really bad UX for humans. LLMs remember so many more flags than me, and are far better at combining them, along with pipes, to get the information it needs.

My /insights report (and probably many others tbh) reflects this — says stuff that’s basically “you caught claude doing something wrong and corrected it” like yeah the machine is good but it’s also…not smart lol

I've found this as well. I thought I'd start giving more and more work over to background agents but I still only keep a few things going in the background, and never anything super duper important. I like having a bit more control and visibility still.