When foundation models have all the knowledge of the world baked into their weights, what's left for the humans?
Humans should be the beacon. Exactly because models know all, every path looks equally plausible. They cannot prioritise and sequence information to create with taste. This is where our new job kicks in: as if we were spelunking in a dark cave, we hold the flashlight, pointing at the path and deciding where the model should focus next.
There are few books that I've read in my life that I consider to be evergreen. One of those is Structure and Interpretation of Computer Programs (aka SICP). Why is this book relevant now? Because of the way it describes programs and how we as engineers "conjure spells" to build them:
"People create programs to direct processes. In effect, we conjure the spirits of the computer with our spells... The programs we use to conjure processes are like a sorcerer's spells. They are carefully composed from symbolic expressions in arcane and esoteric programming languages that prescribe the tasks we want our processes to perform."
We are still in the business of conjuring processes to instruct the computers. Only the language in which we craft our spells has changed. Now that we write those spells in plain English instead of arcane symbolic expressions, orchestrating agents and ensuring they are on the right track is the most important part of the job.
SICP also captures how we structure those systems:
"Master software engineers have the ability to organize programs so that they can be reasonably sure that the resulting processes will perform the tasks intended. They can visualize the behavior of their systems in advance... Well-designed computational systems, like well-designed automobiles or nuclear reactors, are designed in a modular manner, so that the parts can be constructed, replaced, and debugged separately."
If you take the quote above and replace the word "programs" with "agents," the whole framework still stands. We need to learn how to structure our agentic coding processes so that they produce well-designed computational systems.
And SICP's warning holds just as true today:
"Like the sorcerer's apprentice, novice programmers must learn to understand and to anticipate the consequences of their conjuring. Even small errors in programs can have complex and unanticipated consequences... Real-world programming, however, requires care, expertise, and wisdom."
If we don't anticipate the consequences of what we conjure, an unguided agent will multiply small structural flaws faster than we can even realise them.
Moving faster doesn't replace the need to build mental models. Our core work is structuring context, constraints, and feedback loops so agents build what we actually intended. If anything, our job has become harder: technical knowledge has become a commodity, but taste and critical sense are still sparse.
Ultimately, we're still sorcerers conjuring the spirits of computers. It's just our spells that have crossed yet another level of abstraction.
Read the full post:
danicat.dev/posts/20261028-b…
ALT A selfie of Daniela Petruzalek holding a copy of the book Structure and Interpretation of Computer Programs (Second Edition) by Harold Abelson and Gerald Jay Sussman with Julie Sussman, with a framed Go Gopher 'Talladega Nights: The Ballad of Gopher Bobby' poster in the background.