Technology
Coding without AI: a revolutionary new way to work
For the last 20 years or so I’ve been trying out a new way of programming, one that (surprisingly) doesn’t use any LLMs or AI coding agents at all. It’s just me, a keyboard, and an IDE or text editor, writing code line by line—literally typing things like functions and curly braces.
I realize this sounds eccentric. What am I, some kind of minimalist? Actually, I’m what you might call an “early adopter.” I’m trying something different, something radical, and I know not everyone will catch the vision. Most people think coding and AI are the same thing. But I’m here to tell you that AI-less coding is a real thing, it can be done, and it has some surprising benefits.
I also enjoy eating food prepared by real people, outside of a factory, and I almost exclusively listen to music made by people playing instruments. I have a lot of weird, niche hobbies.
Let’s discuss those benefits. You might even decide that AI-less coding is something you want to try for yourself. (Maybe just for a weekend, in case it becomes the wave of the future.)
1. Increased understanding
When I’m coding manually, I can’t simply tell my agent, Fix this bug that hides the Submit button, or Make sure this asynchronous job updates the database. There is no agent! Instead, I have to carefully read, test, and debug the code to build up a mental model of how it works. This is difficult to do, but I’ve gotten pretty good at it. Along the way, I’ve noticed:
- My mental model is correct much more often than AI is. Once I’ve examined the code thoroughly, I can make all kinds of useful predictions about its behavior.
- When the code has bugs or doesn’t match the spec, I can often visualize, in my mind, the exact file or method that needs to change. It’s hard to describe how much this has sped up my workflow.
- As I read code, I can’t help but discover things I didn’t plan on learning, since code is all so interconnected. Those “bonus learnings” frequently come in handy later.
- I often notice ways the code could be improved so it’s more reliable or easier to work with.
- When people ask questions about the application, I sometimes know the answer off the top of my head, without consulting any chatbots.
- Eventually I reach a point where—for lack of a better term—I’m an expert in the codebase and all the technologies it uses. That expertise is available to me all the time, everywhere, for free. No agents required. It’s just right there in my brain.
You might think this sounds slow, but in fact, the longer I work with a codebase, the faster I get at building on it. AI’s still faster at throwing together quick prototypes, but I’ve found myself building those on my own too, because there’s just no substitute for deep, genuine understanding.
I’ve used that understanding to become extremely valuable at work, earning several promotions and accolades over the years. Don’t tell my coworkers I’m coding without AI, though—they might see it as an unfair advantage.
2. Working software
The world has an enormous appetite for software that doesn’t really work, and I’ll admit that with a little effort, I can even hand-write software that doesn’t work. But most of the time my AI-free code works pretty well after a little testing and tweaking. And due to some mysterious effect, it works better over time. A lot of my code can just be left alone and it keeps working for months or years. I’m not kidding. I feel like I’ve discovered a forbidden secret, having code that doesn’t need to be thrown away and regenerated all the time.
When my code has bugs—and let’s be honest, that’s a constant whether you use AI or not—I’ve started feeling much more confident in my ability to fix them. Instead of going the rounds with a chatbot that makes up several incorrect solutions before finally writing enough code to paint over the problem, I can use debugging techniques that gradually narrow down the source of the bug until I know for sure where it is, and then I can fix it with high confidence. Sometimes the fix is a single line of code, if you can believe it.
I think I finally understand people who sew their own clothes or make their own furniture. It’s just a higher quality result. Imagine having a T-shirt that doesn’t fall apart after a few wears! Sure, it’s more effort up front, but you can’t argue with quality.
3. Simpler code
You may not realize this, but AI often complicates simple tasks. Sometimes it writes you three pages of data structures and algorithms when all you needed was an if/else block. Writing code by hand has taught me to see complexity as a liability, not an asset, and to keep things as simple as possible.
When you code without AI, you naturally start at the bottom with simple code that only does what you need. You can always extend and build it out; it’s a lot harder to simplify it after the fact.
I’ve sometimes found that my AI-free code is so straightforward it can even be understood by people who don’t code for a living. I don’t mean they’re plugging it into ChatGPT—they’re just reading it and understanding what it does. It sounds unbelievable, but code really can be that simple.
Why should you care if your code is simple or not? For one thing, simpler code is easier to predict and easier to debug. When you write code without AI, you may find you don’t need AI to explain it back to you later; you can just go back in, quickly jog your memory, and update it. And for another thing, simpler code breaks less often in the first place. There just aren’t as many lines of code that can break.
It’s counterintuitive, but I now see the additional friction of AI-less coding as a win-win. It makes me a better programmer. It pushes me to keep things simple. It helps me say no to things that aren’t valuable.
You may still think I’d move a lot faster with AI, but that’s not the point. Weightlifters would move faster without their weights. Cold plunges would be more comfortable if the water were warmer. Starting a business would be easier if customers had lower expectations. The things that make something challenging can also be the things that make it worthwhile.
4. Faster delivery
Sometimes when I tell people I code without AI, they get a concerned look on their face. They wonder if I’m constantly getting in trouble for shipping features too slowly. Imagine their surprise when I tell them I’m actually shipping faster.
Coding was the fastest part of my workflow with AI, and it still is. It turns out coding just isn’t much of a bottleneck. What takes most of my time is everything else: figuring out the requirements, resolving ambiguity, waiting for feedback, testing and validating, coordinating with other teams, going to meetings, project planning, and so on. It’s the people stuff that’s slow, not the computer stuff.
So that explains why I’m not slower. But why am I faster?
For one thing, when I’m coding manually, I’m forced to make decisions as I go. It’s not possible to code ambiguously. And when I don’t know the right decision to make, I have to stop coding and go find the answer. It’s slower up front, but by the time the code is complete, I know we’ve done what we intended to do. Ambiguity and unresolved questions are resolved early in the process, long before the code ships. That saves time in the long run.
And then there are the other things I’ve mentioned. My speed and expertise grow over time. The code is simpler. It works better. All of those things contribute to faster delivery. Sure, AI can type faster than I can. But in retrospect, it’s hard to believe we ever thought typing speed was the problem.
5. Cost savings
Maybe it’s not a polite thing to say, but I feel like AI companies are always trying to make more money. Every update to my chatbots seems purpose-built to make them suck up more tokens.
I know what you’re thinking. “How many tokens does AI-free coding use?” And the answer is surprisingly simple: none at all.
I’ve shipped multiple complete applications without paying for a single token. I’m not running some legally-shady free trial scheme, either—I’ve shipped those applications without using a single token. I can write software without permission from anyone. I can write software using open-source text editors on Linux without an Internet connection. It’s liberating.
Honestly, the amount of money I’m saving by using my regular ol’ brain instead of a chatbot is wild. I can code for free. I’m practically out of debt. And I’m a relatively mild case—some of my peers spend more money on tokens than I spend on my mortgage.
6. Higher job satisfaction
Remember those folks I brought up earlier, who sew their own clothes or make their own furniture? Another thing I’ve noticed is they enjoy doing it. It’s fun and rewarding for them. I’ve never heard someone who works in a clothing factory say that.
AI coding isn’t the world’s worst gig, all things considered, but it certainly isn’t satisfying. It’s factory work. Drudgery. Sometimes it feels more like teaching a remedial class than actual creative work; you’re constantly reviewing the AI’s work, watching for the kinds of mistakes it makes, telling it to start over until it gets it right. And at least with teaching, the student can learn and improve; you can build a meaningful relationship with them. AI just…keeps being AI.
Coding without AI feels like magic. There’s a creative pleasure in the process, a sense of accomplishment and ownership. It’s as much art as science. I’m not churning out code to satisfy my boss, I’m building something useful. And I’m proud of it, too. That pride motivates me to make it better, to fix it when it’s broken, to think about it when I’m not at work.
Being business-minded and hustle-cultured is one thing. Loving your work is another. And I’m not ashamed to say I love my work.
7. Lower risk of AI-related illness
Everyone seems to have accepted AI psychosis and AI burnout as facts of life. Who hasn’t spent time in the hospital after too many late nights with a chatbot? Early reports of AI-related cognitive decline haven’t raised many eyebrows either.
I submit that it doesn’t have to be like this. Anecdotally, in my small community of no-AI coders, we’re pretty sure that if you don’t use AI, your risk of AI-related illness and injury drops to zero. Extraordinary claims require extraordinary evidence, and we’d obviously need scientific studies to confirm, but the math works out.
Again, I realize I’m on the fringe here. But going AI-free isn’t so different from other risk-avoidance strategies we’re all familiar with. I don’t smoke. I don’t drive into oncoming traffic. I eat my vegetables. AI abstinence is just another way to protect my health.
The risks of AI use may be small. Most smokers don’t get lung cancer; most AI users don’t develop psychosis. But every little bit counts. You can’t put a price on your health.
What’s next?
Some of my friends see coding without AI as a slippery slope. What’s next? Coding without an IDE? Coding in a low-level programming language? Coding with pen and paper?
The truth is, I don’t know. It’s hard to say what will happen to the career I’ve built my life on if AI goes out of vogue. Will the world even need programmers when people can write code on their own, without having to manage a team of fourteen AI coding agents?
Whatever happens, I’m here for our glorious future. And if, in some small way, I’ve helped bring it to pass, I consider it an honor.