Getting lost was the point

Getting lost was the point

There's always a heavy component of self-scrutiny in my life, especially on the professional side. I rarely manage to just do my thing and go with the flow. The questions come in waves. Am I doing enough? Am I actually improving? Does my trajectory still make sense?

I won't pretend it's entirely healthy. At its worst it's almost crippling, a background hum of insecurity and doubt that makes it hard to enjoy anything I've built because I can already see the gaps and what I could have done better. I'm always projected onto the next task. It keeps me prepared, maybe, but it also makes me more prone to burnout and impostor syndrome than I'd like to admit.

In one of these phases of introspection, I noticed something that had been creeping in quietly over recent months. A whole new way of working had settled in around me, agentic systems writing most of the code, handling admin that used to take hours. I'm not sure I fully registered it while it was happening. But at some point I looked up and realised I'd been talking to a token-burning agent all day without typing a single line of code myself.

The result, most of the time, is good. Direction given, output returned, a bit of tweaking, done. But something else had happened alongside the speed and the efficiency. I'd become more reactive.

After outlining a task and shaping a plan, I receive something that already makes sense. My job becomes reviewing it, molding it, striking the right balance between complexity and intent. I find myself thinking carefully about systems and architecture, about what feels right semantically and what works at a different level of abstraction. But sometimes the code doesn't feel like mine. I'm being handed an artifact and adapting it, rather than building something from the ground up.

What I'd lost was the proactivity of finding a solution myself. The rabbit holes. The getting lost. Those were the circumstances where I learned the most, where the craft actually developed. The new way is faster and the output has fewer holes, but I'd started to feel detached from the problems I was solving.

It was bothering me. I was torn between accepting the new reality and figuring out how to make it actually work for me.

Going against innovation isn't who I am. I've spent most of my career pushing toward what's next, and I'm not about to become someone anchored to the past out of fear of the future. But I also recognised that the feeling of losing control wasn't something I had to just accept. It was something I could solve.

The shift was in how I was using the agent. I'd never blindly accepted generated code, I'd always reviewed it carefully. What I was missing was using it as a thinking partner. Questioning my assumptions, asking for deep dives, pushing it from different angles until I'd built a proper mental model around the problem. At that point the code becomes a means to an end. I understand it, I've explored the alternatives, I've arrived at something I actually believe in.

I turned what had become a mechanical process back into a learning one. I don't let the agent lead my thinking. I use its intelligence to stress-test my own, to surface mistakes early, to make more informed decisions about every line I commit.

Every token I burn should teach me something. I don't want to just do more. I want to become better. Speed has always been one of my strengths, and now it can be even sharper. But churning out code for the sake of velocity would hollow out the only thing that actually future-proofs me: a deeper understanding of what I'm building and why.

« Swimming in it You've just read my latest post. Nothing after this!