Vibe Coding Is Bad News For Good Ideas
There’s something about reckless “AI” use, and vibe coding in particular, that’s bothered me for reasons I’ve never quite been able to put my finger on until now. Indulge me as I rant about our total disregard for constraints and the good ideas that come from them.
I’ve noticed that the creator of Claude Code, Boris Cherny, is mentioned relentlessly on social media by users with feedback. Cherny has a developer relations role to play, yes, but he’s also actively developing a product. And, boy, do folks have opinions on that product!
I find it cringe that any ol’ terminal jockey can come in from the cold and pitch him their very particular edge case. Cherny likely disagrees with me. Not only does he respond and engage with the feedback he’s also automated the triage—and fixes—for anything posted on Threads, Slack, or Github. OK, then.
I don’t think this is sound engineering or product development. Vibe coders mistake productivity for product. I worry about “AI” boosters bragging about the former instead of focusing on the latter Lately it feels like it’s more about the quantity of ideas done, and not the quality of ideas considered.
Should an implementation be this fast and easy? Should execution be this deceptively cheap? (Psst, it’s subsidized.) It’s not just that we puny humans suffer “brain fry” and can’t keep up cognitively. Throughout the creative process, eliminating the role of constraints and limitations is a tragic misstep.
Constraints and creativity go hand in hand. Leonardo da Vinci proclaimed, “Art lives from constraints and dies from freedom.” Orson Welles was once heard to say, “The enemy of art is the absence of limitations.” Serial entrepreneur Biz Stone wrote, “Constraint inspires creativity.”
Green Eggs and Ham exists because Seuss’ editor bet him $50 that he couldn’t write an engaging children’s book using only 50 distinct words. It’s now one of the most famous children’s books in the English-speaking world.
Of course, we’re talking about tech that’s predicated on consuming everything and then generating anything we ask for. Shame on me for being so naive, eh? “AI” isn’t remotely interested in constraints. “AI” doesn’t encourage restraint in its use.
When I see vibe coders running wild and loving it, I feel like Dr. Ian Malcolm in Jurassic Park, pounding on the table and whispering, “Your scientists were so preoccupied with whether or not they could that they didn’t stop to think if they should!”
For one thing, not every idea is worth pursuing. The vast majority of ideas will be tepid, dumb, dangerous, or hardly worth the effort in a hundred little ways. What does it mean to never say no, fire up a dozen simultaneous agents while you head off to the gym, and build a mediocre app that does everything?
If the effort is zero and you implement every single idea then I’d argue you don’t actually have any meaningful ideas. You have no vision and what you’re building isn’t refined nor intentional. What are you making? Do you know why?
For another thing, people are way too excited about optimizing for a bottleneck that never existed. Our coding capacity was never a problem. I’ve previously argued that a developer’s job is not to write code but this isn’t what I meant! We have many duties before and after the part where we’re typing, and none of that’s solved with vibe coded slop.
The irony is that when we trivialize the technical effort then the entire project is at existential risk. Vibe coding makes things far worse, and we don’t yet know the impact of relying on it as we have been. The developers on your team serve as an intentional bulkhead against bad ideas, and you don’t have a viable business without that. Christopher Fitkin muses:
When building was expensive, that friction acted as a filter (saving companies tons). Now more mediocre ideas get built… and costs tick up, up, up.
I’ve read some effusive posts about vibe coding from former colleagues where the thinly veiled insinuation is, “Just LOOK at everything I can do now that I don’t have developers getting in my way!”
My god, is that what you thought of me and my teams all this time…? We’re indeed a constraint. But do you see us as impediments rather than fellow problem solvers? On behalf of every developer I’ve every worked with, fuck that. Do you think we want to be Debbie Downers when we start chewing on your ask and a million questions and details rise to the surface? Have you ever thought that perhaps it’s the sign of a truly engaged developer who gives a shit? That maybe constraints matter?
I’m genuinely saddened to think we’re no longer able to entertain even a tiny bit of restraint and collective self-discipline. It’s a shame that we now see constraints as obstacles that have plagued us instead of conditions that shape better solutions.
I consider software engineering to be an act of curation—why not ship one awesome thing rather than 10 tired clichés smothered in defects, security holes, and accessibility problems? I think aviator slash writer Antoine de Saint-Exupéry said it best:
Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away.
We’re far from perfection; we’re in the midst of a mass delusion. People are software bonkers and proud of it. I’ve seen former colleagues now openly ponder if maybe traditional requirements are obsolete. Wut. You’ve heard of requirements, right? You know, also known as constraints?!?
Look, I can totally understand how vibe coding can feel empowering. It’s novel tech that seemingly bends space and time to provide you with skills and throughput you’d never have otherwise. That is indeed futuristic!
But a lot of this is brute force marketing and investor razzle dazzle, obscuring the fact that “AI” is patently bad at good ideas. We’re still going to need humans to supply those.
I’m waiting to see a truly good idea come out of vibe coding. All this limitless firepower and you’ve reinvented accounting software. Yay? Replacing the SaaS product that annoys you the most isn’t innovation. Making yet another to-do app isn’t novel. Building data dashboards doesn’t make you a renegade. Generating your own bespoke software is good for you but it’s very likely not a good idea.
It’s almost as if the lack of constraints isn’t helpful.
It’s entirely possible I’m wrong. Maybe what it means to create software is radically changing. I have serious reservations about code quality and craft, but OK. I’ll cross that bridge when I come to it. I’ll grieve and I’ll adapt.
But other things will change along the way. Right now I’m far more concerned that we’re also fundamentally redefining what it means to just, like, have an idea. This feels like a pretty big prerequisite to all other paradigm shifts that “AI” might signal. I hope we get it right. I don’t have any solutions here. Well, maybe one—I’m sure as hell not going to ask any LLMs for their ideas.
There's something about reckless “AI” use, and vibe coding in particular, that's bothered me for reasons I've never quite been able to put my finger on until now. Indulge me as I rant about our total disregard for constraints and the good ideas that come from them.
https://matthogg.fyi/vibe-coding-is-bad-news-for-good-ideas/




