Like most software developers, I was pretty skeptical of AI when it first came out. There was no way it could be a better developer than me. I've been writing code, shipping binaries, and building software since I was 10. At first, I would treat ChatGPT like Stack Overflow. Copying and pasting code into the chat and manually implementing the fixes after careful review. Making sure that it was in my style. I was prideful. All those nights in college stuck in my dorm writing software when I could have been out with friends were starting to feel like a waste of my youth. But only slightly. I was still writing the code and doing most of the research.
Then Claude Code launched and the trickle became a torrent. Here was a tool that could just write the code for me. It couldn't write good code, but it could do a lot of the maintenance work on my behalf. And, it made jumping into new repositories a breeze. I was collaborating with my coworkers more now that it didn't matter as much that I didn't know Laravel well. I know PHP, and I know good software development. That gap of studying Laravel just so I could add a form to a page was no longer necessary. I could see the writing on the wall. It was only a matter of time until AI would be better at writing code than me. I struggled with that feeling for months. What did it mean for me? That all those long nights and weekends coding, skipping out on social opportunities and life to get really good at writing software were no longer necessary. I'll admit I was angry. Angry that I had to build my house by hand while my cousin, entering his freshman year of computer science, would not have to earn those skills. He could rent a backhoe for $20/m.1
Then, models like Fable and GPT 5.6-Sol launched and they are plainly better at writing software than me for a good 80% of tasks. But I'm okay with that. After months of introspection, I'm no longer scared of AI. I'm hungry for it, because despite all of the societal, environmental, and personal costs for software development it is 100% a real world productivity game changer. Those 80% of tasks? That's stuff like writing database queries and models to represent that data. Stuff that should have always been as simple as just writing the field names, types, and describing the relationship. Give Claude an abstract class each model must implement and you have deterministic guards that you can trust.
The thing non-developers don't understand is that we've built so many deterministic tools to validate the code for people, that AI--as fallible as ever--is able to check itself against trustworthy reviews with the speed and sustained attention only possible via a computer. AI is still a dumb lying text generator. It just so happens inside computers is a world where text is everything.
Meet the Team
Before AI I had a remote developer from the Philippines report directly to me at work. We'll call him Hercules, though that's not his real name. Herc was practically my coding agent for years. I'd describe tasks, link him to files, and review his output. There were occasionally bugs, and his coding style was unsavory to my taste, but he got a lot of the grunt work done so I could focus on what I do best. Ideate, design, and implement novel solutions.2
We eventually let Herc go back to his staffing agency after we ran out of work for him to do, but recognizing that the workflow of delegating software tasks was not new to me helped me reframe AI and discover a system to accelerate my productivity while maintaining reliability and code quality.
I built a team.
I’m writing this post in July of 2026\. AI is moving fast, but fundamentally I believe we are building it to understand people. The methods I’ll describe are based on my whole life of collaborating with people. I know people do not change rapidly, especially on a macro level, so my tips should be good for as long as AI is aligned.
The Coders
Actually writing code is not a very high-reasoning activity. Consider how you hand program. A lot of the work is reading docs and building the context you need to write the code. Another large portion is just writing the necessary boilerplate that wraps your novel code. It's a lot of information recall and not a lot of creativity.
That's why I try to use faster and less reason-heavy models like Sonnet and 5.6-Luna to actually put code to page.
The Reviewers
These are my smartest little workers. Depending on the project, they can be Fable/Sol or Opus/Terra. I have these agents do an adversarial review of the Coders' work in a fresh context. They're instructed to make no assumptions and to prove to me the software doesn't work. If a bug is found, the reviewer will pass the issue back to the coder and their conversation will continue until all bugs have been squished and all checks pass.
This is loosely based on Jarred Sumner's method for the Bun Rust rewrite. I don't have infinite subsidized tokens like Jarred, so I typically only use a handful of agents doing limited review cycles. But with the release of 5.6-Sol OpenAI and Anthropic have been generous with their usage extensions.
This method is great for avoiding context pollution and for burning through tokens. I use it for big refactors and large labor and low creativity changes. Stuff like building out a design doc or coding a large API surface.
The Assistant/Orchestrator
The assistant is my direct collaborator. I usually use the Codex CLI running 5.6-Sol with reasoning set to whatever I find works. The Codex CLI comes with a lot of extra functionality from baked in skills, the system prompt, and MCPs. It’s very good at looking at a large project and delegating maintenance, research, and coding tasks to sub agents. I ask it for big one-shot tasks because it is by far the most capable tool I’ve found for persisting until it delivers results.
Codex on 5.6-Sol is very good at knowing when to delegate and when to not. It is also very focused. 5.6-sol does not like to meander.
I want to stress: more AI != better. The more cooks in a kitchen messing with your code, the more likely it is that an agent will hallucinate or simply get stuck in a review loop trying to catch up with your rapidly changing codebase; unnecessarily wasting tokens. It also isn't a good use of the tool. AI accelerates you. There is nothing wrong with slowing down to be precise, or to limiting your use of the tool.
That’s why there is a real material advantage to knowing how to code and having practical real world experience. You need to balance the speed of writing code with the impact of a bug or catastrophe. Using AI to write your web app’s frontend? You probably don’t need to read the code. Any visual bugs you can quickly catch with your eyes, and there are deterministic tools to catch all kinds of accessibility violations. Your backend is more insidious. Now you’re dealing with real people’s data and accounts and there are no obvious visual cues for when something’s broken. The worst case scenario is no longer a slow webpage or weird alignment. It’s the loss of production data or worse: the loss of your customers. That is why as a professional developer you need to read the code if you’re not writing it yourself. Having the experience of actually knowing a programming language, and the real world expertise of having written it lets you just skim and run your code in your head. It gives you direction and scope. All the quiet psychological work of programming is now more important because whether you’re the passenger or the driver, you’re still deciding the final destination. You need to be aware of your route and the potential pitfalls because a machine cannot be responsible. If something bad happens, nobody’s going to punish Claude. They’re going to punish you.3
I worry a lot about the effects of AI on cognition. Skill atrophy is real. The less code I write by hand, the harder it is for me to get back into it and remember the engineering patterns that make good code. I think fully vibe coding is an easy way to work your way out of the industry. What you should be doing is using AI to accelerate what you were already doing. It is more effective with a project structure it can work in and pull examples and context from. It will always perform better with more information than less. If you control the shape of what it builds, and build with intention. It is an incredible tool. Otherwise it’s an incredibly fun way to waste money.