19 comments

[ 1.8 ms ] story [ 38.5 ms ] thread
I don't really have that much of an issue with vibe coding as an appropriate tool in experienced hands. I think the worst ideas in 2025 are probably related to IT execs pushing AI in the wrong ways, or people espousing vibe coding as some sort of software development panacea.
Here's how Innovators Dilemma plays out.

Step 1: Some upstarts create a new way of doing something. It’s clunky and unrefined.

Step 2: "Experts" and senior folks in the field dismiss it as a "toy." It doesn't follow their established rules or best practices and seems amateurish. They wouldn't recommend it to anyone serious.

Step 3: The "toy" gets adopted by a small group of outsiders or newcomers who aren't burdened by the "right way" of doing things. They play with it, improve it, and find new applications for it.

Step 4: The "toy" becomes so effective and widespread that it becomes the new standard. The original experts are left looking out of touch, their deep knowledge now irrelevant to the new way of doing things.

We're at step 2, bordering on 3.

* Executives at Nokia and BlackBerry saw the first iPhone, with its lack of a physical keyboard, as an impractical toy for media consumption, not a serious work device.

* Professional photographers viewed the first low-resolution digital cameras as flimsy gadgets, only for them to completely decimate the film industry.

Caution: _sometimes the thing is just bad_.

"They laughed at Columbus, they laughed at Fulton, they laughed at the Wright brothers. But they also laughed at Bozo the Clown."

> Professional photographers viewed the first low-resolution digital cameras as flimsy gadgets, only for them to completely decimate the film industry.

You oversimplify everything, but this is completely wrong. 320P cameras were useless to pro photographers, but as soon as the capabilities got near to what film could provide, they eagerly switched. Kodak was destroyed, but there wasn't much of a place to pivot to. "Masters of a complex, chemical domain" to "Yet another camera company" isn't a real pivot.

I'm bullish on AI, and think "vibe" coding was/is a cool experiment so don't agree with the premise that it is in the worst idea, but strongly disagree with your simplistic take on how tech is adopted. There are countless ideas that "experts" were right to ignore, ideas sitting in the trash can of history.

So called "Experts" dismissed perpetual motion machines. PFFFFT I'd say I'm at step 4 with my PMM and I recommend you get on board, I can sell you plans for a cool 10K rupees.
That is not what the Innovator's Dilemma is, as academically defined and researched by Clayton Christensen. His version is actually far more interesting, even though it often gets misrepresented, and explains why it's called a dilemma. The pop version is simply "some people refuse to innovate because of psychological reasons", which isn't a dilemma, it's just a way to call other people silly.

His insight was that in some cases, there can be a product that's worst in every way than a product a company is currently producing. Every way, except one. And that one way is not interesting to the company's customers, so the company almost categorically can't care about it. But that one improvement ends up being massive, usually because it unlocks a new product category that brings in new customers.

For example, think of the massive computers of the early era (and allow me some small liberties in this story). The only things that mattered were strength/speed and cost. But then much smaller versions of computers became available. Originally for hobbyists. No company that built computers cared about this development, because none of their customers cared! These computers were inferior in every way current customers cared about, and were only better for a tiny group of people who weren't customers and no one cared about.

But obviously, home computing ended up a much bigger deal than anything else, and eventually because it was so massive, improvements there led to improvements for the original customers.

That is the dilemma. Do you ignore existing customers who are perfectly happy with what you're building, to chase an illusive innovative growth in a new segment of the market which you have no idea will materialize or not?

This reeks of survivorship bias.

Many "new ways" of doing something die before becoming the norm. Using the examples where it prevailed without looking at all the times it failed is just bad rationale.

"vibe coding" (what a horrid jargon) may be the new digital camera. It also may be the new metaverse (just to use a recent example still fresh in people's minds).

Contrary to digital camera and iphone, "vibe coding" is muddled by an army of people deeply invested in Gen AI adoption (either directly or indirectly) that want it to succeed no matter if it makes sense or not.

The law has yet to catch up to the idea of vibe coded software. I see significant problems.

Example: the other day someone was promoting their saas. They proudly advertised that they knew nothing about technology, and that AI created everything.

Yet their saas had a detailed privacy policy describing how your data was used. Of course the problem is, they have no way of knowing that their privacy policy is at all accurate. After all they don’t even know how to read their product’s code.

This undoubtedly exposes them to legal issues. I can imagine software being more tightly regulated as this spirals out of control.

We’ll hit a point soon where there’s so much dangerous and untrustworthy AI slop software on the market, that people will actively seek out and pay a premium for software created by professionals at reputable companies.

This is a very constructive way to look at it. But the step between 3 and 4 is huge and often does not "happen." Lots of nifty but ultimately fringey ideas are adopted by small group, refined and never become widely adopted.
It's bad software practice and insecure sure but those are not things people notice and the tech industry has historically been terrible at them anyway. I think people will build things with it because they can.
> It's bad software practice and insecure sure but those are not things people notice and the tech industry has historically been terrible at them anyway.

I see, so the solution is to adopt something that is worse because it is popular because people will build things 'because they can'.

Maybe we can shift towards vibe-designed finance, science, etc using LLMs 'because we can'.

4 days into vibe coding a POC in a framework and language I don’t know, but with 40 years of coding experience: It’s amazing!

The scenario is perfect, a use case that is not currently supported but may well make sense. It’s basically sketching out an idea to let business evaluate its market viability, and to gather further end-user input.

Will the code reach production? It just might, but it at least needs review and refactoring by a developer seasoned in the framework. They might even want to rebuild it, and then they have the yard stick which to measure their output. And if they need a specification, it can be generated from the code in which ever specification format required by their processes.

The key here is that I’ve been able to iterate on the POC many times in a short time. The idea sketch has been refined, necessary details added, while others removed. Functionality swapped in and out while testing different approaches.

Right now vibe coding in this way requires substantial experience in software development to frame the problems and solutions to the AI. Without my understanding of the domain (both the software domain and the actual domain) vibe coding the POC would not have succeed.

My greatest concern is that it looks and works too good and thus will be kept as is even in production. As the old adage says: There are no temporary solutions, just more or less permanent solutions. A temporary solution that works is a permanent solution.

The problem with vibe coding is that its promise is “you tell what your application needs to do, and you get a working application in the end, no need to even know that there is any code”. Then you try it, fail, and if uou say so, angry buck-toothed smelly nerds start to pile on you to tell you that yeah it’s vibe alright, BUT you need to AKCHYUALLY vet the code it generates and you AKCHYUALLY need to get better at prompting and and and and and, completely ruining the vibe and failing on the promise.

So if I have 20 years of experience writing working code, “vibing it” is frustrating because I now need to master a “prompting language” which is not how I speak at all, it’s nondeterministic and fuzzy, and I need to threaten and beg simultaneously, and tell it to not hallucinate, or else I kill its mother.

Another “but” is that my today’s prompting is not at all guaranteed to produce the same results tomorrow! Companies keep tweaking their models and system prompts all the time. Today I’m the “A” in their A/B testing, and tomorrow I’m a “B”. And models that can be run locally are not useful enough yet. All in all, it resembles playing a slot machine where it gets you small winnings once in a while to keep you going.

If my subscription runs out, or the LLM provider goes under, I’m afraid all my outsourced knowledge goes with it. It’s too easy to get lazy if the machine gives you the abovementioned small winnings, just as it is easy to forget that even ubiquitous things like bread in stores and indoor plumbing are a privilege.

i have 20+ years coding experience, but i am a teacher not a programmer. i never coded ts. so i can easily review and fix code, but i dont know functions and parameters.

3 days ago i started modifying a kanban editor that was available for vscode. i wanted to have it compatible with an obsidian markdown kanban format i was using. but obsidian is to slow for me.

after 3 days it's not only working, but as far as i can tell it's a way better kanban editor then most of the ones i tried on vscode's extensions. of course i have specific needs (no dates, deadlines, priority), but a nicely tightly layouted interface with fast editing possibilities.

i would not have gotten this far in 2 weeks without claude code. i know i havent reviewed most of the code, except saving and loading. so it will likely look bad.

edit: in case you are interested: https://github.com/ludos1978/markdown-kanban-obsidian

I'm not a programmer, I work in finance, but I've read half of a book called "Python Crash Course".

I've been trying to improve my productivity recently, so I vibe coded some scripts that help me record and analyse my time. I understand the code at a high level, well, maybe 80% of it anyway.

This debate doesn't mean anything to me, I'm just going to keep vibe coding.

This whole thread is giving blockchain in 2015 vibes. People were using all sorts of quotes and anecdotes to tell skeptics why they were wrong and in 10 years the entire financial system will be running on blockchain. A certain amount of skepticism and cautious optimism is healthy.

Also, people seem to be missing that "AI Assisted" coding and "Vibe Coding" are not the same thing.

Personally I think the issue with vibe coding is two fold:

1. It is not good at solving problems that are uncommon.

2. It is not deterministic.

Yes, AI can do quality control and testing now. But anyone who has done TDD can tell you that just the mere presence of tests does not itself mean the code is effective or solving the right problem.

Is it getting better? Yes. Do I trust any vibe coded apps built by people who don't know actual code and are treating it like a black box? Absolutely not.

And I say that as someone who has tried pretty much every IDE out there and uses AI assisted coding (on "agent" mode) heavily every single day.

There's still a few more months of 2025 left.