Earlier quoted context omitted.
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.
Then it turns out that your CI gates are green because your tests are all subtly broken, the code you've been reviewing doesn't matter and the code you haven't been reviewing is what's broken in production. You learn from that and rebuild the universe, but now you're compute-limited from rebuilding your agents to deal with the underlying issue in your tooling and you have to dig yourself out of a hole you dug with a…
Vibe engineering
381–390 of 759 posts
Re: Vibe engineering
#382Earlier quoted context omitted.
My lessons so far: 1. Less fun. 2. A lot of more "review fatigue". 3. Tons of excess code I'd never put in there in the first place. 4. Frustration with agents being too optimistic which with time verges on the ludicurous ("Task #3 has been completed successfully with 98% tests failing. [:useless_emojis:]") 5. Frustration with agents routinely getting down a rabbit hole or going in circles, the effort needed to get t…
One thing I don’t get - If you spend much of your time reviewing, you’re just reading - you’re not actually doing anything - you’re passive in the activity of code production. By extension you will become worse at knowing what a good standard of code is and become worse at reviewing code. I’m not a SWE so I have no interests to protect by criticising what is going on.
It seems to me that adding noise to the process and trying to cut it out later is a self defeating proposition. Or as Deming put it, (paraphrasing) you can't QC quality into a bad process.
I can see how it seems better to "move fast and break things" but I will live and die by the opposite "move slow and fix things". There's much, much more to life than maximizing short term returns over a one dimensional naïve utilitarian take on value.
Re: Vibe engineering
#383Re: Vibe engineering
#384Around 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…
On one side translation is not very valued by most people. It is rare that people know who translated a book, for example. It is a pity but people do not read much these days.
Additionally, or maybe because of the above, translation is often paid in terms of number of lines or words, even before AI. A bit like software security, it is often sadly just a check at the end.
IMHO the only future-proof translation fields are legal (because a human can be put in prison or pay a fine) or live translation/interpretation (because a human can go in front of people, meet them at an event, etc.).
Re: Vibe engineering
#385I 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…
The more accurate phrase would be "tool" or "machine-assisted development".
We don't need new terminology to describe something that has always existed because the tools we use have (arguably) improved.
"Vibe coding" is also a misnomer. People who engage in that activity are not "coding". They're using a tool to generate software until they're satisfied with the result. That has also been possible with low-code, no-code, website builders, and other tools. The more accurate term for that would be "machine-driven development".
Re: Vibe engineering
#386Earlier quoted context omitted.
One thing I don’t get - If you spend much of your time reviewing, you’re just reading - you’re not actually doing anything - you’re passive in the activity of code production. By extension you will become worse at knowing what a good standard of code is and become worse at reviewing code. I’m not a SWE so I have no interests to protect by criticising what is going on.
Tell that to Linus Torvalds. His whole job is just doing code review, and I'd argue he's better at coding now than he ever was before.
Re: Vibe engineering
#387Is "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…
Anything with the word “vibe” in it sounds silly and unserious imho. What’s wrong with something neutral and descriptive like “LLM-assisted programming”? Not catchy enough?
Re: Vibe engineering
#388I 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…
Prompt Engineering / Directed Prompting
Architectural Steering
Spec-Driven Development
Intent-Based Coding
Critical Synthesis
Iterative Refinement
Guided Iteration
Hypothesis-Driven Coding
AI-Assisted Engineering
Cognitive Pair Programming
Dialogic Programming
Structured Prompting for Code (SPC)
Code Shepherding
AI-Assisted Engineering is probably the most descriptive. My favourite are Critical Synthesis and Code Shepherding. Both abbreviate to CS
Re: Vibe engineering
#389Earlier quoted context omitted.
Well said! Reading this I feel reminded of the early protests against industrialization and automation in other fields. Checks all the same boxes - insecurity and fear about the future, alienation towards the new tools, ... Not saying AI is similar in impact to the loom or something, it just occured to me how close this is to early Luddite texts.
The OG alienator was the Agricultural Revolution, settling and toiling repetitively in predetermined ways, unlike the more adventurous lifestyle from before with all the camping, hunting, gathering, where circumstances brought always novel challenges, you could be a man spearing a deer, instead of just killing some docile domesticated cow. Searching for pheasant eggs and being happy if you found some, instead of goin…
Re: Vibe engineering
#390Earlier quoted context omitted.
One thing I don’t get - If you spend much of your time reviewing, you’re just reading - you’re not actually doing anything - you’re passive in the activity of code production. By extension you will become worse at knowing what a good standard of code is and become worse at reviewing code. I’m not a SWE so I have no interests to protect by criticising what is going on.
Tell that to Linus Torvalds. His whole job is just doing code review, and I'd argue he's better at coding now than he ever was before.