In 15 years of software development, most of that time spent in software consulting, I have never seen change this profound or rapid. Engineering leaders are scrambling to find value, developers are questioning their futures, and AI is increasingly writing code that was once meticulously crafted by humans. Where does this leave us? Us, all the developers that crafted the modern world? It leaves us searching for value and purpose, divided into three camps: the advocates, the skeptics, and the holdouts.
Advocates are racing into the AI revolution, embracing vibe coding (AI-driven development), downloading tools like Cursor, Claude, and Windsurf, and letting AI write broad swaths of their code. The advocates are on the bleeding edge and most definitely suffering the thousand cuts that come from breaking new trail. AI isn’t perfect. It suffers context window issues, writes duplicate code, and gets stuck in bug loops that can have developers pulling out their hair. These are challenges the advocate loves to solve.
Skeptics, on the other hand, are dabbling, feigning disgust while peeking behind the curtain. Some hopeful that this AI thing is really all the hype makes it out to be, others looking for reasons to prove that AI is just not as good as the old way of programming… The old way. It’s a funny way to look at it. It’s like the first time I paired; soloing became the exception rather than the rule. The skeptics rule right now. While executives push all the hype of AI, skeptics are digging in their heels, splashing their leaders with cold water and hoping they will see that even with AI we should care about code, quality, and maintainability. Engineering leaders are feeling like Sisyphus, having just won advocacy for CI, testing, and quality engineering with agile. They are starting at the bottom again, having to answer the question, “Can’t we generate that in like a day?” over and over.
Then there are the holdouts. Holdouts always exist. Whether they are holding onto a passion for a craft, have seen too many changes not stick, or are just too stubborn to learn a new skill, the holdouts are there. They are taking every opportunity to remind advocates that AI sucks, the code is slop, or they could have done that in the same amount of time. They seek companionship in the skeptic, but they are not the same. Holdouts are a distraction, but they are loud enough to force even advocates to tap the brakes as they drive by. These holdouts risk obsolescence, and their reaction to change is selfishly motivated by fear. They’re like a car tapping its brakes, forcing every other car to slow down too. Holdouts hold back organizations.
In this divided landscape, the question isn’t if change will come but how do we enable that change? I am an advocate. I am convinced that our trade, my craft, is shifting fundamentally. Everything I have held dear, the things I have built my career on—clean code, well-designed systems, intelligent architectures, and the interactions of developers on their teams—is changing… or has changed. AI can and does write code. Not all of it is good, but that’s ok; not all the code people write is good either. The fact is it can and does write code, and the code it writes comes at a fraction of the cost of a human developer. This is a tectonic shift that will redefine the patterns of our industry. The programming languages we use and the patterns we apply to them, those are not designed for our new developer peer, the coding assistant. So, those patterns will evolve. The way we divide and design stories, pull requests, bug reports—those are all written for people. They will change to accommodate as well. Every part of our practice, our craft, our trade, will change. I don’t know how long it will take, but it will change.
Leaders see this change coming. They realize the cost of unchecked skepticism and unmanaged holdouts is not just delay but the risk of obsolescence. They know the quicker they adopt, the greater their strategic advantage. They sit in board rooms or over beers and ask how they can accelerate the migration of skeptics to advocates, how they can identify the holdouts and isolate them to prevent distractions. This is the problem to solve, and it’s been solved before. We need to bolster our advocates, turn them into evangelists, converting the skeptics as quickly as possible. And we have a tool for this: pair programming. It is the answer. Pair programming has proven throughout enterprise to reinforce change and convert skeptics into advocates faster than any other change management process. This time, though, rather than pairing two devs indefinitely, pair them temporarily with AI tools, then eventually split them. Pairing allows advocates’ energy to embed new skills into skeptics. Where you had two people pairing, you will now have three (two people and an agent), and eventually four, scaling throughout your organization. The change will come quickly, not without hurdles, but it will come. Each developer will gain agency through partnership with their AI counterparts, redefining their craft, reshaping how they create software, and securing their place in the future of development.
Back
Blog
Developing AI Agency
AI is reshaping software development. Learn how leaders can navigate advocates, skeptics, and holdouts, and why pairing is the key to lasting change.
Apr 1, 2025