Back to notes

September 1, 2026

2 minute 30 second read

The AI story so far...

I conscientiously steered clear of AI. I thought it looked like a fad dressed up as autocomplete, and I had no real interest in learning what MCP meant or why I should care about the number of tokens I used. I figured if I ever truly needed to learn it then I'd have time.

I quickly hit that point where things seemed to be moving quite fast. Other engineers coming into work with new POC's from a weekend session written in a completely new language, or casual conversations about model usage or compacting context. I needed to give it a chance and see what the hype was all about. So spent a little time with it to form a real opinion, and my view changed quite a lot.

The short version is this: AI is great for leveraging new ideas and bad without clear judgment. It can help you build faster, broaden your thinking, and remove so much friction. Equally, it can also produce slop, introduce anti-patterns, and slowly erode any notion of context when you stop steering.

The skeptic phase

At the start I was honestly skeptical about the whole thing. Yes, I saw a lot of talk and articles about AI and where it was heading, but it came across as noise. In truth I didn't know where it fit into my own workflows or if it ever would. It's cliché to say that in the early days it was an evolved form of autocomplete, but I simply saw it as another tool which as an engineer I've seen so many such tools come and go. I wasn't eager to learn something new or adapt everything I knew, and early use cases weren't overly convincing in the early models.

The first a-ha moment

I bit the bullet on one 10% Friday, yes I actually used one, and sat down to really make myself use it so I could form a proper opinion. That first stretch was rough: setup friction, poor prompt responses, vague suggestions from other engineers, and a lot of disagreement about what good usage even looked like. It didn't give great first impressions to say the least and only reinforced those negative opinions I held initially.

But I'm not one to just give up on the first go, I kept investing time on a regular basis. Research better ways to prompt for success, took time to learn what skills were and how to integrate MCP's. Eventually I hit the first real turning point.

I found a prompt format and working style that consistently gave me decent results across a couple models each time. That was the moment it stopped feeling like a novelty and started feeling like a tool I could actually shape around my workflow. I saw some friction be alleviated from my everyday tasks which was the first real benefit, writing python scripts to fix up some pipeline issues and get things moving quickly, writing new test cases which was usually a laborious task done in a couple minutes.

In those moments I transformed from skeptic to believer.

What I tell people now who ask:

  • You're better off on the ship helping to steer than being left on your island gripping onto your misplaced beliefs
  • It's still a tool, and as with all tools you should still be selective. There will always need to be guardrails, and right now some guidance to get the outcomes you want

How I work with it

My current setup involves setting my VS Code up like a cockpit which several agent extensions for Claude and Codex on one side, a terminal on the bottom, and staring at a wide window of code with hundreds of open tabs. I've hooked up all the recommended and necessary MCP's to give my agents the eyes they need to complete their tasks, and I daily improve and update the agentic files to make sure repetitive tasks are repetitive for me no longer. I utilise skills as needed and even have a few of my own.

The workflow I trust is cyclical: analyse, plan, review and refine, implement, verify, then loop. I commit regularly, diff changes often, review what the agent actually did, refactor overly complex additions, strip noisy comments, and validate changes through manual and automated testing. AI review can help too; I've had better results from Augment than CodeRabbit at spotting edge cases.

I'm currently using AI to assist in writing this website, GPT 5.5 as of right now. Where the models today are leaps and bounds ahead of what I was using when trying to understand how to use them and break out of my skepticism.

Things are moving scarily fast, and the models are only getting smarter.

Why the baseline matters

My best results have come from recently moving into a codebase where there is a great foundation for agentic working files that are constantly iterated on. Sure you can build out a prompt that is several paragraphs long, but ideally you shouldn't have to do that.

I believe that as the models become smarter, we become the conductors guiding an orchestra of agents. We become the guides providing a little context here, some guardrails there, and a dash of patience where it goes off-piste. There is a great article here from Rachel Laycock about just this.

Prompt engineering is the core skill for me here. It is less about magic wording and more about giving the model enough structure, boundaries, and context to produce work you can defend. It becomes more important to work with your team and build string conventions and processes to help support AI.

I also see a big shift for myself moving left away from the code and being hands on less often. Putting more engineering effort into the planning of the tasks. Starting with discovery of what work is actually needed, how it can be achieved, and forming my own opinions of how I would handle the task. I then work with the agent to refine a ticket or plan together as I would with another engineer or two, coming to an agreement or sometimes compromise on the outcome of the plan. The plan may require some guidance along the way, yes I'm still handholding but this is what works for me rather than blindly just firing and forgetting until the surprise reveal at the end.

With this approach I can still explain the context of what decisions I made and why they were made because I worked with the agent to help achieve them. I'm not yet at the point I can completely be hands off, I simply don't think we're there yet.

Where it breaks down

One of the clearest pain points for me has been image generation especially around some pixel art I'm trying to achieve for a side project. I've spent helluva lot of time trying to correct spritesheet's using the various available models, trialling the new models, prompting in a thousand different ways with different tone and context. The final finesse is still painful and at some point that stops being a prompt problem and starts being a tool problem. The right tool for the job still matters, in this instance I'm probably not using the right model for the job and so the outcome will inevitably be the same.

More broadly, blind acceptance is where things rot. Right now as I've already mentioned I'm firmly staying in the loop and giving guidance throughout the process. In my opinion, without a human-in-the-loop to guide and manage the overall outcome, the result is context collapse: weaker decisions, sloppier patterns, and leading to engineers who gradually lose touch with the deeper layers of their own domain.

I feel a big push to adopt AI adoption and also move towards 100% agentic coding, but right now there is a cost for me and I see it daily in the numbers and metrics for code pushed , quality, and issues.

So far

All three of the projects on this site lean on AI heavily in different ways, whether that is product ideation, workflow shaping, code generation, architecture traversal, or refinement loops. I've learned a lot from that, both in what AI accelerates and in where it still needs a steady human hand.

I'm clearly cautiously optimistic. AI is here, and more companies are pushing for real usage with soft limits and guardrails. I think that's sensible. Strong baselines and good constraints matter. I'm optimistic about the leverage, and deeply cautious about the industry impact. But excited, for now at least, to see where the next few months take us.

Command surface