Live data from Hacker News

Vibe engineering

simonwillison.net

741–750 of 759 posts

Re: Vibe engineering

#741

Earlier quoted context omitted.

> that is the kind of mentality that pushed subpar products on the web for so many years Famously, some of those subpar products are now household names who were able to stake out their place in the market because of their ability to move quickly and iterate. Had they prioritized long-maintainable code quality rather than user journey, it's possible they wouldn't be where they are today. "Move fast and break things"…

Earlier than that, Facebook became ascendent because of quality. It was better than MySpace, the only real competitor at the time. The issue here is Facebook is not primarily a software product. It's a community, and the community was better than MySpace because it was restricted to pre-existing networks rather than taking any comer. I don't think Mark did that on purpose as a calculated decision. He just got lucky.…

Quality of product - Not quality of coding.

Yes, both impact each other, and if facebook was just shoddily coupled together it probably wouldn't be a great product, but so many engineers get into this mindset of needing finely tuned clean code vs a working product.

When people were switching, how many decided to use facebook because the coding style of the backend was really clean and had good isomorphism?

There's a balance with this, but so much of it's success was being at the right place at the right time, and if you spend a massive amunt of time not building product and just building good code, you're going to hit a failure.

Re: Vibe engineering

#742
post #33
post #4

Earlier quoted context omitted.

The AI adds a ton. It really is like having a whole team of extra coders available, all of which can type faster than you. Getting good results out of that team is hard , because the bottleneck is how quickly you can review their workflow and point them in new directions. Understanding techniques like TDD, CI, linting, specification writing, research spikes etc turns out to be key to unlocking that potential. That's…

I’d say what you’re doing is architecting, like the old term for “software architect”. Those are professional who know how to design a system from a high level and have the experience to judge a good implementation of it but they themselves do not write the code. Likewise real world architects have the skills to design a building but do not care or know how to build it, relying on engineers for that. I think it’s imp…

It might make you Andy Warhol, though.

Re: Vibe engineering

#743
post #614

Earlier quoted context omitted.

Comparing dogs, things that experience sentience, to software feels deeply dystopian and antihuman.

I'm fine with it. I love dogs, and I find suggestions that LLMs may achieve sentience or become conscious either laughable or abhorrent, depending on how serious the person is who's making them. It's still OK to use dogs as an analogy. In this case the analogy is to unreliable tools, and dogs are unreliable tools. I don't find "stochastic parrot" offensive as an analogy, even though it's got parrots in it.

It feels offensive because it's equating sentient life with being a tool used to mostly benefit capitalists. That feels extremely dystopian and somewhat antithetical of what it means to be a human, or at least I hope most humans don't feel their purpose in life is to become a good "widget" on an assembly line.

Re: Vibe engineering

#744
post #614

Earlier quoted context omitted.

I'm fine with it. I love dogs, and I find suggestions that LLMs may achieve sentience or become conscious either laughable or abhorrent, depending on how serious the person is who's making them. It's still OK to use dogs as an analogy. In this case the analogy is to unreliable tools, and dogs are unreliable tools. I don't find "stochastic parrot" offensive as an analogy, even though it's got parrots in it.

It feels offensive because it's equating sentient life with being a tool used to mostly benefit capitalists. That feels extremely dystopian and somewhat antithetical of what it means to be a human, or at least I hope most humans don't feel their purpose in life is to become a good "widget" on an assembly line.

Do you find the "stochastic parrot" analogy offensive in the same way as the "unreliable tools, like dogs" analogy?

If not, why not?

Is it because the parrot analogy is directly critical of LLMs, while the dog one is more of an excuse for their failings?

Re: Vibe engineering

#745

Earlier quoted context omitted.

I’ll be that voice I guess - I have fun “vibe coding”. I’m a professional software engineer in Silicon Valley, and I’m fortunate to have been able to work on household-name consumer products across my career. I definitely know how to do “real” professional work “at scale” or whatever. Point is, I can do real work and understand things on my own, and I can generally review code and guide architecture and all that jazz…

As a thought experiment, do you think it would be just as fun if you were given access to an infinite database of apps, and you were able to search through the database for an existing app that suit your needs, and then it gave it to you? Or would it no longer be fun, because it no longer feels like creating?

I'll repeat something I said to a sibling comment. I guess my original wasn't particularly clear.

> I think there is joy in the act of turning your ideas into something real - creation - not just having something real. Shopping is not building.

Re: Vibe engineering

#746

Earlier quoted context omitted.

I understand where you're coming from (and I don't take offense), but based on your reply, I don't really feel like my views came across. When I was a student, I took classes on chip and circuit design. One class, the professor had us work on all these complex circuits to do things like flash lights and produce various signals with analog circuits. The next lesson, he had us replace all that complex work with a micro…

For a lot of folks, the derivation of joy is not as scale-free as seems necessary to move up the hierarchy in this way. The jump in abstraction kills some joy by removing the tangible process. The tactile enjoyment someone gets from knitting is not there when operating a loom, much less when managing someone else who operates the loom. The change in agency also kills the joy for me. I thrive on abstraction in the lan…

There is nothing wrong with finding joy however one finds joy, and that can vary from person to person. Someone may find joy from knitting by hand, but maybe someone else finds joy from experimenting with pattern and material, and a loom lets them focus on the parts that interest them.

I'm glad you found what interests you.

Re: Vibe engineering

#747

Earlier quoted context omitted.

I don’t know what you’re trying to imply here but it sounds very strongly like it is put in bad faith.

I’m critiquing the term “vibe engineering ” by highlighting that because of the random, chaotic, black box nature of LLMs it is very difficult to distinguish valid techniques from superstitions. Thus what you are doing is closer to pigeons bobbing their heads to attempt to influence the random reward machine than it is to engineering. For example saying things like “It is critical that you don’t delete working code”…

See this is where I think I fundamentally disagree. It’s more like being a scientist who takes 10 rats and tries to train them to sniff out TB, and once they find one that can do it reliably, they go and do real work with it. Just because the rat is the one doing the sniffing doesn’t mean the scientists aren’t real scientists. And just because we work with a tool that isn’t perfectly reliable doesn’t make us any less engineers as long as we manage and take ownership of the output as we alter and massage it from the machine. Imagine back in the day calling devs that didn’t write in assembly “alchemists” because they didn’t fully understand how a compiler works and just trusted it instead. As long as they’re reading the code, testing the logic, and working towards an outcome they take ownership of, they’re engineers, and so are people who use LLM’s. It’s dangerously close to elitism gatekeeping to say otherwise.

Also I’ve been a software engineer for 15 years so I think I don’t “have no hope of becoming a software engineer”, no personal attacks please.

Re: Vibe engineering

#748

Earlier quoted context omitted.

Ahhh you mean cargo culting!

Yeah it’s definitely cargo culting!

Except it’s definitely not, a cargo cult is necessarily ending up with a result that doesn’t function. Whether you dislike it or not this is a real technique that produces real functioning results.

Re: Vibe engineering

#749
post #726

I've been successfully "vibe engineering" with Claude Code for a week now on a side quest at my job. I want the result to be of high enough quality to maybe survive in our codebase long-term, but I don't want to write it myself. So I've added unit tests, e2e tests, formatting checks to help Claude to self-correct as much as possible. And I make him do a TON of self-review, after each feature I say something like: > Y…

Do you really believe that if you miss the "Read Clean Code" or "Read Effective Typescript" part, then the output would be significantly different? No offense, but I feel this kind of talking is ridiculous. If it is a better practice, then it should be done without explicitly telling so. You do not tell them "Do not get things wrong," right? If it is a matter of choice over design patterns, for example, use functiona…

It works for me and I like the results I'm getting. The results often include callbacks to rules of thumb from the mentioned books - which I find easier to agree with or dismiss when I see the suggestions it made. In a way, it's a framework for me to "communicate" with the LLMs.

I think you should try finding what works for you, maybe even give my ridiculous prompt a go.

Re: Vibe engineering

#750
> It’s a lot easier than working with actual people because you don’t have to worry about offending or discouraging them

But you have to worry much more about confusing LLMs by introducing contradictory ideas or talking about too many things at once.

They will not call you out and they will not recover.

You don’t need to reboot your coworkers.

Post reply on HN