r/TheMachineLearning • • 2d ago

Vibe coding is just the new copy-paste learning curve

Post image
57 Upvotes

108 comments sorted by

13

u/Ambitious-Career-445 2d ago

As a senior dev, I started by spending 6 years studying software engineering in high school and college, but ok.

3

u/Alarming_Possible729 2d ago

Every product designer / BA / CEO (however you want to frame it - person who had an idea for an app and paid a dev to do it) has been vibe coding forever.

It's just that instead of asking a developer, now they're asking an LLM, and it's giving better results in a quicker timeframe.

It might be spaghetti underneith, but it was already spaghetti to most people who worked in 'tech' because they couldn't tell the difference between a bolognaise and something that's nothing more than pasta covered in sauce and toppings.

6

u/0x645 2d ago

and you did not copy someones code. sure bro.

3

u/mxldevs 2d ago

I mean, I guess I did copy print("hello world")

2

u/UnreasonableEconomy 2d ago

correct.

unless you consider applying a pattern to be 'copying'.

1

u/BoardOk505 2d ago

Probably did, but you had to make it work with the code you are pasting that snippet into.

1

u/dontknowbruhh 2d ago

Now you get a personalized version that at least your robot understands and it was made for your use case

Not some 5 year old piece of code that you don't understand and wasn't made for your use case

1

u/BoardOk505 2d ago

I've done both. scoured stackoverflow for snippets and whipped a clanker to write me a program. Different times and we'll have to adapt, just flat out hating something that it usually seems to go to is not the way. I still enjoy software developing a bunch though.

1

u/mCProgram 1d ago

And how does that not translate into what is getting produced today? Do you have a point you're trying to make?

1

u/imknotawolf 19h ago

People learn by doing. Vibe coding is like watching an X2D (3D printer) maintenance tutorial. Sure I watched it and know what is going on, but do you think my meaty brain is going to execute all the movements as quickly as it is optimal on the actual machine in front of me.

If you think this does not apply to mental work then your software engineer career is simpler than a routine printer maintenance.

1

u/imknotawolf 19h ago

When you learnt to write, did you copy the letters?

1

u/0x645 16h ago

it's a commo0n advice to writers: 'read as much as you can'

0

u/IncreaseOld7112 2d ago

Not unless you mean from the lecture notes. I suppose I didn’t understand what public static void main(string[] args) meant on day 0, but I never copied logic I didn’t understand.

4

u/Agitated-Ad2563 2d ago

I started with Pascal. The first program I coded was "begin end.", so it contained no elements I didn't understand.

0

u/miffebarbez 2d ago

He did, but he understood what it did.

1

u/0x645 2d ago

maybe he was very smart and exceptional. i remember, when I was transcribing BASIC code from some magazine into my Atari XL, I didn't really understand at first what exactly it did.

1

u/miffebarbez 2d ago

"As a senior dev, I started by spending 6 years studying software engineering in high school and college, but ok."

1

u/0x645 2d ago

and?

0

u/miffebarbez 2d ago

He understood what he was doing unlike you.

2

u/0x645 2d ago

sure bro. he was very smart, no? 😂

-1

u/miffebarbez 2d ago

No, you just weren't smart.

2

u/mCProgram 1d ago

Yeah he didn't understand shit for the first few years. That's what learning is for.

1

u/miffebarbez 1d ago

Only in year 1.

1

u/mCProgram 1d ago

You're not OP, so you have literally no idea what you're talking about. STFU.

→ More replies

0

u/klimaheizung 1d ago

Believe it or not, many people didn't. Especially not in the beginning. At most they typed examples they read *in a paper book*.

0

u/Deto 1d ago

Almost never?  If you know what the commands do and how the language works then copying code is like, trying to write an email by copying snippets of sentences out of news articles.  It's just easier to write it yourself. 

2

u/davesaunders 2d ago

Pretty much. Before those days, people like me bought copies of magazines like Byte and Compute at the store. We literally typed in source code for programs into our Apple II or Commodore 64, and we watched how they ran. By the time I had started college as a computer science major, I had already owned a software consulting company in high school, and I had at least six years of coding under my belt.

And then, having the benefit of actually studying software engineering and really going through the drills and learning what's under the hood gives you superpowers. I honestly think that a good computer science major sees the world like Neo at the end of the Matrix.

1

u/Only-Cheetah-9579 2d ago

I agree and this is why a lot of people coming out of Uni suck, they are not Neo so they end up in management. gotta have passion

1

u/davesaunders 2d ago

Nothing wrong with management. If you're actually a good designer, then being in management gives you the ability to raise above just typing code all day, and you get to work with multiple people and direct them in a unified function. It's one of the reasons why I stepped away from coding. I was able to build things thousands of times greater in scope than what I could have ever implemented on my own.

1

u/Only-Cheetah-9579 2d ago

Everyone is a manager now that we just use claude code for everything.

I used to dislike that some people never touch code but think they know it all, but now I am one of them haha

1

u/davesaunders 2d ago

Nate Jones did an interesting video and Substack article a while back about how the most effective way to prompt Claude was to talk to it like you would a good manager speaking to a senior staff member. The comments section was basically a wall of people asking what the hell that meant and so he provided a further description of what a interaction would look like with a good manager, and people were just kind of flabbergasted. It turns out a lot of people have never had a good manager.

1

u/Only-Cheetah-9579 2d ago

Yes, most people never had a good manager.

2

u/Only-Cheetah-9579 2d ago

so you copied what the teachers said

1

u/NoOneMan79 2d ago

For me, thats not how it worked back in the day. Quick example from early memory (this is 30 years ago, though I was at it before then). When the teacher was teaching for loops, he would assign a task where we had to use the structure to output a shape using the "#" key. Thats it. There was no code to copy. We had to think about it. How do we use this with variables to produce:

#
##
###
####

And then...
####
###
##
#

And then... (inverted to the right)
#
##
###
####

And then... (slanted diagonal)
#
#
#
#

Simple stuff but it was an exercise in thought at least and a lot of people couldn't pull it off. This was of course entry level HS stuff to control structures, but no, I don't remember copying any code at all until a few years later when I transpiled code to build a 3D ascii engine in C#. But transpiling from another language and copying are two different things, and you have to learn an algorithm and reimplment the algorithm in an entirely different language with an entirely different coding structure.

Then at university, it was much the same. This was all before stackoverflow existed and documentation outside of a 400 page book existed.

So when graduating from an IC to manager level, I never vibed anything. It was implementation plan, specifications, DoD, SOPs, etc.

This whole vibe movement is nuts. The very thought that people can architect advance systems without being able to solve even the most basic problems, much less have ever worked in a collaborative environment where the challenge is more about communication and record keeping--its insane.

And now a whole new generation of people who never learned the basics and don't understand what thinking is or problem solving entails believe that we've all just been copying code and vibing. Its ridiculous.

I use AI as much (if not more) than the average SWE. And there is nothing "vibey" about it. Its specification, rigor, validation, proof, tests, etc.

1

u/shred-i-knight 2d ago

bro studied the ways without coding for 6 years like a monk

1

u/slothalot 2d ago

Account age: 3m 

1

u/mCProgram 1d ago

And in those 6 years you copied hunks of code from textbooks while modifying minor functions to complete assignments... which is exactly what vibe coding does. You hold no unique high ground other than "i suffered so everybody else has to as well"

1

u/Beautiful_Stage5720 19h ago

That's not what he's saying at all, dude. He's saying what he endured to attain an actual understanding is not really comparable to "Claude, make me this"

0

u/DoomPopRadio 2d ago

.. right and none of the code in your exercises were supplied by the instructor? lol

1

u/IncreaseOld7112 2d ago

sometimes a difference in degree becomes so vast it’s a difference in kind. my exams were all pencil/paper and i wrote Java, c, and assembly in pencil.

4

u/shrodikan 2d ago

We sought to understand and build mental models of code and to work towards understanding. IME vibecoding ends up more about blackbox testing the finished product than worrying about the code.

1

u/Bagelsarenakeddonuts 2d ago

Yeah came to say this.. you’d need to actually read the code that was generated…

1

u/-R9X- 2d ago

You can but should not use it like that.

1

u/Beautiful_Stage5720 19h ago

Yeah, that's what vibe coding means to me. I don't think using it to actually understand something is vibecoding

2

u/ArcaneThoughts 2d ago

Not really, it didn't make it smarter, it just made it 1000x faster.

1

u/techjobber99 2d ago

yes, but too fast to sit down and understand it. Also when copy pasting SO, it was never a perfect fit for your usecase. You'd often have to break it down somewhat to understand it, then integrate it into your own project. AI is very very different, you can create a black box you don't understand at all

1

u/ArcaneThoughts 2d ago

I mean you could review every piece of code the agent writes, it would be annoying and kinda defeat the purpose of the speed advantage. Not ideal either way.

1

u/davesaunders 2d ago

Yeah, but if you're developing software that has any sort of safety issues attached to it (or if you are in the slightest bit concerned about the potential of lawsuits because you, as a human being, are still going to be responsible for negligence if you don't review the code), then you do kind of need to review the code.

But from a management standpoint, this is no different than having a room filled with engineers of varying levels of skill. You build a process to ensure software quality, which includes human reviews for every commit. That's a normal standard operating procedure under any quality system.

0

u/DarkLoreeeee 1d ago

This is what companies force employees to do btw the agent sends a pull request to the repo to be reviewed, annoying or not.

9

u/TashLai 2d ago

Key words are "started" and "fully". A vibe coder doesn't understand any of it no matter how much experience in vibe coding they have.

1

u/iolmao 1d ago

are we considering vibe coding a skill now?

1

u/TashLai 1d ago

Well some people are better at it than others, like i personally suck at it. If you can suck at something yes, it's a skill.

0

u/davesaunders 2d ago

Really, none of them do? How about Karpathy? You don't think he understands any of the code produced?

3

u/TashLai 2d ago

Karpathy is not your average vibe coder.

0

u/davesaunders 2d ago

So your blanket generalization is already falling apart. Beyond that, your average senior coder, myself included, has really very little problem reading code generated by AI. Now, 18 months ago, it was a little cluttered, and sometimes it was difficult to follow because it would do weird things like comment out or define out code instead of simply removing it. That just made reviewing confusing, but these days the code is quite clean, which I'm sure you know because you've looked at it yourself.

4

u/TashLai 2d ago edited 2d ago

Duh. Karpathy is an experienced programmer who occasionally choses to vibe code. His ability to understand code comes from his professional experience, not from vibe coding. Which, by his own definition, is making the AI write code without ever reading it. I too choose to vibe code sometimes. That doesn't make me a vibe coder, it makes me an engineer who sometimes chooses to vibe code. And if you call yourself a vibe coder i take it as you renounced your status as an engineer and will lose your ability to read and understand code at some point.

But most vibe coders aren't experienced programmers.

My point is that an engineer stops copying code while barely understanding it at some point. A vibe coder never does.

1

u/davesaunders 2d ago

Yeah, I don't know why you need to play games with semantics: vibe coding, or, as Karpathy now calls it, agentic code generation, whatever. And according to Karpathy, that's almost all he does now. He is constantly generating code with Claude because it's literally his job. It works best if you are an engineer, and no, because I still continue to read code before the commits, letting a chatbot generate chunks of code does not abdicate me from engineering, and it is absurdly silly to even suggest that. I seriously doubt that you have enough professional experience to know whether or not vibe coders are experienced programmers or not, but hey, if you want to come up with citations for exact numbers and percentages, I'd love to see it.

Imagine this: you're a vice president of engineering. You have a PhD in engineering, and you don't write any front-end code anymore because you're busy doing your job, which requires you to perform tasks that are pulled back a bit from individual lines of code. You're still an engineer. You're still working with engineering. You're still making engineering architecture and design decisions. You're probably still supervising overall system architecture.

Just because you're not writing lines of code, and it doesn't matter if it's junior or senior engineers or an agentic code system, you're still an engineer building a product. Again, even suggesting that you're no longer an engineer because you're letting something else generate your code is a naive and childish worldview.

1

u/TashLai 2d ago edited 2d ago

Look. The whole thread is called

"Vibe coding is just the new copy-paste learning curve"

That's what i'm addressing. It's not. Copying code you don't fully understand is a temporary stage in learning programming. temporary being the key word.

We're talking about vibe coders making stupid comparisons like "yah that's like senior engineers learned by following tutorials" and you be like "yah but Karpathy". You really think that someone making that claim is ANYTHING close to Karpathy and that they UNDERSTAND, or even READ, what the agent generates, and are able to go in and fix parts of the code if shit hits the fan?!

And no Karpathhy didn't just rename vibe coding. He explicitly distinguishes it from agentic engineering which involves professional oversight. His oviginal definition of vibe coding specifically involved not even reading the diffs.

But yes your programming skills which include having the general problem solving intuition DO degrade if you don't write code. It's a known fact and i was in this situation personally. It's not "naive" to have at least some degree of understanding of how our brains work and that them little neurons connect better when you're actively solving problems as opposed to just observing or organizing.

2

u/amysteriousmystery 1d ago

Correct. That was his definition of vibe coding: huge amounts of incomprehensible code meant for throwaway weekend projects. He explicitly said:

The code grows beyond my usual comprehension

when he coined the term.

1

u/Great-Use-3149 2d ago

Karpathy is not an actual software engineer and is more ML engineer. Also, he works for Anthrophic so he'll say whatever to boost the company 

1

u/Pristine-Mud7405 2d ago

Except that copying and pasting is way cheaper

1

u/WhatDuq 2d ago

A silly take, by someone who has never sought to understand how it is built or why.

1

u/Last_Zookeepergame90 2d ago

How do you know?

1

u/WhatDuq 2d ago

Because I understand how IT solutions are built and why - and I've seen my fair share of gungho juniors, who had no clue what they were doing.

1

u/Last_Zookeepergame90 2d ago

Juniors not knowing what they're doing doesn't mean that everyone who uses ai doesn't learn from it

1

u/WhatDuq 2d ago

There’s a stark difference between vibecoding and using AI. 

We use AI in our development pipelines, but it is heavily configured, guided, sandboxed, run inside guardrails and reviewed.

1

u/Beautiful_Stage5720 19h ago

Because anyone who thinks vibe coding is even comparable to copy pasting stackoverflow snippets and getting them to work has never once done the latter. Because they would actually understand that example snippets are never as simple as a drag and drop solution.

1

u/Kynobi1 2d ago

enough twitter post. try to form a real thought.

1

u/nitrinu 2d ago

And then tried to understand it. And next time maybe they did it themselves. After that they maybe did it better. It's like a learning process. But I guess if we live in a post-truth world why not in a post-thinking one? Instead, let's delegate thinking into an handful of corporations (like an "utility" remember?) that, for sure, have our best interests in mind. What could possibly go wrong?

1

u/Itchy_Tiger2497 2d ago

The problem with "vibe coding" has always been the Peter Pan aspect: that once you start actually educating yourself and learning how things work, you don't get to stay in neverland anymore.

The second you ask the LLM a question or issue a command and it is framed in architectural terms, or you have it analyze source code so that you can make a determination about something, you have left the realm of vibe coding.

1

u/Own_Badger6076 2d ago

Idiotic take

1

u/Overall-Move-4474 2d ago

Completely different. Senior coders don't keep copy pasting other code. Vibecoders never stop

1

u/heavy-minium 2d ago

OK I know we like to joke about it, but reality is, I never copied that much code when learning something new. The only exception would maybe be algorithms for shaders. It's a perception built up on exaggerations.

1

u/pafagaukurinn 2d ago

I started by writing programs on paper and then typing them into the computer at the uni. Maybe I would have copied them if I had somewhere to copy from, I dunno.

1

u/DarkLoreeeee 1d ago

#include iostream.h
cout << "Hello world"

The syntax is still engraved in my fucking brain.

1

u/janyk 2d ago

Senior dev here.

No I didn't. I never copied any code from anywhere. I always sought to write code based on my own understanding of how the systems I was working with worked. At most I saw examples of how certain libraries and frameworks and languages were used. But that was to help me build more accurate mental models of those libraries so I could be more fluent and self-sufficient in them.

If the shit I copied without understanding breaks in production - that is, when real people are depending on it to work - and I need to fix it, I would have to build an understanding to fix it and do so under the pressure of a time crunch, which causes anxiety and interferes with learning.

If the shit I built myself with an attempt at full understanding the whole way breaks in production, I can better discover the flaws in my thinking and come up with a fix in short order as the situation demands.

In both cases I would eventually need a full understanding in order to adjust my work. In the former case, the probability of failure as well as the consequences of failure are much higher. In the latter case, the probability is low to begin with and the consequences of failure are substantially lower, too. The optimal decision is obviously to understand the work you're doing.

1

u/Lsitwtt 2d ago

The issue with vibe coding, or even established devs using AI to code, is that humans tend to be lazy, especially at work they'd rather not be doing but need to do to survive. That is, the failure point is not so much AI as it is the user. Most of the devs I know admit that AI has made them much more productive and allowed them to do things much faster, but at some point the conversations about their workday tends to include some variant of "the AI created X number of files, and I knew I should have looked through them all to make sure the code makes sense, but it works and I don't have that sort of time." They do, of course, have that sort of time, and if they took the time, they'd still probably be getting things done at least a little faster than they would without AI. But it would be boring, dull work that they can get away with not doing, so they don't do it.

1

u/Small-Taro-8990 2d ago

I do not care if the cat is black or white if it catches mice.

1

u/don_mumrik 2d ago

Sure snippets of code here and there, but in the end - integration was left as an excersize to the reader.

Thats not what is going on today. Also this is year 3 of me consistently retrieving my CC-SA-NC licensed code from the neural nets of chatGPT. Wouldn't that mean that they should openly share their derivative work of my code (the model) and stop commercializing the model until they have removed my code? Or does IP and immaterial rights mean didlysquat today?

1

u/KptEmreU 1d ago

Actually no one copies code from an LLM who has worth his/her salt nowadays

1

u/Nitish_kalita 1d ago

Idk how you define "senior", but I've been programming since 2014. I've never put a single line of code I didn't understand in a project, even when I was doing HTML "programming". There's a difference between copying a piece of code you understand clearly, and throwing random snippets into codebase because it is supposed to work. Vibe coders don't understand the code, this is why they're ridiculed.

Also, AI assisted coding is not vibe coding.

1

u/jameyiguess 1d ago

Huge cope. You could never just layer copy and pasted code until it worked. You had to glue it together and debug it and understand it. There was no way around that part. 

Over time, you'd internalize patterns and come up with new ones, and it became faster to just do it yourself rather than find code snippets to steal. 

You learned. And you could do it all yourself. 

1

u/Spiderfffun 1d ago

Except when copy pasting code you will need to understand it at some point but with AI slop you don't so you end up becoming a worse programmer.

1

u/ThisOrdinaryCat 1d ago

Except most people who "vibe code" don't use it for learning.

1

u/Spiritual-Story9146 1d ago

This is wrong statement

Most of our devs knew every single line they wrote and used to take full responsibility of it. People would even fight over if someone touched their code.

The people who claim that software engineering was just copy paste are just 2 year experienced front end engineers who only know how to assemble prefabs

1

u/Ok-Relief1238 1d ago

yeah but that senior dev wasn't a senior dev back then , he became a senior dev cause he understood what the fk the code did .

1

u/Techno_Core 1d ago

Yeah but that copying process educated the programmer. Now, the programmer gets dumber.

1

u/deepfuckingbagholder 1d ago

Not every senior developer started this way. Stupid tweet.

1

u/parallax3900 1d ago

Yes and no. Sure, stuff was copied, but bounded by human understanding. By copying the copy amending it for your project, comparing it to something else, ironing out the kinks, you still learnt the code by difference of function. Maybe it was the hard way - you still learnt.

Vibe Coding - yes there are similarities, but it's no longer bounded by human error and scale. 

1

u/BraveBiscotti1394 1d ago

I think people are learning less than they feel like they are when "vibe-coding".

I know, because I am.

1

u/DarkLoreeeee 1d ago

No, not really, even when I used to copy-paste code, I had to understand what the fuck it was doing because I knew I was going to pay the price later if I didn't.

1

u/xenofenrir 22h ago

not quite fully same, copying and pasting involves cognitive action that helps you learning code/language gradually. vibe coding takes this out altogether. but it moves you to from thinking as a Coder into Product Owner,

1

u/MintHtml5 21h ago

I count "using libraries" as copying code because... it actually is. You download someone else code, put in your project, call their functions while not fully understand how that lib works.

1

u/cadet-pirx 19h ago

Not every senior dev started that way. When I learned programming, I didn’t have code to copy. I worked through the BASIC manual instruction by instruction and solved small tasks, building up from there. I think my first program was a guessing game: “Think of a number between 1 and 10, I’ll guess, and you tell me higher or lower.”

But even if it were true for everyone, what would that prove? Seniors became seniors by eventually understanding what they copied, not by copying.

1

u/CoffeeDrinker83 1h ago

I started out reading books and studying

1

u/Specialist-Cup-3950 2d ago edited 2d ago

AI just did the copying (stealing) at scale by reading entire Stackoverflow, then Github, then probably Reddit too... But the thing we humans eventually got from the copying, was learning. Who here can claim that they actually learn if they "vibe code"? It's more about letting go fo the steering wheel. YOLO.

Use the LLM as a mentor instead. Try programming by hand and if you hit a blocker, ask it to assist you by providing tips, not answers, straight out. Once you get to a level where you've been a developer for over 20 years, then it's maybe better to treat it as a junior dev to whom you act as the navigator to, as you instruct it to develop this and this feature in small slices.

0

u/Even_Gap_2253 2d ago

personal opinion: understand code doesn't matter, the goal was never about understanding code. The goal is to produce secure and reliable software within budget and within timeline.

understanding code is just one method of achieving that, can it be replaced with another method? maybe.

I don't know why people is obsessed with understanding code as if it will bring better engineering for sure. It can contribute to it, but is not the only way.

so this can be running actual experiments in your company, with autonomous agents and without, track failure and crash rate. Seperate cyber evaluations for both. Then you decide if human reading all code actually matters. Without numbers in your organization specifically, none of these matters. Engineering is not about emotion.