Post

At the risk of starting the flame war to end all flame wars... Modern LLMs (GPT-5.1, Claude 4.5, Gemini 3) produce excellent code and can be a significant productivity boost to software engineers who take the time to learn how to effectively apply them - especially if used with coding agent tools

As someone in a leadership role in our software engineering organization, this is actually the sticking point for me: there are often perceived or actual (in our case mostly just perceived) incentives to SHIP FAST in ways that very directly undermine the commitment to understanding generated code.

In my experience, how well the tools work is also (a) very context-dependent, not only in the sense of “how much of this is in the distribution?” but also “what kind of work am I doing?” and (b) depends on how comfortable you are with the totally unsurprising tendency to regress toward the mean.

There are ways to deal with both of those, but they aren’t always worth the cost, and *one* part of the push-back is because there are folks saying, “This is a useful thing that you should have in your toolbelt”… and then there are many, *many* folks saying “all software MUST be written by AI!”

0 reposts1 like

The latter will leave a very bad taste in any thoughtful software developer’s mouth, and in particular when the push does *not* recognize where these tools have cliffs and sharp edges or even just take (often *much*) more time than just doing it yourself manually would. I find these all the time!

Unfortunately… «points at Shopify and other such places with nasty mandates» Part of the trick is that if you’re in-distribution you get one experience, and if you’re out-of-distribution, you get a wildly different one. It’s really hard to get some folks (not you!) on the booster side to get that.

My go-to example for my own work: “Build me an ESLint rule with fixer” works extraordinarily well. “Fix this issue that is down to a very arcane bit of type theory as applied in this narrow corner of TS” consistently makes what I can only describe as the *worst possible* decisions. 😂

I find those cliffs and failure modes and “lol, I can do this *way* faster myself” all the time—and, I should add, as someone who does get value out of them in quite a few places. Some of that is the kind of work I do. A lot of it is quite far “out of distribution”… which is what makes the job fun!

The “regression to the mean” part is also something I see your own prompting constantly trying to work around. If you don’t want these tools to generate the most mediocre React code imaginable, you have to *work* at it. And maybe doing that work ends up net positive for you! That’s quite plausible.

But it’s an underacknowledged cost, and that *also* naturally leads to resistance from people who recognize that and find that work fatiguing and uninteresting. Fred Hebert’s write-up here makes the point quite well: ferd.ca/the-gap-thro... The tools, he points out, require a *lot* of scaffolding!

ferd.caThe Gap Through Which We Praise the MachineMy current theory of agentic programming: people are amazing at adapting the tools they're given and totally underestimate the extent to which they do it, and the amount of skill we build doing that i...