Live data from Hacker News

Vibe engineering

simonwillison.net

371–380 of 759 posts

Re: Vibe engineering

#371

I don't get the obsession some tech people have to push the idea that this stuff accelerate your coding, increase your productivity. It's all about fast and faster output. In my experience LLMs have mostly produced gibberish oververbose code, surely faster than me, but my lower speed usually produce better code. I don't like this present state of things where we need to chat faster to quickly get out results and go f…

I'll attempt to provide a reasonable argument for why speed of delivery is the most important thing in software development. I'll concede that I don't know if the below is true, and haven't conducted formal experiments, and have no real-world data to back up the claims, nor even define all the terms in the argument beyond generally accepted terminology. The premise of the argument therefore may be incorrect. Trivial…

>> Your slower to produce, higher quality code puts a boundary on the duration of a single feedback loop iteration. The code you produce can perfectly solve the problem as you understand it within an iteration, but cannot guarantee that your understanding of the problem is not wrong. In that sense, many lower quality iterations produces better software quality as the number of iterations approaches infinity.

I'll reply just to that as it being the tldr. First of all tech debt is a thing and it's the thing that accumulates mostly thanks to fast feedback iterations. And in my experience the better the comunication, to get the implementation right, and the better the implementation and it happens that you can have solid features that you'll unlikely ever touch again, user base habit is also a thing, continuing on interating on something a user knows how to use and changing it is a bad thing. I'd also argue it's bad product/project management. But my whole original argument was why we'd need to have a greater speed in the first place, better tooling doesn't necessarily means faster output, productivity as well isn't measured as just faster output. Let me make a concrete example, if you ask an LLM X to produce a UI with some features, most of them will default to using React, why? Why can't we question the current state of web instead of continue to pile up abstractions over abstractions? Even if I ask the LLM to create a vanilla web app with HTML, why can't we have better tooling for sharing apps over the internet? The web is stagnant and instead of fixing it we're building castles over castles over it

Re: Vibe engineering

#372
post #14

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…

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.

Speak for yourself, I'm paid to use ReactdotJayEss not science and math.

Re: Vibe engineering

#374
I don't think the issue is with the "code" part, but more with the "vibe" part. The "vibe" part indicates that's more of a "let's just see what happens" kind of approach, which I don't think is true for people using AI generated coding in their professional coding jobs, who very much know what they want to get out of AI coding tools, how to ask for it, and how to assess the quality of the outcome.

Maybe something like "intent-driven development" or "AI-paired software development" might fit better?

Re: Vibe engineering

#375
Willison has an impressive record for coining terms. But feel like he may have missed it here. In the context, 'engineering' doesn't feel that different to 'coding'. The sloppy sounding part is 'vibe' and that's not been removed.

Re: Vibe engineering

#376
I really don't think we're doing the tools or the industry any favors/justice by prefixing new terms with `vibe`.

Looking at vibe coding: it suggests you're coding but you only vaguely know what's going on, so the work is the same (coding) but the outcome may or may not be what you want

Why dont we flip it around? We want a term that suggests that a fixed amount of work (coding) to be more efficient/leveraged.

So why dont we call it something like hypercoding, dense engineering, autocode, ...

Re: Vibe engineering

#377
post #302
post #279

Earlier quoted context omitted.

Have you tried SolveIt (method, tool) from Jeremy Howard yet? I was in the first batch last year where they introduced it and going to do the second one too. It´s a very different kind of beast to what is currently being discussed.

> going to do the second one too. I missed the first one, when will the second one be?

"Signups are open [1], and will remain so until October 20th."

Recently on HN [2].

[1]: https://solve.it.com/

[2]: https://news.ycombinator.com/item?id=45455719

Re: Vibe engineering

#378

I don't think the issue is with the "code" part, but more with the "vibe" part. The "vibe" part indicates that's more of a "let's just see what happens" kind of approach, which I don't think is true for people using AI generated coding in their professional coding jobs, who very much know what they want to get out of AI coding tools, how to ask for it, and how to assess the quality of the outcome. Maybe something lik…

100% agree. I really think it's time we move on from vibecoding, the tools have evolved and we should have a term that attaches more quality to the function

Re: Vibe engineering

#379
Is "vibe engineering" a correct term for this? It's not vibe based when you scaffold constraints around the agent: automated testing, planning in advance, comprehensive documentation, automated formatting and linting, and manual QA.

Don't get me wrong, I started vibe coding after reading Karpathy's post. I got the memo - don't review every line of code, don't stop it when it stumbles, let it recover on its own, trust the process.

But after some experience I realised I need to Constrain the model, it is like a karting track, those tires put around it keep the carts inside and safe. It's our job to set the constraints. So maybe it's "constrained agent work" not "vibe coding".

I go as far as saying the constraint harness around the agent is the new code, we can remove the code and regen it from the constraint harness and docs. What matters now is to build tests and constraints around AI work.

Re: Vibe engineering

#380

I just feel so discouraged reading this somehow. I used to have this hard-to-get, in-demand skill that paid lots of money and felt like even though programming languages, libraries and web frameworks were always evolving I could always keep up because I'm smart. But now with these people like Simon Willison writing about the new way of coding with these agents and multiple streams of work going on at a time and it so…

I just wish AI made compilers smarter in a provably correct way instead of a lame attempt at making programmers smarter.

I want tools that are smarter, but still 100% correct at what they do.

Any tools/languages that address this gap?

Post reply on HN