Live data from Hacker News

Vibe engineering

simonwillison.net

611–620 of 759 posts

Re: Vibe engineering

#611

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…

> 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. When they eventually opened up and became just as shitty as MySpace had been, they were big enough to simply acquire better products that might have been competitors, and network effects locked them in for probably decades until their users die off and don't get replaced by younger people who never used Facebook.

I don't really see it as an example of what you're saying so much as an example of success as a product having to do with far more than explicit product features. You can see a similar dynamic in other natural monopoly markets. The NBA didn't necessarily do anything particularly right product wise, for instance. They just got the best players because basketball was historically more popular in the US than other countries, and the ABA made some stupid decisions that let the NBA win out in the US.

Hell, the US itself didn't do a whole lot "right" aside from not being in Europe when Europe decided to destroy itself, being better-positioned than other potential competitors like Canada, Mexico, and Australia simply because North America is best positioned to trade with both Europe and Asia and the US is more temperate than Canada or Mexico. But we sure like to tell ourselves stories about everything we did right.

Re: Vibe engineering

#612
post #435

Earlier quoted context omitted.

The problem with this is that software engineering is a very unorganized and fashion/emotion driven domain. We don't have reliable productivity numbers for basically... anything. I that I'm more productive with statically typed languages but I haven't seen large scale, reliable studies. Same with unit tests, integration tests, etc. And then there are all the types of software engineering: web frontend, web API, mobil…

Yeah I agree. A controlled experiment done with a representative sample would be lovely. In the long-run it comes down to the financial impact that occurs incrementally because of LLMs. In the short-run, from what I see, firms are trying to play-up the operational efficiency gains they have achieved. Which then signals promise to investors in the stock market, for which, investors then translate this promise into exp…

> In the short-run, from what I see, firms are trying to play-up the operational efficiency gains they have achieved.

The thing is all of this is getting priced in, and will be table stakes for any business, so I don't see it as a big factor in future success.

As I've said here, LinkedIn, and one a few other places, the businesses that will succeed with AI will be those who can use it to add/create value. They will outcompete and out-succeed businesses that can't move beyond cost cutting with AI[0].

[0] Which might not last forever anyway. Granted there are a decent number of players in the market, thankfully, but this wouldn't be the first time tech companies had hooked large numbers of individuals and businesses on a service and then jacked up the prices once they'd captured enough of the market. It's still very much in the SV and PE playbook. SolarWinds is a recent example of the latter.

Re: Vibe engineering

#613

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…

> why do we need all these unit tests in the first place?

The same reason we've always needed them:

1: They prevent regressions. (IE, bugs in features that were shipped and already working.)

2: They are very easy to run at the push of a button in your IDE. (But in this context the LLM runs them.)

3: They run in CI. This is an important line of defense in making sure a pull request doesn't introduce a bug.

Now, depending on what you're writing, you might not need unit tests! Perhaps you're trying to get a minimum viable product out the door? Perhaps you're trying to demo a feature to see if it's worth building? Perhaps you're writing a 1-off tool that you'll run a few times and throw away?

But, understand that if you're writing an industrial-strength program, your unit tests help you ship bug-free software. They allow you to do some rather major refactors, sometimes touching areas of the codebase that you only lightly understand, without needing to manually test everything.

(And, to keep it in context,) your LLM will also have the same benefits from this tired-and-true process.

Re: Vibe engineering

#614
post #582

Earlier quoted context omitted.

Yes they are. Guide dogs, hunting dogs, sheep dogs. The comparison to LLMs is genuinely useful here, because dogs are unreliable tools that you have to work with over a period of time to figure out. I've used this argument for real in the past with people who complain that it's unethical to set sightless people up with vision LLM tools because those tools are unreliable and make mistakes. My counter is that a) so are…

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.

Re: Vibe engineering

#615
post #285

Earlier quoted context omitted.

For stuff that I’m good at? Not even 10%. For stuff that I’m bad at? Probably more than 1000%. I’ve used it to make a web app, write some shader code, and set up some rtc streaming from unreal engine to the browser. I doubt I would have done them at all otherwise tbh. I just don’t have the energy and interest to conclude that those particular ventures were good uses of my time.

Yeah, its like a GPS navigation system. Useless and annoying in home turf. Invaluable in unfamiliar territory.

Maybe it that's an apt analogy in more ways than one, given the recent research out of MIT on AI's impact on the brain, and previous findings about GPS use deteriorating navigation skills:

> The narrative synthesis presented negative associations between GPS use and performance in environmental knowledge and self-reported sense of direction measures and a positive association with wayfinding. When considering quantitative data, results revealed a negative effect of GPS use on environmental knowledge (r = −.18 [95% CI: −.28, −.08]) and sense of direction (r = −.25 [95% CI: −.39, −.12]) and a positive yet not significant effect on wayfinding (r = .07 [95% CI: −.28, .41]).

https://www.sciencedirect.com/science/article/pii/S027249442...

Keeping the analogy going: I'm worried we will soon have a world of developers who need GPS to drive literally anywhere.

Re: Vibe engineering

#616
post #593
post #591

Earlier quoted context omitted.

> effective management requires that you're able to trust that the person tells you when they've hit a snag or anything else you may need to know Nope, effective management is on YOU, not them. If everyone you’re managing is completely transparent and immediately tells you stuff, you’re playing in easy mode

> If everyone you’re managing is completely transparent and immediately tells you stuff, you’re playing in easy mode So much this. There are many managers who are effective at managing people who do not need management.

The vast majority of managers, much like most engineers, only has to deal with “maintenance mode” throughout most of their career. Particularly common in people whose experience has been in large corporations - you simply don’t realize how much was built for you and “works” (even if badly)

Re: Vibe engineering

#617
post #590

Earlier quoted context omitted.

Everything is getting industrialized. We buy most products made in China (tv,laptop, mobile phone etc), furniture is mostly cheap IKEA furniture. Many craftsmen lost their profession to industrialized automation. If we don´t care our furniture is subpar, our products are cheap plastic china products, why do we expect anybody to care about software craftsmanship?

Because the cost of faults is much higher than getting a new bookshelf from IKEA. When talking about craftsmanship I’m not talking about artisanal, hand crafted source code that is aesthetically pleasing. Nobody but programmers care. I’m talking about CVEs that allow RCE on your phone so that authoritarian governments can exfiltrate your contact lists and arrest all of the people they suspect of participating in prot…

I don´t see why industrialized software development with AI Agents could not be better at quality. Medical equipment or airplane safety requirements validations are also done in an industrialized manner. We don't really care if engineers working on these products like what they are doing or they feel like a craftsman.

Re: Vibe engineering

#618

Around the time GPT-4 was released in early 2023, a similar issue arose with another profession: translation. It was at that point that machine translation between languages like English and Japanese (the language pair I have worked with) started to approach human level for the first time. I took part in a lot of discussions then with other professional translators, and the reaction of many was similar to that of som…

This is a really great comparison to draw. This actually made me think that this feeling of going from mastering a craft to working on large scale systems is probably how someone who was passionate about cars felt when they went from building cars one by one, knowing how the whole machine works to then having to take a job on an assembly line.

Fortunately I think anything pertaining to vibe coding/engineering/analytics is still more enjoyable and less grim than working on an assembly line, but the human feelings remain nonetheless.

Re: Vibe engineering

#619

This matches our experience developing with agents. In particular, as we wanted to use multiple agents in the background to do tasks, we had to really invest in different areas so they would not go in wild directions or have to ask continually for feedback, defeating the purpose of working in the background. First, we needed to provide relevant context on how to do the task (some of it is "generic" like Svelte docume…

Thanks for sharing! The problem with every single tool in the category that I've come across (e.g. Conductor, Sculptor) is that they assume a single repository. Very rarely in my career working on enterprise software have I been in a situation where all my work was constrained to a single repo. Usually a story or feature spans several repos (whether split between frontend/backend, or a repo-per-service). As an engine…

Since Sculptor allows you to use custom docker containers (devcontainers), you can check out the other projects in there.

Then your primary project (from Sculptor's perspective) is simply whatever contains the devcontainer / dockerfile that you want it to use (to pull in all of those repos)

It's still a little awkward though -- if you do this, be sure to set a custom system prompt explaining this setup to the underlying coding agent!

(I'm a founder of Imbue, the company behind Sculptor: https://imbue.com/sculptor/ )

Re: Vibe engineering

#620
post #173

Earlier quoted context omitted.

Keep your head up, the gravy train is not gonna run forever, and they will need serious engineers to untangle the piles of bullshit creates in these past few years. But also yes, look into moving into a different field. Professional software engineering is gonna be infected with AI bullshit for a long while. Move into a field where hand-crafted code can make a difference, but not where you're paid for the line commit…

I don't really agree. The writing is on the wall, if not now then in 2 years or 4 years. I arrive at this view not so much based on the capabilities of the tools right now, but based on the property of software being verifiable, which like mathematics, makes it amenable to synthetic data pipelines, with only relatively small remaining details needing to be worked out (such as how to endow architectural taste). This i…

While afraid that we developers will eventually be automated away — as I have bills to pay —, I only need to ask the JetBrains AI assistant for help to understand why that won't happen in my ‘career-span’.

It's not a diss on JetBrains, their assistant is good enough that I've paid for it for a few months; but ask of it anything a tad more complex and it becomes a code review for a PR that you begin to question in its entirety. I'm not familiar with CSS Grid, as I've stopped doing CSS when flex was becoming popular, but I have to say none of the models managed what I wanted. They kept proposing solutions with an arrogant confidence that this must work. When I pointed out this didn't work, they'd look at the codebase and find something else that was the problem. When I asked for help with a script for an Alpine box, it was very assertive that systemd-based solutions should work. How can you get that wrong?

I imagine the code laundering will eventually get far enough that you can copy-paste someone else's project fully baked, and then the LLM will truly shine. But for building something piece by piece, I haven't gotten good results yet. The Assistant so far has been most useful for writing unit tests, HTML, or getting a decent web search within the IDE.

I wonder if paying for Kagi wouldn't make for better search, and then I'd find some tool that writes unit tests based on your code. It really does feel like some people are being very generous about how magical these things are, because I'm not getting the magic at all.

Post reply on HN