"The Structure of Engineering Revolutions" by @johnallsopp https://webdirections.org/blog/the-structure-of-engineering-revolutions/

I feel like I've been waiting half a year for someone to write this essay. This makes more sense out of everything I've been reading, thinking, and feeling for the past few months than just about anything else I've read.

Web Directions Conferences (and more)

Conferences for web and digital professionals, in person and online

"And yet it moves" is exactly the phrase that came to mind to me late last year (https://nolanlawson.com/2025/12/22/how-i-use-ai-agents-to-write-code/), although I didn't know enough about Thomas Kuhn to put it all together. What's been most upsetting to me has been seeing the programming community torn apart by this, by infighting and accusations and just raw blind _rage_ a lot of the time. People are scared and deserve respect and empathy, but of course the internet isn't much good at that, and is much better at contempt, mockery, etc.
How I use AI agents to write code

Yes, this is the umpteenth article about AI and coding that you’ve seen this year. Welcome to 2025. Some people really find LLMs distasteful, and if that’s you, then I would recommend t…

Read the Tea Leaves

The other weird part has been feeling the rift inside myself – the part that's a craftsman mourning the old ways, and the part that can't help but notice what's coming and is both terrified and curious about it.

I used to take code quality *very* seriously – I sweated every semicolon – but now I'm starting to wonder if the slop-slingers are seeing something I don't. That they're playing a completely different game, and there's no sense judging them by the rules of a game they're not playing.

@nolan What's missing in a lot of this conversation is the systemic effect. Same as we saw in the mad rush to React et. al., the assumption of people who say "oh, this makes X better" is that they are generally self-reporting, failing to measure baseline quality, or even do longitudinal analysis of how things net out over moderate time frames.

Quality *can* go down. And when code is cheap, guardrails are the compliment (and therefore become relatively more valuable).

@slightlyoff Oh absolutely, I've noticed a few things:

- Everyone is just going off vibes (there are maybe good reasons for this; the benchmarks don't tell you much IMO)
- Even among vibecoders there is disagreement about whether you should just be a slop cannon ("the code is a binary, the spec is source") or use agents to refine the output for higher quality (I lean this way of course).

I think a lot of unmaintainable junk is being written, and some folks are hoping the models will outrun it.

@nolan The very worst takes seem to be of the "tech debt is free" variety. Even if it's much cheaper, cheap !== free, and that difference matters *enormously* for what happens next.

My relatively strong suspicion is that paying "full freight" for models (when that happens) will not deter folks in domains where output quality is decent, but that the cost curves for both tail risks (quality, tech debt, etc.) and running costs will pull excesses back and/or orgs will accelerate straight into walls

@slightlyoff @nolan Low quality is surprisingly often accepted by end users; just look at streaming audio and video. This means that low quality code will be accepted, and it's going to be a lot cheaper to just regenerate it than to try to fix it. But this also means that lower quality models will be accepted; there is no need to pay for the most expensive LLM hosted in the cloud when you can generate slightly worse (but good enough) code for free. You'll do something much more if it is free.
@gundersen @nolan Wrong comparison point; long experience teaches that we'll mostly see this "transition" as a way to offshore and justify erosion of knowledge worker incomes. AI doesn't even have to work for that to play out.

@slightlyoff

That's nothing:

Look what happens when the US military plans wars with AI.

"Grok, plan a war with Iran that costs the least amount of money and the least number of troops..."

I appreciate there's software disasters, but that seems like the least of our problems.

@nolan

@nolan I'm wondering if I'm the assembly coder in the age of compilers. I too value code quality, every line of code needs to be indented correctly for readability, every variable need to justify its existence, every function needs to be in the right file in the right folder. But I use a compiler and I don't care what the labels in the assembled code is called, so why should I care about these things? Sure, assembly cane be more efficient at running, but most of the time it doesn't matter...
@nolan I agreed with John's broad strokes, but developers absolutely do elevate those who eschew things like IDEs, garbage collection, and compiled languages. The cult surrounding TempleOS comes to mind. Up until now I think there's been an understanding that most of us use these assistive technologies to collect a paycheck and that that's okay.
@nolan Re: respect and empathy versus contempt and mockery, I'm trying now, in my contribution to the discourse, to just be honest about what I actually think and feel, in all its ambivalence, rather than posturing for tribal approval. And I know that a big part of my resistance to using coding agents is that I just don't want to change the way I work. But I'd be lying if I said I didn't also want that tribal approval, and didn't fear the _disapproval_ of the anti-AI tribe here on fedi.
@nolan On the ethical objections, my current honest assessment is that I must not really believe them, because I do still use an LLM (Claude) for some things, just not agentic coding. I certainly don't feel a visceral hatred for generative AI as many on here seem to. But I see that as a possible deficiency in myself. Like, I must be missing something important, since the fervent anti-AI folks are part of the "good" tribe, when it comes to politics and, in many cases, marginalized groups.

@matt It probably depends where you work. At my small startup nearly everyone is adopting these tools from the bottom up, swapping tips on different models, etc. I'm basically a laggard.

I don't think it's a deficiency, I think it's human nature. I haven't switched from WebStorm for ~15 years because I came from a Java background and know all the keyboard shortcuts. I'm amazed I ever changed my workflow this much to adopt AI coding tools.

@nolan Me, I've been using vim for 20+ years without any autocomplete, LSP or otherwise.
@matt I also still have a simmering resentment for these tools and just can't really get excited about them. I don't feel flow anymore, although I do have more "shower thoughts" that I can plug into Claude. There are pros and minuses, but for me overall it's a minus because I'm very sentimental and I'll always miss the old way of doing things.

@nolan @johnallsopp There is a long history of using Kuhn to argue that something new is equally revolutionary.

Consider the old saying "First they ignore you. Then they laugh at you. Then they attack you. Then you win." Sagan commented "They laughed at Columbus, they laughed at Fulton, they laughed at the Wright brothers. But they also laughed at Bozo the Clown.”

Few things cross the chasm or follow the Gartner hype cycle.The wonder material asbestos needs remediation. Our plastic piles up.

@dalke @nolan @johnallsopp the meaning of life is to accelerate entropy, so everything is fine

@alesroubicek @nolan @johnallsopp Global thermonuclear war accelerates entropy. Anthropogenic global warming accelerates entropy. Sustainable living accelerates entropy. No matter how Panglossian things are, in the end we're all dead, so everything is fine, and there's no need to change anything or care.

I care.

@nolan @johnallsopp I'm not sure about the argument that I should hurry up and adopt. I don't rely on AI tools today, does that make it more difficult to start using Claude? Have I missed some vital experience from a year ago that makes me unable to adpot? How does being an early adopter of tabnine in 2021 help when using the tools of today, and how would making the tools of today make it easier to adopt the tools of tomorrow?

Things change so fast that the experience doesn't seem useful

@nolan @johnallsopp

“And yet there’s the interference pattern on the screen. Tickets get closed. Tests pass. Software ships.”

I haven’t seen this. At my day job, there is no AI integration with any ticket workflow. There is ALOT of nuance in regards to ticket backlogs. That require ALOT of conversation and organising. But the tickets themselves might be super simple, a one line change for example.

I would be interested to see how people have worked with the quoted scenario.

@nolan @johnallsopp

> This isn’t a lower standard. It’s a different standard.

How can you not see it as a lower standard? The standards of software quality were already plummeting before AI; I can't help but feel that the rise of AI-generated code is flooring the accelerator. I want more lovingly crafted apps like Pinafore, not more React monstrosities where a single page payload is bigger than Doom (as noted by @slightlyoff in his latest performance inequality gap post).

@nolan @johnallsopp

> The adoption is grassroots–developers dragging their organisations along, not the other way around.

This claim surprises me, because we've all heard of top-down mandates, like the infamous Shopify AI memo. It seems to me that top-down mandates are what many of us are afraid of, like Larry Garfield's "Selfish AI" post (https://www.garfieldtech.com/blog/selfish-ai) where he's afraid that he'll have to use the products, over his strong ethical objections, just to have a job.

Selfish AI | GarfieldTech

@nolan @johnallsopp This article also strikes me as an example of what Nora Tindall termed "AI paternalism" (https://lobste.rs/c/amqwzn). People who have decided to reject generative AI don't necessarily want condescending "empathy", or to be persuaded to get on board with the new paradigm. After all, the new paradigm isn't necessarily better. To the extent that they're trying to persuade us that the new paradigm is in fact worse, we should take them seriously, not assume that they're afraid etc.
AI tribalism

133 comments

Lobsters

@matt Speaking for myself, I am afraid. I am not even sure that adopting these tools today means that I won't be out of a job in 5 years.

I am being a bit paternalistic, though, because I find that a lot of people do seem to be in a state of willful ignorance. I was too up to like a year ago. https://nolanlawson.com/2026/02/15/days-of-miracle-and-wonder/

Days of miracle and wonder

Oprah Winfrey and I have something in common, which is that our favorite album is Paul Simon’s Graceland. I’ve been thinking a lot recently about the opening track, “The Boy in th…

Read the Tea Leaves

@matt I'm also getting a bit tired of these conversations, because I feel a bit like Kent Brockman with the ants, except the ants are real, and the only satisfaction I get from saying "Well guys, looks like we better accept these new ant overlords" is that a few years from now we'll be toiling in the mines and someone will turn to me and say, "Boy, you were sure right about those ants!" https://knowyourmeme.com/memes/i-for-one-welcome-our-new-insect-overlords

(To be clear: not tired of talking with you, Matt. 🙂)

I, For One, Welcome Our New Insect Overlords | Know Your Meme

“I, for one, welcome our new insect overlords” is a memorable quote from the 1977 film adaptation of H.G. Wells’ short story Empire of the Ants. In online

Know Your Meme

@nolan @johnallsopp what’s the logical fallacy again where you only argue half the argument so it makes you look good?

This excellent essay is missing so many criticisms that people have with the current crop of GenAI and narrowly focusses on just the tech gains to fit a compelling narrative, it’s astounding.

“Yes many people suffered under the industrial revolution” is not an absolution to do it again, it is an imperative to never do it again.

@janl @nolan @johnallsopp or at least "we know damage that did, let's accept this and manage its adoption". Starting with not using fossil fuels as an energy source