Busy Waiting

Discover the unsettling reality of modern productivity as one developer finds themselves trapped in a cycle of endless waiting amidst the illusion of efficiency.

I spun up four agents this morning.

One is refactoring the storage layer. One is writing tests I will not read. One is chasing a flake in CI. One is drafting a migration I already know is wrong.

And me? I am watching a spinner.


There is a name for this in the machine. A CPU that has nothing to do but cannot let go — it loops, checking a flag, checking a flag, checking a flag. It looks busy. The fan spins. The core is hot. Nothing is happening.

Busy waiting.

We built a whole discipline to avoid it. Yield. Sleep. Block on a channel. Let the scheduler wake you when there is actually work. It was considered a bug to burn cycles on nothing.

Now it is my job.


They sold it as leverage. One of you, many of them. An orchestra, and you the conductor.

Nobody mentioned that the conductor does not play. He stands with his back to the audience, waving at people who are better than him, and at the end everyone claps for the music he did not make.


I used to have a problem and I would sit inside it. Hours would pass and I would not notice, because I was in the thing. The compiler was fast enough to stay out of the way and slow enough to give me a breath. Edit, build, run, think. A loop I lived inside.

That loop is broken now.

Now the loop is: prompt, wait, switch tab, wait, read half a diff, lose the thread, switch back, wait. Four sessions, four half-held thoughts, none of them mine, none of them finished. I am a context switch with a heartbeat.


Here is the lie inside the productivity: the work got faster but the waiting got longer.

The old wait was two seconds of go build and I knew exactly what I was waiting for. The new wait is ninety seconds of a model reasoning about a problem I could have solved in sixty, and I do not know if it will come back with a gift or a mess. So I cannot leave. And I cannot focus. I sit in the doorway of my own attention.

Ninety seconds is the worst possible duration. Too long to hold your breath. Too short to do anything real. Long enough to open a new tab and forget why.


Zen has a word for the space between actions. Ma. The pause that gives the notes meaning. The stillness is not empty; it is doing something.

This is not that.

This is a man refreshing four terminals like a slot machine, hoping the green text lands. There is no stillness here. There is only latency with a nice UI.


The tragedy is small and specific. I did not lose my job. I lost the part I liked.

I liked being in the problem. The narrowing. The moment where the shape of the thing finally shows itself and your hands already know what to type. That was the wage the work paid me, quietly, on top of the money.

Now the agent gets the narrowing. I get the review. I get the waiting. I get to be the one who says "looks good" to a machine that did not need my permission and will not remember my name.


I do not want to go back. That is the part nobody says out loud either. The old way was slower and I would not choose it. Things move faster now. Real things ship.

But I want to be honest about the trade. I traded flow for throughput. I traded the inside of the problem for the outside of four of them. I traded doing for waiting, and called it leverage because the alternative was to admit I had automated away the only part that felt like craft.


So here I sit. Four spinners. Zero flow. A hot core doing nothing.

Busy waiting.

The scheduler was supposed to wake me when there was real work. I am starting to think it forgot.