The biggest danger in ai-assisted development is that it supercharges the risk that your effort is unintentional. This was always possible. You could mindlessly code away for a while without learning anything. I’ve adopted the repair to “practice makes perfect” to “intentional practice makes better”. No matter how many times you play chopsticks on the piano, you probably won’t get closer to playing beethoven’s fifth, not without intentional movement in that direction. It’s why I never leave the comment “experience over theory” let it sit on it’s own. Ten years of development experience may not actually be better than someone right out of college depending on the nature of that practice.

So when I say “Vibe Coding is not Engineering” I’m not making a value judgement. It’s not for me to tell you whether or not what you’re doing is real engineering, but it is a warning towards engineers who may be limiting themselves by just thinking about AI as a way to accelerate code generation, as I have thus far. It’s pivoting to think about AI tools as scaffolding. AI Tools as stations in a code generation factory rather than the factory itself.