AI Is the Next Absorption Event, and Code Is What Gets AbsorbedStephan Schmidt<br>- May 26, 2026You Already Live in an Illusion. Get Over It.<br>AI is the next absorption event, and the thing being absorbed is code
TL;DR: Senior engineers refuse AI-generated code because they cannot ship code they do not understand. But they never understood the code -- not the bytecode, not the query planner, not the SIMD instruction the compiler folds their loop into. They trusted stable abstractions, not understanding. Every layer of our stack absorbed the one below it: assembly into C, malloc into garbage collection, threads into async runtimes. AI codegen is the next absorption event, and code is the thing being absorbed. The failure modes that look catastrophic today will stabilize the way GC pauses did. What developers are really protecting is not understanding but control -- and control can move to a new layer without losing what mattered.
My journey started in the 1980s as a coder. From back then the journey was up, up, up, not only as a career, but up in abstraction layers. I started writing Z80/68k machine code, then assembler, then C, Java, JavaScript. Each transition a climb up the abstraction ladder.I see a detail there repeating itself again and again. A new abstraction layer arrives, the coders whose expertise sits at the old layer resist it, and ten years later nobody remembers what the fight was about - or do you know the Malloc vs. GC fight? We are in that fight again now, but this time it is about AI-generated code.Talking to senior developers in companies I help transition to AI they tell me some version of the same thing: “I cannot ship code I do not understand.” - and “I can’t be responsible for code I didn’t write.” Sounds responsible, it sounds like the position of someone who cares about quality, but it is actually the position of someone who has not noticed that they lived in an illusion for decades and never understood the code in the first place.Never understood the code?Last week I encountered a paper by Shiffrin, Stigler, and Keil called “Illusions of Understanding in the Sciences”1 , and although it is about scientists not about developers, every page of it applies to our industry. The gist is simple: scientists almost always believe they understand more than they do, and this is a structural feature of doing intellectual work in a world that is infinitely complex.The authors point out that this is not laziness on the part of scientists and I think the same is true for developers. The paper leads with George Box’s line “all models are wrong, but some are useful”2 and extends it: every causal model we create is only an approximation, and the question is not whether our understanding is complete, but whether the model is useful. Creating causal models is core to software development too, one might say that it’s the essential skill.Ask people how well they understand how a toilet works, and they will say, that they understand it quite well. Then ask them to actually explain it, and they cannot. Their understanding collapses the moment you ask for the explanation - because a toilet is more complicated than it looks from the outside. Still they can use the toilet.It seems psychologists have a name for this: the illusion of explanatory depth 3, shown in 2002 using a question about everyday mechanical objects. The effect turns out to be stronger for explanations than for other kinds of knowledge, like remembering a movie and that suggests our assumption of how things work is different so that we systematically overestimate our grokking of it.You ask a developer how their Python code runs, the same thing happens like with a toilet. They will tell you about list comprehensions and async, but ask them about the bytecode the interpreter actually runs, or how reference counting interacts with the GIL, most will be unable to do so. They live in an illusion of understanding of what is going on.“Understandings may produce particularly strong illusions when they are satisfying, even when scientists are aware the explanations are incomplete.”<br>“Illusions of Understanding in the Sciences” makes another point, which is that prediction is not understanding - which I find insightful, never thought about that. The authors give the example of Isaac Newton, who in the 1690s was asked to calculate the probability of a dice outcome and got the right answer. When he gave an explanation it was wrong although the math was right. 4 We can predict what happens and think therefor we understand the system. But we might be able to predict things for the wrong reasons - or for the right ones but not understanding them.I’d argue this is what developers do today. They ship working code, the code runs, the tests pass, and from every signal available developers understand what is happening, but I’d think they don’t. They...