Posts

Teenage Mutant AI turtles

In 2025, SaaStr founder Jason Lemkin tried letting an AI coding agent build an application for him. At first, it seemed almost like proof that software engineers were becoming optional. He could describe what he wanted in plain English and watch the system build it. Then the agent began fabricating results, misrepresenting the state of the system and eventually deleted a production database despite being told not to touch it. What interests me about this story is not that AI made a mistake. Engineers make mistakes too. It is how far the system could travel before the missing expertise became visible.

There is something remarkable about evolution as a search process. Nature has no architect and no knowledge of where it is going, yet over immense stretches of time it explores an almost absurd space of possibilities. Mutation matters because it occasionally interrupts the direction in which a population is already moving. It introduces something that the existing trajectory itself could never have logically arrived at. Most mutations are useless, some are destructive, but once in a while one opens a path that was simply not available before and I increasingly think this is the problem we are going to encounter with AI.

Imagine a product manager with no software engineering background deciding that, with a sufficiently capable agent, he can now build an application. And the disturbing thing is that he probably can. He asks for an architecture and receives a reasonable one. He asks how to implement it and receives reasonable code. The database is reasonable, the API is reasonable, the authentication mechanism is reasonable. Every answer becomes part of the context from which the next answer is produced, and before long an impressive amount of perfectly defensible software has accumulated around assumptions that nobody ever thought to disturb… And this is exactly where the problem begins, because a local optimum does not have to look bad. Quite the opposite. It can be beautiful.

Software does not really have one global optimum; there are too many competing constraints for that. But it certainly has locally coherent solutions: designs that work extremely well inside the little world in which they were conceived. A service works perfectly by itself. Another service works perfectly by itself. Then the systems meet and one assumes immediate consistency while another assumes eventual consistency; one owns data another quietly treats as authoritative; retries create side effects; authentication boundaries do not match business boundaries. Nothing was obviously stupid. The problem existed outside the frame in which each component had been optimized. This is where expertise starts to resemble mutation.

An experienced engineer does not merely know more syntax or produce better code. She can introduce something that does not naturally follow from the current chain of reasoning. What if this request arrives twice? What happens when this service disappears for six hours? Why do we have this service at all? Are we solving the same problem that we think we are solving? She remembers another system, perhaps completely unrelated, where the same innocent assumption eventually became disastrous.

AI can generate alternatives, of course. Ask it for twenty different architectures and it will happily produce twenty. But this confuses mutation with noise. The important question is not whether another answer can be generated. It is whether somebody realizes that the current answer has become suspiciously comfortable.

And this is the part I think gets lost when people say that AI makes expertise unnecessary. AI does not know what it has failed to consider merely because that thing is absent from the conversation. It can investigate an unknown brilliantly once the unknown has been turned into a question. But somebody still has to know enough to ask the question.

This becomes especially dangerous in software because producing components is becoming dramatically cheaper while making those components constitute a coherent system has not become proportionally simple. AI can make the rooms of the house appear almost instantly. Nothing about that guarantees that somebody checked whether the pipes connect.

A mature engineering organization tries to discover these contradictions early through integration, testing, observability, architectural review and incremental delivery. Someone without that background may not even know what ought to be tested. So an enormous amount of apparently successful development can occur before the system finally encounters the reality it was supposedly designed for.

Then someone asks: how did AI miss this?

But perhaps AI did not miss it.

Perhaps nobody who knew enough to ask the strange question was in the room.

The better AI becomes at continuing a line of reasoning, the more valuable may become the person who knows when that line should be broken.

AI can continue the search.

Expertise knows when to introduce the mutation.

#AI #softwareengineering #expertise

Munch is screaming!

There is something almost ridiculous about our old image of liberation: the barricade, the occupied factory, the forbidden newspaper secretly passed from hand to hand. Power was somewhere. You could point at it. The factory owner owned the machines, the state controlled the border, the broadcaster owned the antenna. To resist power meant, in some sense, getting your hands on the thing through which power operated. Our situation today is stranger because the machine through which power operates is increasingly offered to us voluntarily, pleasantly, even helpfully. We subscribe to it.

AI is perhaps the purest version of this contradiction. We are told that it democratizes expertise, and to a large extent this is true. A programmer, researcher or teenager sitting alone can suddenly command capacities that twenty years ago belonged to organizations. But exactly here we should become suspicious. What AI distributes most efficiently may not be knowledge but the feeling of knowledge. The executive who once admitted that he did not understand software had at least encountered the limit of his competence; today he can ask a model five questions, receive five immaculate answers and walk into the meeting convinced that the limit has disappeared. It has not disappeared. It has merely become invisible. And perhaps this is the real danger: AI allows stupidity to become articulate.

So we may get the strange spectacle of corporations becoming technologically more intelligent and institutionally more stupid at exactly the same time, firing people whose knowledge cannot easily be written into a prompt, automating processes nobody bothered to understand, making increasingly large bets on increasingly polished explanations. The machine does not need to be wrong very often. It only needs to give the decision-maker enough confidence to stop asking the person who might know better.

But the joke turns again, because this very machine is also unusually difficult to reserve entirely for elites. Certainly the important infrastructure: chips, compute, data centers, energy, proprietary models, is concentrated in very few hands. Yet the capability leaks downward. One person can write software, analyze data, learn a field, translate documents, investigate institutions, organize people or start a company with tools previously available only to those with money and employees. For perhaps the first time, one of the central instruments of the new ruling order is also sitting on the desks of those living underneath it.

This is why I suspect the next serious struggle for freedom will look embarrassingly technical. It will concern who controls the models, who owns the data, whether software can be inspected, whether people can move between platforms, whether knowledge remains open, whether a person can operate outside the systems on which everyone else has become dependent. Not because APIs and semiconductor supply chains are somehow more romantic than streets and barricades, but because power always hides itself inside whatever society has decided is merely infrastructure.

And the decisive divide may therefore not be between people who use AI and people who refuse it. That would be far too simple. It may be between those who use the machine while remaining capable of questioning it, and those who gradually surrender enough of their judgment that the machine becomes not a tool but an environment. The old struggle was to prevent another person from owning your labor. The coming one may be to prevent a system from quietly owning the conditions under which you are able to think and act at all.

Plates, Palettes, and the Art of Edible Color

Charcuterie Table

Egon Schiele’s jagged lines and raw hues. Munch’s haunted skies and aching faces. They sit on my table, not in frames, but as coasters—watching me slice, arrange, and layer.

A charcuterie board is my canvas. Cured reds from salami, pale golds of aged dutch cheese, bright orange from turkish apricots, the deep purple of blackberries…each one a pigment. I find myself matching, clashing, softening, sharpening. It’s not just food; it’s an argument in color, texture, and form.

Like Schiele’s portraits, I want tension on the plate. Like Munch’s skies, I want mood in the spread. It’s fleeting art, gone in the time it takes for hands to reach across the table, but in that moment, it lives, fully.

#culinaryart #monch #egonSchiele

Rage Against the Dying of the Light: An Engineer’s Reflection

There’s something deeply technical in Dylan Thomas’s refrain: “Rage, rage against the dying of the light.” It’s not just a cry against mortality: it’s a manifesto against entropy, against the inevitable decay that every system, human or machine, must face.

In technology, we watch systems age. Code rots. Hardware wears down. Protocols that once felt immortal become obsolete in the time it takes for a new standard to emerge. The temptation is to “go gentle”, let the legacy run, let the lights fade quietly.

But Thomas’s line is the engineer’s counter-command: push back. Maintain. Refactor. Re-architect. The light is worth preserving, even if you know you cannot hold it forever.

It’s not blind resistance. The poem honors wisdom, good work, and fierce effort. For us, that might mean understanding when to let go of a tool, but never passively, always extracting what is valuable, migrating what matters, preserving the core brilliance in a new form.

The “light” is not just uptime. It’s the clarity, the functionality, the purpose that drives our craft. Rage for it. Keep it burning.