Paul Campbell • October 10, 2026

Sparring partners

"This call is too long already. I'm exhausted. I have to stop."

"We've been over this five times. We can't keep going over this tiny detail."

One of my natural modes, for better or worse, is scrutiny. I like to take an idea, and roll it around in my head. I like to shine internal lights on it, and bend it backwards and forwards and see how it works in a lot of contexts. I like to tear things apart and put them together, and that's before ever discussing it with someone.

I love discussing these kinds of things with people.

The kinds of ideas that come to mind are things like "how do we make everyone feel like they're a VIP at an event?", "what does the perfect 'name' field in a web app look like?", and "what is the perfect ratio of 600mm to 450mm to 900mm kitchen cabinets?"

All of these are conversations where in the past, I've entered into discussions where the solutions swimming round my mind were not well-formed, but I was coming to the conversation with a thousand possible pathways, and both pitching and asking for refinement and advice and collaboration to help me tidy the mess.

To my coworkers in the above scenarios, it was like jumping into a pool of mud to roll around with the creature who was enjoying it.


Occasionally I will have a conversation with someone where it's very clear that they too have been living inside their own head. They'll mention an idea or a thought-process that they have that is some version or other of something that already exists, or for which is a better alternative to what they're proposing.

Another version is where someone shows me something looking for feedback, but I don't know what kind of feedback to provide based on the context. Do they want a "looks good, carry on" affirmation? Or do they want full scrutiny, where I will point out every hole that I can find, holes which if filled I would probably say "this is great".


In the context of this discussion, GenAI can help in two ways:

  1. The robots don't get bored. I have some sessions open where I will just keep asking the same question over and over from different angles, feeding more suggestions and thought processes. "What about this? what about that? how does it compare to this? why is it different to that?". Being able to get an overview of a topic or a generic solution applied to a specific problem so that I can go into a conversation more prepared. I still love deep discussions, but it's a bit like going to a musical jamming session without having practiced. You can still riff together, but if you spend hours practicing solo, you get to share that with your jam partners. The guitar doesn't mind if you play the same thing a thousand different ways to find the one that's perfect.

  2. "Perfection"—in terms of software—while potentially still unattainable, is closer than it's been before. Software craft is—has been—a collection of compromises. I've often said to folks who pay me to build software for them and want to know the price: "It's about how long you want me to spend. I could spend a year making the perfect login form and adding layers of improvement before moving on to the next problem". I never did get to spend a year, but with GenAI and its ability to churn, there's an opportunity to say yes to every marginal improvement that I previously had to say no to.


I've heard a particular criticism of GenAI that since a machine is writing the code, the human is not doing any worthwhile work. I have no idea how this will pan out as capabilities improve and folks are able to blip out even more finished products. But I've noticed something recently. I've been going deeper and deeper along the pathway of trying to manifest all of the things I wished someone would build and they never did that work in ways that are impossibly polished. In doing so, in terms of work, I feel like I'm doing more than ever. I'm not typing syntax, but the mental pathways that got me from one feature to the next feel very familiar, but they're also on overload. Or maybe they're just running at the pace they always were, but the robots can keep up.


What all this comes down to is practice. Go on YouTube and you'll find thousands, probably millions of people who appear to have superhuman skills in everything from playing guitar, to making playing cards dance, to feats of strength and gymnastic endeavour.

The one thing all these superhuman performances have in common are that the people all spent an amount of time that any regular person would deem unreasonable, doing the same thing over and over until their performance was perfect.

In software, we've been able to practice writing code, and we say that software is all about iteration, but generally at some point we hit a brick wall in terms of being able to iterate every element. There's always another component. There's always another interaction, and for software to feel polished, every one of those interactions should feel like it's the most delightful there ever was.

With a GenAI agent doing the writing and iterating, the level to which someone can iterate every component in their app is now within reach.


The last consequence is a new one, and it goes back to folks putting stuff in front of me and my not knowing what level of feedback to offer. Today, there's no excuse. There's no excuse that unless you're asking me to help form an idea, to not bring it to me fully formed. There's no excuse not to have thought about how something might resonate with me. There's no excuse for slow software. There's no excuse for inaccessible software. Everything that was ever hard or expensive about software development is now possible and affordable. In a world where the proliferation of shit is accelerating, the production of shit is inexcusable.