I have a theory that vibe coding isn't leading to more successful products being shipped, and I wanted to expand on it here.
Product success is a combination of idea, execution, timing, luck, iteration, and persistence. All of which are enhanced or reduced by the team you have. You can increase your luck surface area by having people around you that do the right things, have the right ideas, and iterate on the right things.
Speed is not velocity
We all learned that speed is not equal to velocity. Vibe coding increases speed, but it doesn't increase velocity, the act of moving in a direction. It helps you churn out more code, but doesn't impact everything that makes a product a success.
From that list of things that contribute to product success, code generation improves maybe execution at best. It might help with iteration speed, but only if you identify the right things to iterate on. Contrary to popular belief, you can't all of a sudden do everything all at once. Even AIs have context windows for a reason. In real life, there are too many variables for you to simply assume that churning out more code at record time will help you solve iteration.
Timing matters more than you think
People are having ideas now that would have worked years ago, but are now irrelevant. Which makes sense. Even AIs are trained on data from the past. It's so simple but it makes so much sense. The products being built for now should be from the future, not the past. The great technologies and inventions including AI have always brought the future to us, not kept us in the past.
Vibe coding for things people wanted years ago but can now do with AI will produce little success. You need to do what people did before AI automated code generation: build and contribute to the future, not the past.
Persistence is underrated, and vibe coding works against it
Code churn makes it harder for people to stick to things. There's always the temptation to change even though you don't know for sure what works yet. Iteration is important, but it has to be focused iteration. You can't change your landing page 3 times in a month and expect to have any valuable insights.
Sometimes the slow nature of software change helped us in the past. It made us pause and really test ourselves with data and intention before doing the easy thing, writing code. I fear people don't have that patience anymore. They don't need to. Code can be churned out at the speed of speech now, so why slow down?
The answer is that patience and persistence pays off. Many products almost die before hitting a tipping point. Execution speed has rarely been the main reason any projects or products I've been a part of haven't succeeded, on reflection. It's usually wrong assumptions, motion in the wrong direction, bad ideas, poor timing, bad luck, or lack of focus and persistence. AI code generation doesn't help any of this.
Bad ideas now scale too
We all know the saying that ideas are a dime a dozen, right? But now with vibe coding, many ideas can be executed, including the bad ones. This is not a good thing. People that would have course corrected through natural means and stumbled onto better ideas can now get stuck working on the wrong things because AI enabled them to.
I don't have empirical evidence of this, but my gut says that people are better off fighting and struggling manually with bad ideas than having a team of agents help them execute it. AIs are yes-men. A team of real people and engineers aren't always. They will rebel, or execute so poorly that you'll realise the errors of your ways.
Focus on the things that don't change
Even the stoics say this. Code is disposable, but funny enough it being so easy to churn out is now forcing people to focus a lot on it instead of the fundamentals. (See my talk at QCon for more on this.)
What doesn't change
My big prediction: code generation through agents will help us evolve as engineers and as an industry, but will not fundamentally change what we do. Our work isn't to "write code". It's to create production-grade software that hopefully makes people's lives better. Whether that's through COBOL, writing Java/Python by hand, or orchestrating a swarm of agents, we will keep doing that for the foreseeable future.
Hero Image by Markus Spiske on Unsplash
