
I used GitHub Copilot for two years before deciding to cancel my subscription about 18 months ago. Looking back, I’ve realized a few things about the reality of AI-driven development.
The Illusion of Efficiency
AI is everywhere in software now. When it first arrived, the general consensus was: “Adopt AI or be replaced.”
At the time, I wasn’t particularly worried about being replaced. I was three years into my career as a backend engineer with a Master’s degree, and I’ve always preferred understanding systems from the ground up—an obsession that started back in junior high. I enjoy the process of building things myself; to me, coding is more like a craft than just a job.
The “Brain Dead” Warning
Initially, I used Copilot for autocomplete and code reviews to speed things up. But after a year, I noticed a problem: My brain had essentially gone offline.
I realized that without an AI suggestion, I struggled to write a simple function or would just default to copying and pasting from the existing codebase. This was a major red flag. If I kept leaning on AI, my actual technical mastery would only decline. To fix this, I cut the cord and went back to “OG” coding—at one point, I even turned off my LSP just to force myself to think.
It was painful at first. My productivity tanked. Junior developers looked at me like I was a dinosaur—the same way my younger sister looks at me when I talk about using Bluetooth “BlueNote” to chat in class back in the day.
Boundaries: A Learning Tool, Not a Crutch
It took six months of “digital detox” to get my edge back. I still use AI today, but I’ve set strict boundaries: it stays in the browser. I use it as a search engine or a tool to debug edge cases, but I never integrate it into my editor.
I treat AI as a knowledgeable but unreliable consultant. AI works on probabilities; engineering requires determinism. At the end of the day, a human must verify the logic. I refuse to let my system’s architecture be dictated by a black-box model.
Refusing to be Drowned in “AI Slop”
Beyond the concern of cognitive decline, I’ve grown weary of AI Slop—the influx of redundant, soul-less content generated by machines.
The digital world is now saturated with these “human-sounding” but ultimately empty strings of information. In development, this manifests as over-engineered patterns, bloated boilerplate, or logic generated simply to fill a void. Copilot doesn’t always provide the optimal solution; more often, it offers the most “statistically probable” redundancy.
When you habituate yourself to accepting this slop, you cease to be a “creator” and become a “janitor”. You end up spending more energy filtering through AI-generated noise than actually building. It is a waste of a life to spend it fixing errors born from probability. I don’t want my projects to become a junkyard of AI-generated fluff; I want every line of code to be a precise, conscious choice.
Choosing the Battle
This might seem contradictory since I’m using AI to help translate this blog. But to me, English is just a communication tool—minor grammatical flaws are acceptable.
However, in the realm of logic, I am the architect. Our time is limited, and we have to choose where to focus. I can live with a linguistic error, but I can’t accept hollowed-out logic caused by AI hand-feeding me code.
For me, AI is for closing the knowledge gap, not replacing thought. As the founder of InfluxDB once said: if AI existed back then, he could have learned Rust six months faster. That’s the real value of AI—it’s a bridge to help you reach mastery, not a replacement for it.