The Chastised Vibe Coder

My friend thought I was embarassing myself. Maybe I was.
I told a friend of mine that I was having fun vibe coding.
This friend works at one of those extraordinary tech companies that hires the best away from the best, has battlements of time-tested, beautifully-wrought code crafted over decades, in a framework so sturdy-yet-nimble that they can deploy hundreds of features and updates and bug fixes a day with cool confidence. And they do.
And I told him I was vibe coding.
He’s a friend. So he spoke carefully.
He spoke to me the way I did when a close relative told me she wanted to quit her regular job and become a faith healer. Non-judgmentally…while straining inside to lion-tame two dozen profanity-laced judgments.
Anyone else experience this?
I honestly hadn’t realized the contempt with which the industry (my industry!) views vibe coding. But it made sense immediately. Carefully factored code that is internally consistent, applies best practices, neatly dovetails security, maintainability, testability, object orientation, service buses, data serialization, instrumentation, with excellent UI/UX and proper attention to accessibility and internationalization, doesn’t happen by accident.
It doesn’t happen by robot.
And it sure ain’t going to happen by some vibe code flim-flam with the cuddly-wuddly name “Lovable” under MY roof, young man.
And yeah. I wouldn’t craft an enterprise supply-chain management system this way. I wouldn’t make nurse-facing call center software this way.
But I would make a game this way. I would make a personal tool this way. I would offer to help my son’s fraternity manage a minor bookkeeping task this way.
Because this is an inflection point. Didn’t the rising tide of gaming–with its demanding graphics and ever more efficient and versatile engines–raise all boats for the computing industry? We all remember what Nvidia started out doing, right?
The fact that I can create that tool for my son’s fraternity using literally only my voice, means something. For software at that rung of the Respectability Ladder (i.e., a few dozen users, trivial security needs, nearly no moving parts for the Admin to admin), I think it’s ludicrous to do it any other way. It would be wrong to do it the right way.
“Well, yah,” a critic would say, “that’s practically a tautology: Software that’s trivial is trivial. So who cares how you make it? If it doesn’t need to do anything real, who cares?”
But it can do something real. Value doesn’t arrive on a heavenly sunbeam as you write the millionth line of code. If it serves its purpose, within the context intended, then…well done! It’s easy to find lists of vibe code projects that created real world value, even meaningful income streams, with only hours of effort.
“But what if it works, and then you need to expand on it by hand? You don’t even know how your own code works!”
Yeah…just like every other time I inherited code from another coder. Quickly grasping someone else’s code is part of the job.
And heck, you can instruct the AI how to structure the code. Doing it in React? Name the services and components and packages and code structure you prefer. Doing it in .NET? Tell it to use Entity Framework or ADO.NET or some other database integration technique. AWS? Tell it to use API Gateway, or Lambda Functions, or EC2 or Docker. Heck, hand it your own code and say, “Start from here.” Don’t fear some notional learning curve when you can bend the arc to your liking.
But all my protestations aside, vibe coding is not going to topple the industry this month. True complexity cannot and should not be answered with “vibes.” For compliance, security, and a hundred other reasons in enterprise coding, my friend is right to be alarmed if I was radiating some enthusiastic naivete. Vibe coding is still wobbling on that first rung of respectability. But it is solving problems and creating value and satisfying users already. And it will climb to that second rung, and the third.
And given the industry’s overall heady enthusiasm for AI, why would it stop? And given the benefits to be had rung by rung, why should we?