158 comments

[ 4.9 ms ] story [ 113 ms ] thread
Just added this note to the end, as part of my justification for picking such an obviously stupid term for this:

> I’ve tried in the past to get terms like AI-assisted programming to stick, with approximately zero success. May as well try rubbing some vibes on it and see what happens.

Question, why is it seemingly so super important for you to coin a term for this?

Especially a term which comes across as so demeaning and devaluing to engineers (like me and yourself!)

I absolutely do not want my non-engineer friends and colleagues think I am "vibe engineering", it sounds trivial and dumbs down the discipline.

I personally believe being an engineer of some kind requires work, learning, patience, discipline, and we should be proud of being engineers. There's no way in hell I would go around and saying I'm a "vibe engineer" now. It would be like going around and saying I'm a vibe architect! Who would want to live in a skyscraper designed by a "vibe architect" ??

I don't think you should call yourself a "vibe engineer" because you use AI tooling, just like I don't think you should call yourself a "continuous integration engineer" if part of your job role occasionally involves configuring GitHub Actions.

But the act of working on GitHub Actions could be referred to as "continuous integration engineering", just like the act of figuring out how best to build software engineering processes around LLM tools could be called "vibe engineering".

Thank you for writing this, Simon. I'm using an anonymous account not tied to my main one, so if the mods want to delete it, go ahead, but I really need to rant. My company has been taking this same approach for the past two months. While the rest of the world is warning about the effects of vibe coding and AI-slop, we're fully embracing it, calling it "working smart" and "automate all things!"

It's utterly ridiculous. It feels like the PMs and higher-ups have no idea how much tech debt we're creating right now. For the past few weeks, going to work has felt like going back to school, everyone's showing off their "homework", and whoever has the coolest vibecoded instructions.md or pipeline gets promoted.

I'm slowly burning out, and I was one of the people who actually liked the technology behind all this.

It's interesting to see the differences in industry adoption. My company just recently made Copilot an official tool for use. We're in a safety-oriented industry that moves more slowly. I do use it, but mostly just to tighten up existing code or get ideas for a refactor.

Meanwhile, I have a client project where my counterpart is definitely senior to me and excitedly shares how AI is helping them solve novel problems each week!

I can totally relate, very similar situation here.

I am currently kind of an anti-AI black sheep in engineering department because I refuse to fully embrace the exponentials and give in to the vibes.

I avoid burnout by simply switching off my brain from all this noise about vibe coding - i have thought hard and long, i know the way this is being implemented is wrong, i know they will create problems for themselves down the road (they already have, the signs are already there), i will be here to dig them out when the time comes.

So far I don't see anyone shipping faster or better with AI than I can manually, so I'm good.

Thank you Simon! Too many people conflate non-engineer vibe coding with engineers using ai to make themselves much more productive. We need different terms!
Vibe engineering is what vibe coders think they do.
"Vibe coding" sounds too good. Catchy, ridiculous and still cool. It'd be hard to beat. It's a genius move from Andrej Karpathy.
Except that we're not going to be "coding" very soon. We're going to be firing off jobs that get tracked in VCS, gated through CI, then reviewed by a panel of agents with different specialties. At the end you'll have a few select sections of code that these agents flagged for human review, and thousands of lines of stuff that you don't need to worry about.
I am mildly disappointed

I was hoping that "vibe engineering" was going to be designing g bridges in the same way people think they can build apps with vibe coding

That would be alarming

My issue with this term is that it muddies the waters for people who are using LLMs to assist with types of engineering beyond just writing code.

I've used GPT to rapidly get up to speed with just about every aspect of circuit design, CAD, CNC... the list is long. Coding is often involved in most of these domains now, but if everything is assumed to be code-first, it leaves people who are doing different work with a constrained and apparently shrinking adjective namespace.

> My issue with this term is that it muddies the waters for people who are using LLMs to assist with types of engineering beyond just writing code.

I'm now imagining me dying as a vibe-engineered truck has a steering/brake failure and crashes into me sending flying through the vibe-engineered papier-mâché bridge guardrails, and feeling sweet sweet release as I plummet to my doom.

I feel using the word 'vibe' is inherently giving it a negative connotation which goes against the idea presented here.

The reality is the tools are really useful when used as tools, like a power drill vs. a screw driver.

Vibing implies backseat driving which isn't what using the tools proficiently is like. The better term would be 'assisted' or 'offloaded'.

Same thing with the term 'engineering'. That's a fairly new term that implies being engineers which we are not. We haven't studied to be engineers, nor have real engineering degrees. We've called ourselves that because we were doing much more than the original job of programmer and felt like we deserved a raise.

'LLM extended programming' is not as catchy but more relevant to what I observe people doing. It's valuable, it saves time and allows us to learn quicker, very powerful if used properly. Calling it 'vibe engineering' is a risky proposition as it may just make people's eyes roll and restrict us to a lesser understanding.

If you're paid to use science and math to create things that didn't exist before, then guess what: you're an engineer.

Just don't capitalize it in Oregon.

I’d just call it “coding” – it’ll be the default soon enough. For the old way: “hand-coding”
It will certainly be the default for cases where it's easier to read code than to write code, but this is far from universally true. AFAIK, Joel Spolsky was the first to discuss this at length 25 years ago [0], but numerous people have echoed his sentiment [1, 2, 3, ...]

One of the most underrated skills in effectively using gen-AI for coding is knowing ahead of time whether it will take longer to carefully review the code it produces, versus writing it from scratch yourself.

[0] https://www.joelonsoftware.com/2000/04/06/things-you-should-...

[1] https://mattrickard.com/its-hard-to-read-code-than-write-it

[2] https://trishagee.com/presentations/reading_code/

[3] https://idiallo.com/blog/writing-code-is-easy-reading-is-har...

[...] https://www.google.com/search?q=it%27s+harder+to+read+code+t...

As much as I dislike the ecosystem around AI and don't enjoy using them as tools: this is the answer. We don't need a word for "doing the job properly with new tools".
I feel nauseous when I read comments like this. Does no one here actually like programming?
Linus Torvalds: 'Talk is cheap. Show me the code'

Today: 'code is cheap, show me the talk'

I dunno, I feel lately like we are right at the tail end of the honeymoon era and about to enter the era where the blog topic du jour is “use LLMs, not too much, mostly on a short leash”.

Not much to base that on other than vibes, though :)

brick-and-mortar coding
Coding++

Seriously now, I think the whole industry suffers from too many buzzwords and whacky terminology.

*The job hasn't changed*. As mentioned, all those things from the past are still the most important thing (version control, being good at testing, knowing when to outsource, etc).

It's just coding (which is something that was never about typing characters, ever).

Vibe is just a bad word to describe anything that requires skill beyond "taste". A word play off of "AI assisted programming" is probably going to be the term that sticks. AIssisted? pAIr programming...
I think the definition isn’t accurate, it’s more like engineering using AI.
"Vibe coding" implies it's newbies throwing prompts and hoping some of them stick.

For the experienced lot of us, I've heard many call it "hyper engineering"

I put a lot of thought in to my prompts. I can code, definitely not as good as the AI or people here on HN; it's something I always enjoyed doing to tinker with things.

The AI agent in Cursor with Gemini (I'm semi-new to all of this) is legit.

I can try things out and see for myself and get new ideas for things. Mostly I just ask it to do things, it does it; for specific things I just highlight it in the editor and say "Do it this way instead" or "for every entry in the loop, add to variable global_var only if the string matches ./cfg/strings.json" I _KNOW_ I can code that.

But I like my little clippy.

It's just engineering, or coding or what every your current discipline is.

We didnt stop calling them Framers or Finish Carpenters when they got electric saws and nail guns.

Tooling does not change the job requirements.

Power tools actually increase productivity. LLMs create the illusion of increased productivity and output unworkable messes while atrophying your skills, ergo they decrease productivity. Oh and unlike power tools, for all intents and purposes you can't own them.
Sure it does, you wouldn’t call a photographer a painter. Really depends on the tool.
I think this is a pointless distinction tbh. Either you're getting good results from AI or you're not. If you're not, you should probably rethink your approach.

I'd offer a new term: curmudgeon coding. This pre-dates LLMs and is the act of engineers endlessly clutching pearls over new technology and its branding. It's a reflexive reaction to marketing hype mixed with a conservative by default attitude. Think hating on "NoSQL". Validity of said hate aside, it's definitely "a type" of developer who habitually engages in whinging.

I could never take anything seriously with the word "vibe" prefixed. "Engineering" is something hard, vigorous, fully dedicated, and commanding respect. It's just a stark contrast to "vibing something out of thin air"
Frankly the most accurate way I would describe what I do with AI is managed programming, or being a handler for the AI.

The only issue with "Handled Programming" is I don't like how it fits for a name.

Vibe is much too unserious to pass my check for a way of professionally doing something and it also does not reflect the level of engagement I have with the AI and code since I'm putting together specs and otherwise deeply engaging with the model to produce the output I want.

Call it autonomous engineering. Vibes are optional.
I call it … using a chatbot to code.

Don’t mind me, I’m just vibing.

Someday we will realize that using the term vibe before coding is like someone saying that today when we use GCC we are "vibe compiling" because we didn't compile the code manually.

Once tooling becomes reliable and predictable enough, and the quality of the output consistent enough, using it is not a leap. Early compilers had skeptics, and GCC still has some bugs [1]

1. https://bugs.launchpad.net/ubuntu/+source/gcc-8/+bug/2101084

A better term would be “Augmented Engineering” (AE).

You want something to inspire engineers to do their best work.

When you can expand your capabilities using the power of AI, then yeah, you can do your best work; hence augmented engineering.

But vibing? Not so much.

I guess AE could also stand for Advanced Engineering, after all the AI gives you the power to access and understand the latest in engineering knowledge, on demand, which you can then apply to your work.

I call it PEAKS: Performative Extreme Agile Kiddie Scripting
Funny I'm a professional engineer and happily call myself "vibe coding" when writing code these days, it started as tongue in cheek, but now I've embraced it.

Being good at vibe coding is just being good at coding, the best practices still apply. I don't feel we need another term for it. It'll just be how almost everyone writes code in the future. Just like using an IDE.

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.