Skip to content

All field notes

NOTE 027 min read

Perfect machines, imperfect asks

Why human limitations mean perfect machines will always need imperfect humans

Most white-collar jobs are being heavily augmented by AI, with software engineering arguably the most affected. Like many engineers, I have spent 2025 and 2026 cycling through excitement, dread, anxiety and fatigue about my career today and into the future.

I constantly find myself wondering whether any of my skills will still be valuable or needed, as every month brings a new model and a new benchmark in capability.

This note is a thought exercise, an attempt to define which, if any, parts of a job cannot be done by AI no matter how capable it is. From here on, I am assuming AI operates as a perfect machine.

When is a human still necessary?

A machine can do anything, but it cannot be someone. It took me a few attempts to work out where that actually bites, and I kept landing on the same test. An act requires a human exactly when someone must want it, own it, or answer for it. Each of the three is owed to a wider group than the last. You want it for yourself, you own it for the people you intended it to serve, and you answer for it to whoever it reaches.

That held up for single acts, which is where I started. It stopped being enough as soon as I thought about a business. Organisations and systems are not single acts but chains of them, and one human decision can cover a million executions. Decisions get made collectively too, and machines act on what other machines produced, so the question stops being whether a person is required and becomes where in the chain they have to sit.

Who wanted it? Who owns it? Who answers for it?

In a system run entirely by perfect machines, there are still places where the laws have to be satisfied. I started thinking of them as seats, because that is how they behave. Automation can shrink a seat but never close it.

Where we find our limits

As many engineers know by now, prompting an LLM is rarely a one-shot exercise. Even if you understand the problem space deeply, actually describing the purpose is near impossible for anything but the most trivial problems. Even code, which isn’t bound by the ambiguity of natural language, still sprawls into long codebases of logic and complexity just to say what we mean. This is what made me realise that there’s something deeper here, a clear failure in each law.

Purpose breaks at the point of transfer, because we cannot move intent cleanly to a machine, to each other, or even to ourselves. Responsibility outruns us, because we have to permit things before we know what they will do. Accountability sits outside us entirely, because we do not operate in isolation from broader society, and whether our behaviour and its outcomes were appropriate is not ours to say.

All three limits share a problem of timing. You learn what you actually wanted by looking at results. You learn what a system could do once it has done it. You learn whether you did enough from the person it happened to. Every time, you have to act before the thing you needed to know exists. None of that is a failure of intelligence, which is precisely why a perfect machine does not help. It is not short of reasoning. It is short of facts that have not happened yet, or that live in someone else’s head. It will perfectly execute an imperfect ask.

What does this mean for us humans?

Of course, machines are not perfect and may never be, so in the real world the three limits are joined by a fourth — machine error. Machines also need upkeep, which means maintenance, resource management and distribution. That is another source of human need for some time, though not forever if we are to believe the AI labs.

So where does this leave me? I set out to find which parts of a job can’t be done by a machine, half hoping the answer would be my craft. It isn’t. The honest answer is that the part of the job I’m proudest of — the building — is the part that compresses. What’s left is smaller and harder. It is working out what we actually want, deciding what the system may do, and being reachable when it goes wrong. Those three hold for an uncomfortable reason. We can’t do any of them well, and a machine can’t be good at them on our behalf.

As someone who has found a career in building things, none of that makes me feel comfortable, but it does make me feel necessary.