Looks like they don't understand what "vibe coding" means beyond that it involves AI and therefore has a black hat and is bad. That's what happens when people learn everything from memes.
Fuck AI
"We did it, Patrick! We made a technological breakthrough!"
A place for all those who loathe AI to discuss things, post articles, and ridicule the AI hype. Proud supporter of working people. And proud booer of SXSW 2024.
Here's a fun thing. Using the latest AI to code backend and front-end code. Every couple of weeks, have to stop, go through every line and module, and throw out pretty much 90% of the code, manually refactor, and rewrite it.
It offers a good starting point, but the minute things get slightly complicated, you have to step in. I feel bad for people who think this will make it so they don't need experienced developers and architects. They're in for a rough ride.
An interesting point I heard the other day: if AI can replace entry level jobs, doing simple scripts that AI can definitely do (because it essentially just spits out the stack overflow/Reddit/etc training data verbatim), then companies no longer need entry level programmers.
If they don't need entry level programmers, how do you get future senior programmers? Skipping directly to advanced stuff without getting practical experience on the simple stuff is incredibly hard.
What happens when the current senior programmers retire in larger numbers, and there's very few replacements because the ladder is gone?
That's a problem for Q72 and they're incapable of looking past Q4. Besides, they'll have already jumped ship by then, what do the execs care if they make this quarter just ever so slightly more profitable
Agree. Software engineering is a marathon - not a sprint. These AI tools are useful to get something up real quick, but I have a hard time seeing how they can be useful for long term maintenance work.
Software engineering is a marathon - not a sprint.
Oh BOY do I have this 'brand new shiny' thing called Agile at almost every fucking company ever.
It’s still a marathon, even if the name ”sprint” is used. The point is the same: software engineering is about ensuring long term maintenance. It’s about building software that can sustain through multiple sprints.
The typical code from an AI agent can barely sustain a single sprint without having to restart from scratch.
I know, but in most companies they don't give a fuck.
What's done is done, sure there can be some minor maintenance, but goodness forbids you need to rewrite something that handles the 10x throughtput that built up over the years.
I am usually able to get some cleanup tasks in, but from what I've heard, not many people are.
It's just sad, that some think 'sprint' means 'this is done and dont dare to tell me you need more time, what have you been doing the last X sprints?'.
Plus "getting something up real quick" is the fun part.
The first draft is fun.
The second draft is pain.
The third draft is cathartic.
Figure out features, add add add.
Add/change features, realise the spaghetti mess and poor design decisions you made in the first draft.
Clean everything up with better design and code.
Every couple of weeks, have to stop, go through every line and module, and throw out pretty much 90% of the code
It offers a good starting point
It doesn't sound like a good starting point if you have to throw out 90% of it every couple of weeks.
It’s worse than that.
The goal isn’t to sell coding superpowers to programmers. It’s to drive a wedge between employer and employee. Make both of them dependent on an intermediary instead of each other.
Think DoorDash but for coding gigs. You don’t have a job, but a series of push notifications offering a chance to review an 18-line PR for $3.81.
Remember to respond within the next 90 seconds to maintain your priority status, and don’t decline too many offers.
Edit: See also, chickenized reverse-centaurs.
It's the same cycle since the '70s. Whether it's COBOL or VB.NET or vibe coding, the premise hasn't changed.
There's three broad categories of code:
- Monkey code (random applets that are almost entirely business logic and non-critical)
- Actual code (most things)
- Crazy shit like kernel or browser code.
I can see vibe coding, situationally, lower the barrier to entry of (1). But also that's no different from COBOL or VB.NET which both promise "MBAs can now write code", which conveniently never extends to maintaining said code. And vibe coding doesn't help with that either, ChatGPT is an awful debugger.
Your boss thinks ChatGPT will help with (2), but it either won't or only very slightly as an advanced autocomplete. For any problem-solving that requires more specific domain knowledge than can automatically find its way into their tiny context windows, LLMs are essentially useless.
.... So I'm not worried. Today's vibe coders are yesterday's script kiddies.
the amount of mistakes and and hallucinations ai has makes it actually take longer to code.
it’s the same old garbage in, garbage out….
it can kinda help you get started but that only saves you 10 minutes of reading documentation that you have to read anyway to make sure it didn’t make something up.
Debugging is the hardest part, and now you get to spend all your time doing it
I have no idea what vibe coding is, can someone ELI5 it to me?
I have tried AI to get some rough C# for my hobby game but even that was unusable.
Vibe coding is basically having no idea about coding and using the AI to make snippets of Code for you
Like if you want to programm snake, you would prompt it:
- Tell me what parts of code are required to programm snake in python
then it would tell you like:
- you need a programm to make a grid system
- you need an array which can go down a tickrate
- etc pp
so you tell it like:
- Generate me code, that does xy
- Generate me code that takes the input of xy and does z with it
and so forth, then you just paste everything into a txt and ask the AI to debug it for you and hope it works
The people who need vibe coding shouldn’t be using it. And the people who can use it, don’t need it.
This sounds terrible, lol! Are there any examples that can be pointed to? I'd love to see one of these constructs.
‘Vibe coding’ is where you code only with prompts and never look at the generated code.
Seems like a great way to create insecure unmaintainable code if you ask me.
Also I just dont get why you would ever generate code
Like, you have no idea how to code something? Sure, just ask it about methods how to do it. But generating code too? Cant you RTFM?
I think you're severely underestimating how lazy some people are, lol. I totally get what you're saying, and from a logical perspective it makes sense. It's just that if you survey enough people, i really think you'd be surprised at how little effort some are willing to put forth for just about anything
Isn't the reason obvious? To save time? I'm not saying it's a good thing but it seems prettyyyy obvious why people are doing it.
But it's going to take hours of debugging every time. If you actually learn how to write code, you'll get better at it over time and reuse common functions. It'll take less time as you get better.
Save Time where? If you want to code more than snake, you need to have a basic knowledge of coding anyway, and once you know how to code, you will want to code in your own style. And if you just want to make basic programs, just fork someones github project and change a few lines.
You're saying this with your understanding of the field. The people pushing this are either untrained (and thus don't know what's going wrong) or are trying to milk money out of the former.
I'll go against the grain here: I'm not worried. If you actually care about what you do, even vibe coding can teach you something, it could be a starting point. The internet is not going away, and just looking up this or that thing the AI spit out will help you learn what you're working with.
Is it the same as an uni CS course? No of course, but how many of us got our start just tinkering with stuff we didn't understand?
The internet is not going away, and just looking up this or that thing the AI spit out will help you learn what you’re working with.
I think you mean "sifting through several pages of worthless search results while looking for something the AI spit out"
The internet is worse and it can still get worse.
As someone who can't code, I spent some time vibe coding a python bot that would take screenshots of a webpage and post them to Discord, but after an hour of creating more errors with each iteration, I gave up. I rather just get someone skilled and pay them for it as opposed to wasting time with something that thinks it's always right
If it's for personal use and hobby stuff, you could try to learn and code it yourself!
Knowing how to make scripts yourself for specific small tasks is a useful skill, and since it's for yourself you don't need to stress about getting too deep into it :)
If you are an absolute beginner I can recommend "Python 4 everybody".
Edit: added a link incase someone is interested.
Appreciate it!
It's exactly the opposite of teaching a man to fish, this is telling that man to depend on whatever floats down the river and just pick whatever seems edible, if the man gets enough or poisons himself nobody will know, because the skill to fish would have been lost.
Like people who only had a smartphone for everything, they'll never know the advantages of an actual computer and will struggle with it when they need to use one.
This also applies to writing emails. Some folks were bad enough at it before. Now, they'll never learn, and can't even proof read what the AI wrote....so their emails aren't any better now, than they were before.
I struggle so much with this. People were already bad at reading emails and following instructions (e.g. ask them to answer 4 questions which I have helpfully listed below, in bold, and they answer the first one and call it a day) but now they just let the a.i. handle it. So instead of not getting answers, I get incorrect and unreviewed answers that just sound like they might be right.
Then of course when I do the work, and it turns out to be completely useless because it was based on bad information, and it needs to be completely redone. That means wasted hours of time and productivity for me with nothing to show for it. All because someone else wanted to save 5 minutes.
It took me way too long to get what deskilling means
my best of is: Desk-illing, des-killing, or deskil-ling
it was likely a typo for desk-killing
I think this so much less convincing than selling AI as a replacement for skilled labor, not as a way to intentionally deskill actual software engineers.
Capitalism already has a way of preventing you from making your own commodities - you sell your time, and the less they pay you for it relative to how much you need to live, the less time you have for yourself to put towards self sufficiency. We don't have many FOSS products, not because nobody has the knowledge or skill to make them, but because nobody has the time to make them.
There are plenty of reasons to hate corporate-owned AI products, we don't need to be hallucinating new ones.
I use copilot at work. the predictive generation is pretty good i.e you start writing a for loop and it finishes it for you with all the variable names used correctly (most of the time). This also has the added benefit of making you name your variables clearly. the better they are the better the predicitions will be. i wouldnt trust it to do more than that though
A friend of mine wanted to make an incremental game. I told them "hey that's a pretty good project to learn programming with" but they insisted on using an LLM. Then they proudly showed me what they got so far, it was a decent looking singular html page, but without any game logic whatsoever. Most of the code was just stylesheets - and even those had some questionable things going on lol
This has been happening for quite a while. Do you know how to work a sewing machine? Have you ever repaired your clothes? Oh well, back to Walmart.
Sewing machines don't just output whatever they think you want to wear today lol
Are there seriously scientists who think AI assistants are good enough for the job?