Essay, , 4 minute read
I Won't Stop Coding
Why, in the era of Agentic Coding, I will still be coding by hand
One day we’ll be considered artists with our bespoke manual code.
A throwaway text from my friend, most likely tongue-in-cheek. But it really had me thinking about our future as Software Engineers.
You’ve probably seen the discourse about how coding is solved (there’s a great discussion between Matt Pocock and Boris Cherny in that thread) and how Software Engineers will be living on the streets in six months. I don’t think the second part will be happening anytime soon. If you can’t take my word for it, maybe Sam Altman can convince you otherwise.
This one is part rant, part ode to what I think is becoming a lost art: coding with your hands and your brain.
Most of the coding is being offloaded to agents already. I don’t think that reverses. We’ve passed the point of no return and AI writes code faster than any person can, which too many companies care about. (Maximizing output and maximizing profit aren’t the same thing, which is a rant for another day.)
So the question isn’t whether agents write the code. They do. It’s what happens to you while they do it.
The thing that makes you good at using AI is the thing you stop practicing when you only use AI.
An agent is only as good as the direction you give it and the review you put it through. If you can hold the system in your head (how the pieces fit, where the state lives, what happens when this call fails) you get better output back. You catch the answer that looks right but isn’t, and you know which of the three options it handed you is the one you’ll still be happy with in six months.
And when it breaks, you’re still the one debugging it. That part didn’t get automated, it just moved. You used to debug code you wrote and understood. Now you’re debugging code you skimmed and approved.
Dreams of Code has a video called Writing code by hand is now an advantage, and he says it better than I’ve been able to.
He built the media engine for his video editor entirely with agents. It worked. It just wasn’t correct. It kept breaking on the real, messy range of media files his users threw at it.
Here’s the part that got me: he couldn’t fix it, because he couldn’t evaluate the fix. He had no way to tell whether the agent’s next attempt was right or just running. So he stopped, went and learned FFmpeg by building a media pipeline by hand, and rebuilt the thing.
That’s the failure mode, and it isn’t “the AI wrote bad code.” The AI wrote code that ran. What he’d traded away was the ability to judge it.
There’s a sharper example later in the same video. An agent reached for a mutex on a real-time audio thread. Perfectly reasonable-looking code. Also wrong, because blocking that thread drops samples, and what you actually want is a ring buffer. He caught it because he’d implemented that by hand once and knew the constraint was there.
You can’t review your way to that. You either know it or you don’t.
What I’m Actually Doing About It
I’m still using AI. Refusing it on principle would make me slower at things that don’t need to be slow. But there’s a difference between using it to learn and letting it spoon-feed me answers, and I want to stay on the right side of it.
So I make it argue with me instead. Poke holes in my approach. Tell me what I’m not accounting for. Explain the part I only half understand. And then I go write the code myself. The second it hands me a finished solution I didn’t reason my way to, I’ve traded the exact skill I’m trying to keep for a few saved minutes.
I have projects that I vibecode, and projects that I entirely handcode. I think it’s important to do both, but when vibecoding, make note of where AI’s strengths are, and where it’s still weak. Be active in taking notice of the outcome of your prompts. Creating and coding projects by hand is an entirely different process, but it establishes the skills and qualities that are needed for great software, especially with AI. It’s definitely slower. That’s the price, and I’ve decided I’m fine paying it.
The other thing is I’m reading again. Books on general software principles and architecture. Deep dives into the things I’ve used for years and never actually opened up-database internals, mostly.
That’s the foundation underneath the code I’d otherwise just be rubber-stamping. It’s also the layer that lets you look at something that runs and know it’s wrong.
Where Do We Go From Here?
There’s an argument that manual coding has an expiration date on it somewhere. Maybe the models get good enough that holding the system in your head stops being the main differentiator. I doubt it, but it’s possible.
But, just like everything disruptive before it, people will adapt. Jobs will change, sure, but the decisions behind the outcomes are still entirely driven by humans (at least the outcomes that last), and I don’t think that will entirely go away. Furthermore, doing something you genuinely enjoy will never be a waste of time.
Maybe one day I’ll be considered an artist for my bespoke manual code, but for now, I aim to just be a better Software Engineer.