Today I'm handing over the keys.
After nearly two years, I'm wrapping up my first professional software project with substantial amounts of code produced by AI agents. It's a strange feeling. As a long-time XP lover and eternal apprentice, I grew up evangelizing "the book." I was the guy preaching TDD, continuous integration, and pairing as the only way to live. Over time, especially with the advent of remote work and then the advent of AI agent coding, I kept the principles but became less rigid about the mechanics as dynamics organically changed the nature of pair programming. (I'm hoping to write a separate deep dive on this topic soon-ish.)
This project was the first time I truly let AI into the "inner circle" of my workflow, thanks in large part to Ben’s encouragement to stay open-minded and embrace continuous learning. And it's become more than a tool; it became the weirdest, most brilliant, and occasionally most infuriating team member I've ever had.
The Era of "Internal Cursing" (Early 2024)
In the beginning, it was rough. I was trying to hold onto the old ways while the AI was still in its "dim-witted assistant" phase. The early 2024 models were a constant source of friction. My project partner, Orest, had to endure my legendary (and frequent) rants. I'd yell at the screen as the AI hallucinated a React hook or produced Jest tests so brittle they'd break if you looked at them sideways.
There were many moments where I'd get fed up, kill Agent Mode in a fit of pique, and mutter: "Fine, I'll just do it myself." I'd go back to raw typing just to feel like a "real" developer again.
The First Crack in the Wall (Mid-2024)
The first real shift happened in mid-2024. When Claude 3.5 Sonnet hit the scene, something clicked. For the first time, the AI actually understood React hooks and complex logic without me having to hold its hand through every line. I was still rewriting a lot, but for the first time, I wasn't starting from scratch every time. The partnership was starting to feel less one-sided.
From "Typing" to "Orchestrating" (2025)
Then came 2025, the year the world changed for us. As models launched with massive context windows and real reasoning capabilities, Agent Mode stopped being a gimmick and became a legitimate partner.
By late 2025, I found myself telling people something I never thought I'd say: I hadn't written a manual line of code in weeks. My job had fundamentally transformed. I wasn't a "coder" anymore; I was an orchestrator.
The Test Suite: AI Labor, XP Intentionality
One of the most satisfying parts of this evolution was in testing. Early on, AI-written Jest tests sucked ar** - they were lazy and missed the point. But as the models evolved, something magical happened.
In the last 2/3 quarters, I started realising the AI wasn't just "writing tests"; it was executing my XP intentionality. I was still the one devising the test strategy, defining the boundary conditions, and designing the edge cases. But instead of me spending hours fighting with mocks and syntax, the agent became better at producing test code - eventually taking higher-level, test-first prompts and evolving test suites with a level correctness and of edge-case awareness that felt right. The intent was mine; the labor was the machine's.
To My Project Partner, Orest
Through all of this - the rants, the sudden shifts in workflow, and the 2024 model-induced meltdowns - there was Orest.
Orest has been my project partner and the rock of this journey. He's the one who endured my XP-purist lectures and then watched me slowly transition into an AI-orchestrator. Navigating the "remote-XP" world is tough, but having a partner who can roll with the punches (and the cursing) made this project what it is. Cheers for sticking it out with me, man.
The Next Step
Today I hand over this project where AI isn't an assistant; it's the primary engine, and I'm "simply" the Architect.
The XP apprentice in me is still learning. The "by the book" days might be evolving into something more fluid and AI-augmented, but the core values - simplicity, feedback, and courage - stay the same. You just need a bit more courage when you're letting an agent refactor your core components.
Onward to the next adventure.