Vibe Coding Is Cheating
I recently worked through a course on building AI agents, and at some point I stopped learning and started delegating. I didn’t understand the material, but I submitted the assignments anyway, generated almost entirely by a coding model.
It felt like cheating. Because it was.
Not cheating against an institution — nothing was graded. Cheating against myself, in the specific way that matters most for anyone trying to build durable skill: I got the artifact without earning the understanding. The submission existed; the competence didn’t.
Here is what I noticed about working this way. When the problem is small and well-worn — a CRUD endpoint, a boilerplate script, a landing page — an LLM feels like magic. You describe, it delivers, you’re amazed. But the moment the problem gets genuinely complex, the same tool becomes noise. It hallucinates APIs that don’t exist. It bloats the system with plausible-looking code that no one, including the model, can reason about. It produces volume where you needed judgment.
And that asymmetry tells you something important about what to learn: precisely because the easy tasks are getting automated first, the value of human skill concentrates in the hard, messy, ambiguous work — the part where the model’s fluency stops helping. Which means the real discipline of this era isn’t learning more tools. It’s unlearning: deliberately letting go of the shallow breadth that used to pass for competence, so you can go deep on something.
The trouble is that unlearning demands elimination, and elimination demands goodbyes. You have to choose one or two things to be yours. You cannot be a husband to every field, no matter how much love you have for all of them. Every technology you adopt as identity is a technology you stop being able to outgrow. Saying yes to everything is just refusing to say anything at all.
I run back and forth between two poles. On one side: the drive to be productive, to grab what I want, to optimize. On the other: the Law of Reversed Effort — the old observation that grasping too tightly destroys exactly what you’re trying to obtain. Hustle culture says the first pole is virtue. Monastic traditions say the second. My honest position is that both are right at different hours of the day, and maturity is mostly noticing which one the moment calls for.
So: use the tools, by all means. But be honest about when you’re building and when you’re outsourcing your own education. The generated code compiles either way. The question is whether you do.
Drafted with AI assistance from my personal journal (2025-06-25), then edited by me. See On AI Assistance.