No way. Youtube ad told me a different story the other day. Could that be a… lie? (shocked_face.jpg)
But I thought armies of teenagers were starting tech businesses?!
Vibe coding tools are very useful when you want to make a tech movie but the
hollywood
command just does not cut it.Link?
Like trying to write a book just using auto complete
The AI Fix podcast had a piece about how someone let an AI agent do the coding for them but had a disaster because he gave it access to the production database.
Very funny.
https://theaifix.show/61-replit-panics-deletes-1m-project-ai-gets-gold-at-math-olympiad/
Vibe coding is useful for super basic bash scripting and that’s about it. Even that it will mess up but usually in a suler easily fixed way
When I want to be lazy and make some simple excel macros is about the most iv trusted it with that it manages to do with out fucking up and taking more time then just doing it my self.
I don’t think it has much to do with how “complex or not” it is, but rather how common it is.
It can completely fail on very simple things that are just a bit obscure, so it has too little training data.
And it can do very complex things if there’s enough training data on those things.
I’ve also found it useful for simple Python scripts when I need to analyze data. I don’t use pandas/scipy/numpy/matplotlib enough to remember the syntax and library functions. With vibe coding it, I can have a script in minutes for reading a csv with weird timestamps, scale some of the channels, filter out noise or detrending, perform a Fourier transform, and do a curve fit towards a model.
But then obviously I know every intermediate step I want to do.
I just use it to whip up a mockup, like a GUI with certain usability features. I’m the one who has to work with highly specific, proprietary software and usability is total ass. But it’s difficult to put this into words that the dev is willing to read through. So I’d rather show it. But that’s about it.
A buddy of mine is into vibe coding, but he actually does know how to code as well. He will reiterate through the code with the llm until he thinks it will work. I can believe it saves time, but you still have to know what you are doing.
I don’t think it saves time. You spend more time trying to explain why it’s wrong and how the llm should take the next approach, at which point it actually would’ve been faster to read documentation and do it yourself. At least then you’ll understand what the code is even further.
I do the same, I am not sure if it saves time. Some times not. Other times if it is a task I really don’t want to work on this helps me to get started and break through procreation
Lol, work as your coitus interruptus.
I know you meant procrastination btw.
Agree, my spouse and I do the same. You need to know how to code and understand the basic principles otherwise it’s a bit like the Chinese room thing where you may or may not operate currently not have no actual clue of what you’re doing. You need to be about to see when llms follow their hobby and blow three lines of code unnecessarily out of proportion by adding 60 lines of unneeded shit that opens the door to more bugs.
Back in my day, we called that pseudocode. It’s code-like, but not in any actual programming language that you could compile from.
It’s more of a set of ideas of how to accomplish something, than it is actually coding.
The fun part is, that pseudo code can be adapted to any actual programming language.
Idk why everyone is crazy about vibes all of a sudden… But sure.
AI used extremely sparingly is sometimes helpful to an experienced coder. “ChatGPT, generate a set of unit tests for this function.” Okay, some of these are dumb, but it’s easier getting started on this mess than just looking at a blank buffer. Helps get the juices flowing a bit. But man, you try to actually do anything with it, and suddenly you’re lost chasing a will-o’-wisp.
Oh man, I love ChatGPT for one thing in particular: “Hey chatbot, is there some library or standard library function for that very specific, yet still kinda generic thing I’m trying to do, so that I don’t have to write it myself?”
It does frequently give a helpful answer. That is, it doesn’t give me working code, but a helpful pointer to some manual where I can find good instructions for how to use the thing to solve my problem.
I will usually google that kind of thing first (to save the rainforests)… Often I can find something that way, otherwise I might try an LLM
True that. But I often find that the search engine is not very good at giving me a solution if I don’t know the name of a problem and only have my spaghetti thoughts on what the thing is supposed to do, and translating spaghetti thoughts into something a search engine can find is where the chatbot excels.
I don’t want to dismiss your point overall, but I see that example so often and it irks me so much.
Unit tests are your specification. So, 1) ideally you should write the specification before you implement the functionality. But also, 2) this is the one part where you really should be putting in your critical thinking to work out what the code needs to be doing.
An AI chatbot or autocomplete can aid you in putting down some of the boilerplate to have the specification automatically checked against the implementation. Or you could try to formulate the specification in plaintext and have an AI translate it into code. But an AI without knowledge of the context nor critical thinking cannot write the specification for you.
Unit tests become the specification once they are written. ChatGPT can easily write unit tests from whatever your specification is before that – such as documentation, a bunch of comments and stubs, or even a first draft of the function itself, given enough context from the rest of the project.
Unit tests are too klunky to think in. You don’t prototype the specification by implementing unit tests. And you really only lay down a few critical paths even if you “write the tests first” because code paths always come up during implementation that demand more test coverage anyway.
Also after your 4th proper project you won’t be as confused about “how to get started” anymore anyway.
You have a language of choice, a gui framework, and a build system you are comfortable with in mind already just start making folders.
Feels like there are some fine people here only working on new projects. Getting started could be, breaking down a 20 year old program, written in some wierd manner because the original developer use to do functional programming but was told to use java and oop. No comments, no tests, no normal patterns, no documentation.
The argument was “AI helps when starting up new projects by making unit tests etc.”
Also for not 20, but even building 10 year old libraries using AI is unhelpful. It just keeps hallucinating non-existent packages and functions.
At this point just drive yourself crazy while promising to become goose farmer and commenting every single line in your own words like god intended for programmers to do.
Consulting opportunity: clean up your vibe-coding projects and get them to production.
That comes up in that sub occasionally and people offer it as a service. It’s 2 different universes in there - people who are like giving a child a Harry Potter toy wand that think they’re magic, and then a stage magician with 20 years of experience doing up close slight-of-hand magic that takes work to learn, telling the kid “you’re not doing what you think you’re doing here” and then the kid starts to cry and their friends come over and try to berate the stage magician and shout that he’s wrong because Hagrid said Harry’s a wizard and if you have the plastic wand that goes “bbbring!” you’re Harry Potter.
The post was probably made by a troll, but the comment section is wise to the issue.
I know we like to mock vibe coder because they can be naive, but many are aware that they are testing a concept and usually a very simple one. Would you rather have them test it with vibe coding or sit you down every afternoon for a week trying to explain how it’s not quite what they wanted?
My entire IT career has been funded by morons like this. This is just the latest moronic idea that is going to pay my bills. Cleaning up after vibe coders has guaranteed my income until I die. You see, posts like this focus on the code that is broken and requires another dev to fix it enough to get it going. There is a long road from “finally working” to “production ready” to “optimized”, and we get paid along every inch of the way.
I don’t really care about vibe coders but as a dev with just under 2 decades in the field:
- Your vibe coding shit will not go to prod until humans fully review it
- You better review it yourself first before offloading that massive mental drain to someone else (which means you still need to have some semblance of programming skills). Don’t open a PR with 250 files in it and then tell someone else to validate it.
- Use more context. Don’t give it vague ass prompts.
- Don’t use auto-accept. That’s just lazy asshole shit.
I can’t stress this enough: if you give me a PR with tons of new files and expect me to review it when you didn’t even review it yourself, I will 100% reject it and make you do it. If it’s all dumped into a single commit, I will whip your computer into the nearest body of water and tell you to go fish it out.
I don’t care what AI tool wrote your code. You’re still responsible for it and I will blame you.
When I see a sloppy PR I remind people “AI didn’t write that. You wrote it. Your name is on the git blame.”
Love it, I have a vibe coding colleague I will use this with.
I like this mentality. I might start telling people the same thing
I have never used an AI to code and don’t care about being able to do it to the point that I have disabled the buttons that Microsoft crammed into VS Code.
That said, I do think a better use of AI might be to prepare PRs in logical and reasonable sizes for submission that have coherent contextualization and scope. That way when some dingbat vibe codes their way into a circle jerk that simultaneously crashes from dual memory access and doxxes the entire user base, finding issues is easier to spread out and easier to educate them on why vibe coding is boneheaded.
I developed for the VFX industry and I see the whole vibe coding thing as akin to storyboards or previs. Those are fast and (often) sloppy representations of the final production which can be used to quickly communicate a concept without massive investment. I see the similarities in this, a vibe code job is sloppy, sometimes incomprehensible, but the finished product could give someone who knew what the fuck they are doing a springboard to write it correctly. So do what the film industry does: keep your previs guys in the basement, feed them occasionally, and tell them to go home when the real work starts. (No shade to previs/SB artists, it is a real craft and vital for the film industry as a whole. I am being flippant about you for commedic effect. Love you guys.)
I think this is great. I like hearing about your experience in the VFX industry since it’s unfamiliar to me as a web dev. The storyboard comparison is spot on. I like that people can drum up a “what if” at such a fast pace, but vibe coders need to be aware that it’s not a final product. You can spin it up, gauge what works and what doesn’t, and now you have feasibility with low overhead. There’s real value to that.
Edit: forgot to touch on your PR comment.
At work, we have an optional GitHub workflow that lets you call Claude in a PR and it will do its own assessment based on the instructions file we wrote for it. We stress that it’s not a final say and will make mistakes, but it’s been good in a pinch. I think if it misses 5 things but uncovers 1 bug, that’s still a win. I’ve definitely had “a-ha” moments with it where my dumb brain failed to properly handle a condition or something. Our company is good about using it responsibly and supplying as much context as we possibly can.
I like your previs analogy, because that’s how I’ve been thinking of it in my head without really knowing how to communicate it. It’s not very good at making a finished project, but it can be useful to demonstrate a direction to go in.
And actually, the one time I’ve felt I was able to use AI successfully was literally using it for previs; I had a specific idea of design I wanted for a logo, but didn’t know how to communicate it. So I created about a hundred AI iterations that eventually got close to what I wanted, handed that to my wife who is an actual artist, told her that was roughly what I was thinking about, and then she took the direction it was going in and made it an actual proper finished design. It saved us probably 15-20 iterations of going back and forth, and kept her from getting progressively more annoyed with me for saying “well… can you make it like that, but more so?”
If it’s all dumped into a single commit, I will whip your computer into the nearest body of water and tell you to go fish it out.
I’m going to steal this for an update to an internal guidance document for my dev team. Thank you.
Lmao glad I could help! I hate those big commits. They’re so much harder to traverse and know what’s going on. Developer experience has been big on my mind lately. Working 5 days a week is already hard, but there are moments when we can make tiny bits easier for each other.