I'm done using AI
I've been programming for 20 years. It started as a hobby as a teen, making fansites and little video games. Then it turned into a career. And it's something I've largely enjoyed doing. I like learning, I like problem solving, and I like making things, which is a lot of what programming is. Over the past 18 months, my career, my hobby, and my craft have been drastically changed by the introduction of LLM-powered coding harnesses (e.g., Claude Code) and what's often referred to as "agentic programming."
I first became aware of using LLMs for programming a few years ago through GitHub's Copilot integration in Visual Studio Code, which was like autocomplete on steroids. You'd start typing function sortNames and it'd show you a preview of what that implementation could look like. I tried it and found it distracting and basically useless. The second time it reared its head was the early chat interfaces. A colleague was using it to help investigate an issue and the solution the LLM provided them with wasn't working. Turns out that the LLM hallucinated a version of a software library that didn't exist, and therefore couldn't be installed nor used to fix the issue.
Around this time, at that job, a true believer of AI was hired as the head of the product team. They were a product manager who began submitting changes, using the LLM-powered coding tools but without understanding the implications to the broader system. Conversations became focused on how to integrate AI into the software that the customers used. I was watching it spread like a virus throughout that organization, while I continued programming away as I had for the decades before, writing tests and building features, and largely enjoying the work.
At a newer job, the job I have now as I write this, I continued to code how I had my entire life. Writing TypeScript, Ruby, CSS, etc. and corresponding tests, integrating with other systems and depdnencies. It's a small team of less than 10 developers. On collaborative calls, I'd see how some of my colleagues utilized AI in the Cursor editor, quickly tab completing the code and sometimes prompting it inline to write some code. The LLM-powered coding tooling at that time was largely working at a local-to-that-file, small scale. I thought it was neat, almost magical, but nothing would pry me away from Neovim and tmux, and I felt like I was working fast enough anyway.
I didn't, and I still don't, see the need for working faster. I really like what Cal Newport encourages in his book Slow Productivity: work at a natural pace.
In early 2025 I was asked a question by management: "what do you think of this AI coding stuff?" And I said "it's often wrong, gets in my way, and doesn't help me code faster, so I don't use it." Management would not long after attend a conference and be sold on how LLMs would change everything we know about knowledge work, revolutionizing the workplace. This then led to a mandate to make use of AI tools or be left behind.
I decided to give AI a go, in earnest. I tried the Cursor editor, but it didn't click with me and ran horribly on Linux. So I tried Zed, and pretty soon thereafter I was utilizing the sidebar chat with auto-edit to have the LLMs make changes to the code and build software. At that time, it honestly felt magical. Type into a box and the thing would write code and answer my questions. During mid-2025, agentic editing became the new way to use AI for coding, replacing the auto-complete-based workflows. As the AI companies invested in training models tuned for that purpose and building coding harnesses, the capabilities kept getting better and better.
Fast forward a year to mid-2026. In the lead up to my decision to stop using AI, I was able to essentially connect Linear to Claude Code and have it build out a non-trivial project from start to finish without me editing a line of code. The work gone done faster than I could have done on my own. And I barely had to think. While that sounds amazing if you're a person who profits from more work getting done, there are immense drawbacks to this, which I'll share more about in a moment. I share this anecdote to say: I understand what the LLM-based coding harnesses are capable of. I write this all from the perspective of an experienced lead engineer who used these tools in earnest for more than a year. And I cannot in good conscious continue to use AI for coding (or anything else) any longer.
During the time when I started using the LLM coding tools, I also started to use the chat functionality. I'd ask it to recommend me books. I'd ask for career advice. I'd float business ideas by it. I talked to it like it was a friend. I'd come up with grand ideas, and it was always supportive. And I'd ask it for medical advice. I'm embarrassed to admit this, but one night when I was sick, I described all my symptoms and it told me to go to the Emergency Department at the hospital. So I hopped in my car at midnight, suffering from the flu, and drove to the ED. I sat there and waited for two hours in the waiting room while my ibuprofen I took before I left kicked in. By the time I saw a medical professional, they basically just told me to go home and rest, that I didn't need to go to the ED. While sure, yeah, better safe than sorry can sometimes apply to the ED, I think relying on the AI chat for what action to take for my medical condition was a huge mistake. It also cost me hundreds of dollars. That example, among others, helped me realize the AI chat was making me delusional.
I stopped using the AI chat because it became very clear it wasn't helpful or healthy, and it was in fact dangerous. But I kept using AI for coding at work, using it to take on more and more of the heavy-lifting to the point where I was just a code reviewer and a quality assurance tester for the features the coding harness would spit out. Getting a lot of tasks done, it can feel exhilarating. That is, until I realized, well, I'm basically just a hamster on a wheel, checking boxes, getting tickets done with no real purpose. Sure, I catch an issue here or there. But it's impossible to review the quantity of code the AI writes, and we've got a different AI to review it anyway! So what did this do? Well, it made me lazy. It made me stop caring. It made me a worse programmer. It made me depressed. Because I stopped doing the hard work, I stopped learning, I stopped growing, I stopped being the one making the software.
I had a conversation with management about how a developer's job is now is to teach the AI to be better, make fewer mistakes, etc. To review the code. And to test the changes that the AI makes. This is a horrible existence, and it was one of the other signs that this is untenable for me to continue like this.
One of the other signs that something had to change is that the more I used AI for coding at work, the more distant I felt from the software and its features. I couldn't explain precisely how something worked without asking the AI. I cared far less about the code and the software itself because I didn't write any of that code myself, I was removed from it.
Upon reflection, I've come to believe that quality software is not about how many features something has or how quickly it is built but rather how cared for it is by the designers, developers, and product people who work on it. There's an ineffable aspect to my favorite pieces of software where I don't think of it is as feature matrix but rather as an interface made by a human for humans that's a joy to use. And when you build software with AI, it leads to worse software. Sure, it's faster to build initially, but I think to the detriment of the quality of the code and the user interface and the user experience.
I also started experiencing existential dread. If I'm basically just feeding Linear tickets into a CLI, why am I needed at all? Will software engineering exist in a few years? Should I go become an electrician or something else entirely? But what about this craft I love and career I've had? Will it just go away?
I started to learn more about the true cost of AI, from the data centers to the water usage and beyond. That it's built and trained upon stolen sources. And the cost is extreme. And that cost is largely hidden from people unless they're building a data center in your backyard (which they might be before you know it).
So in summary: using AI for coding led to depression, apathy, existential dread, and worse software. Not good. Add on top of that the negative environmental, community, and economic impacts of AI, and it became extremely apparent to me that something's gotta change for me.
Earlier in the year, at the nadir of all of this, I returned to one of my hobbies: game programming. During this time, I finished writing my book on coding games for Playdate, made some small games, and created a 2D Lua game engine called Usagi with Rust. I was feeling disillusioned with coding at work and going back to the basics by writing and coding without AI helped me realize how much I love coding and how using AI was making me a worse programmer and negatively impacting my mental state.
I tried to use AI less at work, like only use it for trivial tasks, but that never really worked. I'd just fall back to using it for pretty much everything. It feels silly to type out a test when you can just have AI do all of it. For me, it feels like an all or nothing decision. Also, using it less but still using it means I'd still be using it, therefore showing demand for it and contributing to the harms it causes. No thanks.
When someone decides to make use of some technology, or more abstractly a tool, there's always some sort of cost to using it. The cost of using LLM-based tooling is way too high and absolutely not worth it, in my opinion, for myself or society. In my opinion, AI is unquestionably a net harm compared to any benefits it may provide.
To put it simply: I do not like this world where people are using AI to generate art, music, writing, and software. So I will not use AI.
I don't know what consequences will come from this decision to stop using AI for coding at work. It is possible I will be terminated. It's possible I'll be able to get by just fine. Time will tell. But all I know is that I couldn't keep working that way, as it was in no uncertain terms ruining my life.
What comes next, I'm not quite certain. I want to talk about all this more. I want to see how other developers are fairing. I want to return to my love of sharing what I learn and helping other programmers through writing and videos. Well, helping those who want to actually learn to program, not those that want to just prompt their way to a solution. It's a strange and uncertain time, that's for sure. But I'm going to see what the future brings and stick to my values and be true to myself. Here's to writing code by hand.