Vibe coding and the human developer
AI assistants are only as good as the humans who vibe with them.
I used to play guitar. Nothing serious, just a hobbyist picking away at things. But for a while I had a classical Spanish flamenco teacher, and that changed how I thought about playing. The technical discipline, the theory behind every movement were humbling. Later, when I lived with a roommate who studied jazz at the conservatory in Tilburg, I saw the same thing from another angle. He could improvise in ways I couldn’t, because he had the framework to back it up. More than “feel”, the heory and technique made the music possible.
I think about that a lot now when I’m working with Claude Code.
Most days I open it up, point it at our Atlas stack, and start with a rough idea of what I want to build. I describe the goal in plain language, let the assistant write a first draft, then tweak, test, and run it. Things take shape fast. There’s a back-and-forth to it that feels more like collaboration than instruction. I guess that’s why “vibe coding” is a decent name for it, even if it sounds unserious. The vibe is real. But just like music, the vibe only works when there’s skill underneath.
Here’s the thing nobody talks about enough: AI coding falls apart without domain knowledge. The model can generate reasonable-looking code all day long, but it doesn’t know your architecture. It doesn’t know your project’s history, your team’s conventions, or the business logic that never made it into the source code. That last part is where I do most of my steering and correcting: the big-picture stuff that lives in my head, not in the codebase. When the assistant suggests something that technically compiles but conceptually misses the point, you need to catch that. And you can only catch it if you already understand the system deeply enough to know what “the point” is.
At OWOW we built Atlas specifically to handle the heavy, unglamorous parts: structure, reusability, DevOps, deployment, configuration. Having that foundation solid means I can afford to experiment. I can try a few different approaches to a feature in an afternoon and still commit something maintainable before the sprint ends. AI speeds up the iteration loop. It doesn’t replace the judgment call about which iteration is the right one.
Messy AI coding sessions are usually the result of too few rules and guardrails. In my vibe coding meta I explore how to turn AI slop into sound, tested code.
So no, vibe coding isn’t the death of craftsmanship. If anything it raises the bar. You’re no longer just writing code line by line: you’re steering direction, spotting bad suggestions, and deciding what belongs in the project and what doesn’t. The work has changed, but it hasn’t gotten easier. It’s gotten more interesting.
My flamenco teacher would probably approve. Less mechanical repetition. More knowing what you’re doing and why.