Post

Vibe coding is irresponsibly building software through dice rolls, not caring what code is produced What about when engineers at the top of their game use AI tools responsibly to accelerate their work? I propose "vibe engineering"! simonwillison.net/2025/Oct/7/v...

simonwillison.netVibe engineeringI feel like vibe coding is pretty well established now as covering the fast, loose and irresponsible way of building software with AI—entirely prompt-driven, and with no attention paid to …

38 reposts286 likes

this is just "good engineering" we didnt rename software development after searchable man pages came out, or google, or stackoverflow. they just became another tool in everybody's toolbox. learn to not just use that shiny new micrometer as a deadblow hammer and that's fine with me

I like where your head is at. I've been thinking we need a new name. I don't think it should have the word "vibe" in it at all. I think that was a huge mistake Karpathy inadvertently saddled us with. It's just AI-assisted development.

I agree that "vibes" has negative connotations and is a bit (as the kids would say) cringe... but I've been trying to push "AI-assisted programming" for a couple of years now with zero traction at all

At this point it's also more than just having AI help write code - it's the whole software engineering process from end-to-end, spanning research and prototyping and implementation and testing and review and documentation

AI-assisted engineering is fine too. For the record, I don't think describing something as vibes is inherently bad. In this context, it serves to undermine the serious human accountability that comes with shipping software. It's just a mismatch in expectations.

One issue is the companies / their marketers know the easy money is in the vibey sugar rush and the tools in my experience aren't being aimed towards the careful, plodding mindset of a senior engineer. The most successful users like Simon seem to to be really in the guts building their own toolsets.

Aren't chances high that the name for this will end up being "software engineering"? We seem to be on a very fast ramp to a world where writing software means "writing software with AI". Not to say that it's not a useful question, just wondering if the answer will end up being ephemeral.

Please, no. I’m trying to convince myself that I really should experiment with coding assistants now that I’m retired and want to convert my 30 years of OSS dev experience to a 2d career. But your post … it will take me until the new year to unsee that phrase.

I understand your point, but vibe engineering sounds worse! It sounds like you are, instead of just letting an LLM write all the code for you, you're letting it design the architecture as well. "Vibe" is a linguistic burnt bridge, we need to move on from it.

It feels like it’s quite broad though - some people use AI for autocompletion, others for pair-programming, and some with agents which pause at intervals for human-in-the-loop input. A vibe-o-meter if you will would be a good way to show how much input AI is having in the process.

I call it "coding". Nobody has ever cared what IDE I use, what documentation, which syntax autocompleter. I don't see why they should suddenly start to care about my tools when they're LLMs.

Vibe coding is different because it's the "dictated but not read" of coding. Yes, I was around when the LLM was writing the code, and I vaguely instructed it on what to write, but I make no assurances on the quality of the output.

We need to acknowledge that working effectively with AI programming tools is HARD - they're unintuitive, full of traps and can churn out huge volumes of bad code if you let them But they can also greatly amplify your existing programming expertise if you know how to wield them

It turns out techniques used by top software engineering teams help accelerate coding agents as well: Version control, documentation, careful planning, automated tests, linters, strong code review culture, really thorough QA Sophisticated processes for professional engineers

Is the term "vibe engineering" kind of stupid, leaning into the gatekeeping distinction between "coders" and "real software engineers" It absolutely is. That's why I think it might stick!

Part of the "stickiness" of terms is how much people like to debate whether they're good terms in the first place. People will use it more if it's controversial (probably)

To be fair. Vibe coding itself is a bad and stupid term. Also, absolutely, the more you know about software design, the more effective Vibe coding is going to be for you.

I think there ia still a lot to gain even with the current models by improving guradrails in the agentic coding tools. E.g automatic llm based reviews and validators etc. Now the tooling does not have critical thinking, they are just blasting code.

By reviews i mean review step that runs after every change. E.g to validate it does what is intended, does not duplicate etc etc. Also more selective context usage could improve them a lot.

Oh and more selective model usage too: now it is hard to grasp what model and how much thinking to use which plummets the iteration speed. I wish someone would figure out what are the tasks that can be outsourced to the fastest model without much loss in performance.

Isn't it software engineering? Feels like anything with 'vibe' in the title is immediately written off at this point. If we're doing our jobs properly it's reviewed to the same standard any code we create is.

Here in Alberta I brought that exact question to the engineering regulation body. They dodged the question, saying it was up to each member to educate themselves. This is a ticking time bomb where physical infrastructure could fall apart due to AI telling the user their shit idea is really good.

Vibecoding is the ability to create software that would’ve been too expensive to create in the past. It opens up a new part of the demand curve for custom software. It’s a mistake to think that it replaces engineering.

Right - vibe coding is its own thing, great for prototyping and to help non-programmers start exploring what code can do for them But there's also a separate new thing, which is when experienced engineers use sophisticated AI-driven techniques to dramatically accelerate their own work

I’m currently exploring the idea that with the right stack, you can empower vibe coders to work safely and create low maintenance useful tools. This means a constrained environment not just throw everything in a container and hope for the best.

I'm a huge fan of Claude Artifacts (and ChatGPT's clone of that which they call "Canvas") for that - it's very hard to shoot yourself in the foot with those Problem is they don't have persistence, which limits both the damage but also the utility you can create with them!

Vibe coding seems like a deceitful marketing term. I suspect the reason it’s so catchy is because it evokes a new way of working, but it’s inaccurate. Maybe the reality (AI-assisted engineering) just isn’t as catchy of an idea.