Discomfort is the signal

Two people playing table tennis outdoors

I have a personal goal to stay slightly uncomfortable in my engineering workflow. Not miserable. Not lost. Just a bit uncomfortable. If I feel completely calm and in control, I’m not curious enough about what’s next.

Lately I’ve been thinking a lot about loops. Some are straightforward. A harness reflects on my conversations and suggests improvements to agents.md files, skills, and tools. Others are weirder.

The experimentation loop is one I revisit often. I try things that are fun and exciting in my personal projects but not quite ready for building production software. I used to feel like that was time wasted. Lately, I focus on maintaining curiosity and optimism. AI tooling for software moves fast enough that “not yet” in January becomes “this might just work” by March.

There’s a cost to early experimentation. There’s a cost to delayed adoption. I’ve decided to lean into the discomfort of early experimentation.


Some loops are more concrete and observable, albeit just as uncomfortable. I built a command called eng-land-pr. It does two things: I review a PR and comment; the agent takes my feedback. Meanwhile, Cursor automations comment on the same PR for quality and security. After I finish my review, the coding harness is ping-ponging back and forth with the Cursor bots, fixing things, until CI is green and the bots have nothing left to say.

The first time I watched this, I felt like a cat watching ping pong. Something was happening. It was useful. I just wasn’t doing it.

That’s uncomfortable. I think that discomfort is a useful signal.


There’s another more ambiguous discomfort. Engineering culture is built on expertise. On being the person who knows the thing. That’s not how this new world works. We’re adding tools and capabilities faster than we can master any of them. When someone tells you your skill or your harness is producing garbage, the only useful response is: noted, let me do the error analysis and consider a fix for my tool or process.

The reflexive response is to defend my work. That response gets in the way and slows everyone down.

Before loops, I was playing the coding harness version of whack-a-mole. Requests came fast enough that I was just reacting. Context switching for minimal gain. Loops changed the unit of work from problem to process. I still descend into specifics when something breaks, but the question is different now: what in this loop is failing, and how do I fix it?

The discomfort is built into the loops. I’m operating at the level of the pattern. I’m eavesdropping on agents chatting amongst themselves. I’m treating “not yet” as a temporary state. I’m failing, analyzing, fixing, and trying again.

Leaning into loops is uncomfortable but comfortable has an even higher cost.

Photo by Khanh Do on Unsplash