Let’s get real about AI
How I learned to stop worrying and love the bomb.
Whether we like it or not, AI is everywhere. Tech people and businesses love it because of (real or imagined) cost savings and productivity multipliers. The average person hates it because of (real or imagined) concerns1 about how it’ll affect their employability, the societal impact of AI slop in social media and the apparent disinterest (or lack of foresight) from governments to do any kind of planning to stave off these risks.
Depending on which side of the fence you are, AI is either a miracle or a ticking bomb about to disrupt our world.
This is my personal journey on how I came to terms with that reality. If you, like me, are hesitant about embracing agentic coding let me tell you: it gets better.
Where I am coming from
Let me tell you a bit about me: I am an old hand. I started programming when the average personal computer used spinning rust to store data and had RAM measured in MBs. My dad patiently taught me the rudiments of QBasic and then gifted me a copy of Visual Basic 4.0 and the book that would change my life: Hardcore Visual Basic2. I was hooked. I spent the following 30+ years writing code. I enjoy the craftsmanship, the thrill of solving the puzzle in the most efficient way, the trepidation of seeing the feature I worked on being used by other humans. I love it!
With that context in mind, you may be excused for thinking my reluctance to adopt agentic programming came from resistance to learn a new tool, or hesitancy about having a computer magically write the code for me. I am, after all, an old fart.
But that couldn’t be further from the truth: I love embracing new tools if they make my life easier. When code editors introduced syntax highlighting, I immediately made it a requirement for any new editor I used. No more monochromatic code for me!3 I picked Visual C++ over Borland C++ because IntelliSense allowed me to fuzzily guess method names instead of having to read documentation.
Ultimately, I am extremely lazy and want my editor to do as much work as possible for me. So it’s no surprise that when editors like VS Code introduced ‘AI assistants’, I was pumped.
The promised land
When GitHub Copilot was first introduced in Visual Studio code, I was super enthusiastic about the possibilities. This was the first legit improvement in the field of code editing since the introduction of bundles by TextMate twenty years prior.
The demos were super enticing. From now on, your editor wouldn’t just autocomplete method and parameter names, but it would be your pair programming buddy:
It could answer questions about your code, so that you didn’t need to dig through 20 files to find if some piece of code did something you needed
You could ask it to generate small snippets of code, avoiding the boring bits of writing code. Have to instantiate a struct with 10 fields? Just let your buddy do it!
You could ask it to change some CSS class in every template in your project, without having to grep or sed like some kind of medieval peasant
More importantly, you could select a function and tell it to generate tests for it, something that programmers have dreaded since code coverage thresholds became a standard gate in CI pipelines
Finally we’d be able to focus on writing business logic, or tackling interesting problems rather than fiddling to no end with the mind-numbing amount of busywork prevalent in any modern project of moderate complexity.
This was the promised land! We had finally made it. Right? Right?
Disenchantment & skepticism
The reality was - as it’s usually the case - more disappointing than the demos. The quality of the code generated by your AI programming buddy was very unpredictable. Occasional flashes of brilliance, lost in a sea of mediocrity.
I once saw Cursor - marketed as ’the first AI-native code editor’ - write
flawless Go code that correctly used advanced synchronization patterns… and
then try to use TypeScript import syntax in an empty .go file. How could
this supposedly smart helper not even take into consideration file types?
Copilot would make similar mistakes. Some of the code wouldn’t even compile.
Add to that the UX issues. Enabling AI in your editor usually made it too eager to use AI. I can’t count the number of times I accidentally pressed Tab a few milliseconds after Cursor/VS Code decided to provide a 20 line AI-generated suggestion (instead of the method name or snippet expansion I expected) and then had to delete the whole thing manually. It made me feel like I was walking on eggshells the whole time.
Beyond the tooling quirks, there was a deeper issue: the promised productivity jump wasn’t materializing. Most of my colleagues who were keener on adopting AI didn’t seem to be writing code faster or closing more tickets than me, and the ones that were would’ve been extremely productive with or without the AI helper.
I became convinced that the usefulness of AI was overhyped and we were - at least - a couple of years from models becoming good enough to be useful. Maybe half a decade or more before they became a threat to software engineers.
Boy, was I wrong.
Reluctant re-examination
Cue early 2025. The first version of Claude Code came out to little fanfare. At least from where I was looking it was a curious animal: instead of working in your editor, you had this thing running in your terminal. You’d ask it to do something and then it’d just go and magically do it.
It sounded strange. It was strange. When I used the AI helper integrated into my editor, I could see the mistakes as it made them. I could immediately correct them. This required a leap of faith: you let the thing work, then do a diff to see what changed. It had the potential of making changes all over the place, so - at least in my head - it sounded like a great way to efficiently introduce subtle bugs everywhere. I wasn’t interested.
But by mid 2025, people I respected a lot - like Armin Ronacher and Simon Willison - started writing about their rather positive experiences using coding agents. Some very smart friends, who I trust not to fall for hype, were starting companies built around the same technologies, like automating testing of websites and validating customer support chat bots and proving the frontier models were up to a kind of task I would’ve considered the exclusive realm of humans. At my new job, my colleagues were using AI for drafting implementation plans, writing documentation and providing super detailed PR messages.
When Claude Sonnet and later Opus 4.5 were released and it became undeniable that, with enough guidance, these new models were able to write good code in a fraction of the time it’d take me to write the same code. Not only that, they were great at automating most of the toil that consumed 20% to 30% of the time launching a greenfield project.
Well, crap. These models may be useful after all.
Acceptance and adoption
And here we are. It is now mid-2026 and there’s been a sea change. This feels a bit like when software started assuming your computer was very likely connected to the internet: all of a sudden, there’s a gold rush to see what added value the technology can provide. Some of the use cases are weak and are clearly companies compelled to claim their product is ‘AI-enabled’. But then some use cases are truly life changing.
Using Notion AI to simultaneously query your whole company’s knowledge base, source code, Slack chats and tickets in a conversational manner is so much more than the sum of the parts. Claude Code enabled me to throw this blogging website together in about two hours, something that I had been procrastinating on for literally a decade. And don’t get me started on some of the cool uses people have been finding for voice-enabled models.
I am now convinced ‘AI’ - at least as understood in the current breed of ‘agentic harnesses’ that allow a model to build context from user input - is here to stay. Models aren’t the Culture mind-level4 ‘intelligences’ that BigModel companies sell them as, but, provided with a harness and a mechanism to build their context, they are incredibly powerful. As long as one is able to stay real on what we expect from the models (and has a better understanding on how the tools actually work5), there’s a perfectly reasonable ramp up from ‘old hand that is scared of the new’ to productivity in the age of AI.
And believe me, I have plenty of concerns; but that’s a story for another day. ↩︎
This is a link to a newer version that covers VB 5; still a banger. ↩︎
It was a childish requirement, but I was a child. Some of the most impactful people in the industry (such as Linus Torvalds and Rob Pike) refuse to use syntax highlighting to this day. Crazy, incredibly talented Luddites. ↩︎
If you haven’t read the Culture series of books by Iain Banks, you should. If nothing else, they provide a much needed utopian outlook on the development of artificial intellegence. In the current environment, which is a mix of doomerism and hype, they provide a nice look at what a best-case scenario for actual AGI could look like. ↩︎
Watch this space for more information on this later! ↩︎