Did Vibe Coding Kill Software Engineering...

Tech With Tim · Beginner ·🧠 Large Language Models ·1y ago

Key Takeaways

The video discusses Vibe Coding, a method of using Large Language Models (LLMs) to build applications with minimal manual coding effort, and its potential impact on software engineering, highlighting the importance of critical thinking and problem-solving skills in software development. Tools such as ChatGPT, HubSpot, and LLMs are demonstrated.

Full Transcript

So, it is finally time to talk about Vibe Coding. This has been going crazy over the past few weeks. Everybody's been talking about it, especially on YouTube and Twitter. And today, I want to give you my take on it as someone who is a software engineer and who has been manually writing code for now well over 12 years. Okay, so first, for those of you that don't know what vibe coding is, although I'm sure many of you do, this is the original tweet that kind of blew this term up. You can see it has 4.5 million views by this guy, Andred. I'm not exactly sure how you say his name. And I'll give you the quick summary. Essentially, what vibe coding is is you just fully go with the vibes. You just let the LLM do its thing. You blindly click accept all. You hope you get the result that you're asking for, and if you don't, you just keep prompting it and eventually get around the problem and have some working application. Now, a ton of beginners have been building some really cool stuff with this, spitting up entire MVPs, full games, making money, building SAS, and is pretty incredible that we do have this technology, and people with literally zero experience can vibe code up an entire application that could actually be deployed and start making money. With that said, there are definitely some massive problems with vibe coding, which I don't hear a lot of people talking about. And I want to point you to this tweet right here, which is one that I saw a few weeks ago and actually posted on my Instagram. Now, here we go. This is something I think is going to happen a lot more in the future. Let's quickly read through it. This guy says, "I'm under attack ever since I started to show how I built my SAS using cursor. Random things are happening. Maxed out usage on API keys, people bypassing the subscription, creating random stuff on the DB. And as you know, I'm not technical, so it's taking me longer than usual to figure this out. For now, I'm going to stop what I'm doing publicly. There are some weird people out there. Now, this I think is an unfortunate reality that a lot of vibe coders are going to start facing as soon as they go from the point of NVP or building something cool on their own computer to actually deploying it out into production. As anyone who's a software engineer knows, coding is typically not actually the hard part of developing an application. There's a lot of other stuff that goes into it. And all of these people that are just jumping into these AI code editors with absolutely no clue what they're doing are going to start facing this and probably are going to have a very expensive nightmare to deal with in the future if they don't bring on someone that does actually know what they're doing. Now, I want to dive deeper into this and give my thoughts and predictions on what's going to happen in the future with Vibe Coding. But if you are someone who wants to give Vibe Coding a shot and you don't have a lot of experience, then I would recommend that you check out this free resource from HubSpot called Learn to Code with Chat GPT. Now, I've left a link to it in the description where you can check it out completely for free. Now, this resource is incredibly relevant because it turns what used to be a steep, frustrating learning curve into a personalized, achievable path. This guide shows you practical ways to use Chat GPT. Everything from writing cleaner code faster to debugging, documentation, and even using AI as a rubber duck for better problem solving. Inside you'll find a comprehensive road map covering everything from coding fundamentals to choosing your first programming language. It also includes specific prompts and strategies for leveraging Chad GPT as your personal coding tutor with exact templates you can copy and paste to get more meaningful responses. Personally, my favorite part is chapter 3 where it breaks down exactly how to use chat GBT to debug your code and understand advanced programming concepts. The way that it breaks down how to ask the right questions to get the best results is pure gold, so you can code faster, build more, and eventually get hired sooner. A big thank you to HubSpot for sponsoring this video and making resources like this completely free. It means that I get to make more content like this, and you guys can become a better developer. Now, with that said, let's get back into Vibe Coding. So, I've used a lot of these AI tools like Cursor, Windsurf, etc. And while I wouldn't call myself a vibe coder, I've definitely experienced what it's like to just let the LLM kind of take control. Give it a prompt, let it do something, just blindly click accept all. And to be honest, it's pretty crazy what it does in just a few prompts, and I get some pretty amazing results. The issue is as soon as I actually want to create something meaningful, put something into production or build something that's larger than 50 files, 100 files, something that actually gets to larger scale software, the problem that I start seeing right away is that I have no idea how the application is actually built. If I just vibe code it out and I do, you know, 10, 20, 30 prompts, I get to a point where I have something functioning, but as soon as I want to do anything else, if it messes up, if it makes a mistake, if it doesn't give me exactly what I want, I'm completely lost on where I should even go to fix the problem. When you write code, especially when you write it by hand or you at least review what's going on and you deeply understand the codebase, you start to build this kind of mental context, which is very helpful to actually make something new or to get into the codebase. I always say this, but as a new developer, you know, it takes you a little bit of time to get used to a codebase, but once you do, you have this underlying context and understanding that just allows you to move significantly faster and to actually be productive. When you do something like Vibe Code, you lose all of that. You lose all of that critical thinking, all of those decision-making steps. You have no clue what's actually happening inside of your project. And again, once it starts to get a little bit out of control where this AI can't just magically fix anything that you want, you're pretty much completely screwed. I've had situations where I vibe coded an entire application and then I get to a point and I realize what I want to do next actually isn't even possible with the way the code is currently written or currently structured. I can't even do this. I need to rewrite the entire thing because the decisions the LLM made at the beginning of the project don't support adding this new feature. It literally requires an entire rewrite. Now, I think that's the main point and that's the main issue with vibe coding is that if you want to build software that actually works, it requires understanding why that software is designed the way it is and making decisions upfront that impact the software later down the line. I think a lot of people forget that the actual component of coding like manually writing the lines was never the hard part about software development. It was always the design, gathering the requirements, dealing with your annoying manager who keeps asking you for new stuff, and also writing code that you're going to be able to maintain and change in the future. Anyone who's actually worked as a software developer knows that the job doesn't stop once you write code. In fact, every piece of code that you write is a liability to the company that now needs to be maintained, tested, potentially changed in the future. And the bigger and more complex the codebase gets, the more expensive it gets, not just from resources and servers, but from actual development work. Even if we have these teams of AI agents that are working on this codebase, it still requires that you know what it is that you want to build, it's designed in the correct way and that you at least come up with some kind of highlevel architecture, which again has always been the difficult part of software engineering. When I just vibe code something and purely rely on AI, I literally feel like I'm a monkey and like an experiment playing with a bunch of random buttons and switches and just hoping that I get some kind of result. I don't really think. I feel stupid when something goes wrong. I have no idea what the heck is actually happening. And I think I'm losing all of these critical thinking skills that actually made me a good developer in the first place. So, I'm very scared for what's going to happen for the future if all of our new developers just flock to Vibe Coding because sure, they might be able to actually build something, but they're going to lose all of those skills that actually made software developers valuable in the first place. And like that original tweet that you saw, we're going to have a lot of people that build these types of applications, start getting users, start making some money, and the software scales and grows to a point where they don't have the experience in order to actually maintain that. And they're going to need experienced people to come in. I can give you a great example. One of my friends, David Andred, you guys might know him. He has a YouTube channel talking about AI. He's in this situation right now. He's more of a vibe coder. He has a little bit of coding experience, but he built an entire AI application called Vectal. He has a bunch of users now. He's making like 20K a month and he's at the point where he now needs to hire developers to come in and maintain the application because it's just beyond his experience. He can't vibe code it any further. he kind of hit that wall where sure he can build new features, but he needs someone experienced to tell him, "Don't do that. Don't do this. That's going to cost us a million dollars. This is not a good decision that you can't get by purely just vibe coding the entire application." So, those are a lot of the problems I'm seeing right now. And I think for a lot of developers, we're losing that critical thinking ability, which I think is going to become more and more valuable in the future as people's attention spans get lower. People purely rely on AI, and we don't have the human resources like before that can actually think through a problem critically. Now, that leads me to kind of my prediction for the future. Now, I'm not naive to the fact that this stuff is getting better every single day. This video might be outdated in 3 months, 4 months. AI might be so insanely good that everything I just mentioned doesn't even matter and it can make decisions better than you and I could. If we get to that point, then not just software engineers are screwed, but pretty much everyone is screwed because who needs a lawyer? Who needs a doctor? Who needs anything if we have AI that's at that level that can make those important decisions because it's not just going to apply to software engineering. Now, if that occurs, who knows what's going to happen. But let's assume that it doesn't or we don't get to this kind of AGI that can just do everything. We're still going to need people that understand systems end to end, that can design large-scale software, that can make those highlevel important decisions and can tell these AI agents, these teams what it is they actually should be doing. What I've seen recently is that most people learning how to code aren't really learning how to code. They're learning how to use these AI models. And while that's great, and I think you definitely should be doing that, the people that actually learn the fundamentals, that understand the basics, that build that context and put in the hard work, I think those are going to be rare in the next few years. And people that have those skill sets are going to be extremely valuable because most people writing code have no clue what the heck they're actually doing. So, as a software engineer with experience, I'm actually excited to see what comes next. The more people that code, the more people that vibe code, the more in demand that I'm going to be because they're going to eventually need someone that knows more than them that can go in there and fix the mess that they've created. That's my opinion. That's what I see coming down the next 6 months, 12 months. Experienced software engineers are going to become even more in demand because they actually know what they're doing and they can go and command the AI better than those that have no clue. Yes, the manual component of writing code, I think that's going to go away very shortly. And we're no longer going to need to write tens of thousands of lines of manual code. That's something I'm excited about, but we're still going to need to use those core software engineering skills that again are a skill and can't be completely replaced by AI, at least not at the current level. Now, maybe you guys think I'm coping. Maybe you think I'm crazy. Honestly, I don't know what's going to happen. This is just a prediction and I could be completely wrong and I'm willing to accept that if it happens. But I want to hear what you guys think. So, let me know in the comments down below and I will see you in another video. [Music]

Original Description

Get the free guide on "Learn To Code With ChatGPT" from Hubspot here: https://clickhubspot.com/fzme So it is finally time to talk about Vibe Coding. This has been going crazy over the past few weeks. Everybody's been talking about it, especially on YouTube and Twitter; and today I want to give you my take on it as someone who is a software engineer and who has been manually writing code for over 12 years. Want to make real money with coding? I share high-signal insights on careers, monetization, and leverage in my free newsletter. Join here and get my guide How to Make Money With Coding instantly: https://techwithtim.net/newsletter ⏳ Timestamps ⏳ 00:00 | Vibe Coding... 02:16 | Free Coding Guide 03:41 | My Experience Vibe Coding 08:43 | Prediction for the Future Hashtags #VibeCoding #Programming #SoftwareDevelopment
Watch on YouTube ↗ (saves to browser)
Sign in to unlock AI tutor explanation · ⚡30

Playlist

Uploads from Tech With Tim · Tech With Tim · 0 of 60

← Previous Next →
1 A* Path Finding Algorithm(Visualization)
A* Path Finding Algorithm(Visualization)
Tech With Tim
2 Python Programming Tutorial #1 - Variables and Data Types
Python Programming Tutorial #1 - Variables and Data Types
Tech With Tim
3 Python Programming Tutorial #2 - Basic Operators and Input
Python Programming Tutorial #2 - Basic Operators and Input
Tech With Tim
4 Python Programming Tutorial #3 - Conditions
Python Programming Tutorial #3 - Conditions
Tech With Tim
5 Python Programming Tutorial #4 - IF/ELIF/ELSE
Python Programming Tutorial #4 - IF/ELIF/ELSE
Tech With Tim
6 Python Programming Tutorial #5 - Chained Conditionals and Nested Statements
Python Programming Tutorial #5 - Chained Conditionals and Nested Statements
Tech With Tim
7 Python Programming Tutorial #6 - For Loops
Python Programming Tutorial #6 - For Loops
Tech With Tim
8 Python Programming Tutorial #7 - While Loops
Python Programming Tutorial #7 - While Loops
Tech With Tim
9 Python Programming Tutorial #8 - Lists and Tuples
Python Programming Tutorial #8 - Lists and Tuples
Tech With Tim
10 Python Programming Tutorial #9 - Iteration by Item (For Loops Continued...)
Python Programming Tutorial #9 - Iteration by Item (For Loops Continued...)
Tech With Tim
11 Python Programming Tutorial #10 - String Methods
Python Programming Tutorial #10 - String Methods
Tech With Tim
12 How to Overclock a NVIDIA GPU
How to Overclock a NVIDIA GPU
Tech With Tim
13 Python Programming Tutorial #11 - Slice Operator
Python Programming Tutorial #11 - Slice Operator
Tech With Tim
14 Python Programming Tutorial #12 - Functions
Python Programming Tutorial #12 - Functions
Tech With Tim
15 Python Programming Tutorial #13 - How to Read a Text File
Python Programming Tutorial #13 - How to Read a Text File
Tech With Tim
16 Python Programming Tutorial #14 - Writing to a Text File
Python Programming Tutorial #14 - Writing to a Text File
Tech With Tim
17 Python Programming Tutorial #15 - Using .count() and .find()
Python Programming Tutorial #15 - Using .count() and .find()
Tech With Tim
18 Python Programming Tutorial #16 - Introduction to Modular Programming
Python Programming Tutorial #16 - Introduction to Modular Programming
Tech With Tim
19 Python Programming Tutorial #17 - Optional Parameters
Python Programming Tutorial #17 - Optional Parameters
Tech With Tim
20 Python Programming Tutorial #18 - Try and Except (Python Error Handling)
Python Programming Tutorial #18 - Try and Except (Python Error Handling)
Tech With Tim
21 Python Programming Tutorial #19 - Global vs Local Variables
Python Programming Tutorial #19 - Global vs Local Variables
Tech With Tim
22 Python Programming Tutorial #20 - Classes and Objects
Python Programming Tutorial #20 - Classes and Objects
Tech With Tim
23 Cool VBS Script to Prank Your Friends!
Cool VBS Script to Prank Your Friends!
Tech With Tim
24 How to Overclock an AMD GPU
How to Overclock an AMD GPU
Tech With Tim
25 Best GPU'S For Mining Ethereum (2018)
Best GPU'S For Mining Ethereum (2018)
Tech With Tim
26 Recursion and Memoization Tutorial Python
Recursion and Memoization Tutorial Python
Tech With Tim
27 Ethereum Mining Rig - Hardware Guide
Ethereum Mining Rig - Hardware Guide
Tech With Tim
28 Pygame Tutorial #1 - Basic Movement and Key Presses
Pygame Tutorial #1 - Basic Movement and Key Presses
Tech With Tim
29 How to Install Pygame (Windows 8/10)
How to Install Pygame (Windows 8/10)
Tech With Tim
30 How to Trade Your Cryptocurrency (Bitcoin, Ethereum etc.) For Cash!
How to Trade Your Cryptocurrency (Bitcoin, Ethereum etc.) For Cash!
Tech With Tim
31 How to Mine Ethereum 2018 - WORKING (Super-Easy)
How to Mine Ethereum 2018 - WORKING (Super-Easy)
Tech With Tim
32 Microphone Comparison - $10 Mic vs $150 Mic (Blue Yeti USB)
Microphone Comparison - $10 Mic vs $150 Mic (Blue Yeti USB)
Tech With Tim
33 Pygame Tutorial #2 - Jumping and Boundaries
Pygame Tutorial #2 - Jumping and Boundaries
Tech With Tim
34 Pygame Tutorial #3 - Character Animation & Sprites
Pygame Tutorial #3 - Character Animation & Sprites
Tech With Tim
35 Pygame Tutorial #4 - Optimization & OOP
Pygame Tutorial #4 - Optimization & OOP
Tech With Tim
36 OBS Studio Tutorial - Best OBS Settings
OBS Studio Tutorial - Best OBS Settings
Tech With Tim
37 Linear Search Algorithm - Python Example and Code
Linear Search Algorithm - Python Example and Code
Tech With Tim
38 Make Any Mic Sound AMAZING! (WITH OBS)
Make Any Mic Sound AMAZING! (WITH OBS)
Tech With Tim
39 Binary Search Algorithm - Python Example & Code
Binary Search Algorithm - Python Example & Code
Tech With Tim
40 Pygame Tutorial #5 - Projectiles
Pygame Tutorial #5 - Projectiles
Tech With Tim
41 Pygame Game - Mini Golf
Pygame Game - Mini Golf
Tech With Tim
42 Pygame Tutorial - Projectile Motion (Part 1)
Pygame Tutorial - Projectile Motion (Part 1)
Tech With Tim
43 Pygame Tutorial - Projectile Motion (Part 2)
Pygame Tutorial - Projectile Motion (Part 2)
Tech With Tim
44 Pygame Tutorial #6 - Enemies
Pygame Tutorial #6 - Enemies
Tech With Tim
45 Pygame Tutorial #7 - Collision and Hit Boxes
Pygame Tutorial #7 - Collision and Hit Boxes
Tech With Tim
46 Pygame Tutorial #8 - Scoring and Health Bars
Pygame Tutorial #8 - Scoring and Health Bars
Tech With Tim
47 Cloud Mining vs. Hardware Mining - 2018
Cloud Mining vs. Hardware Mining - 2018
Tech With Tim
48 How to Install Pygame on Mac OSX (Fast-Simple)
How to Install Pygame on Mac OSX (Fast-Simple)
Tech With Tim
49 Pygame Tutorial #9 - Sound Effects, Music & More Collision
Pygame Tutorial #9 - Sound Effects, Music & More Collision
Tech With Tim
50 Pygame Tutorial #10 - Finishing Touches & Next Steps
Pygame Tutorial #10 - Finishing Touches & Next Steps
Tech With Tim
51 How to Fade Your Screen in Pygame [CODE IN DESCRIPTION]
How to Fade Your Screen in Pygame [CODE IN DESCRIPTION]
Tech With Tim
52 How to Create a Button in Pygame [CODE IN DESCRIPTION]
How to Create a Button in Pygame [CODE IN DESCRIPTION]
Tech With Tim
53 Pygame Side-Scroller Tutorial #1 - Scrolling Background/Character Movement
Pygame Side-Scroller Tutorial #1 - Scrolling Background/Character Movement
Tech With Tim
54 Pygame Side-Scroller Tutorial #2 - Random Object Generation
Pygame Side-Scroller Tutorial #2 - Random Object Generation
Tech With Tim
55 Pygame Side-Scroller Tutorial #3 - Collision
Pygame Side-Scroller Tutorial #3 - Collision
Tech With Tim
56 Pygame Side-Scroller Tutorial #4 - Scoring and End Screen
Pygame Side-Scroller Tutorial #4 - Scoring and End Screen
Tech With Tim
57 How to Create A Message Box in Python - Tkinter
How to Create A Message Box in Python - Tkinter
Tech With Tim
58 Is Ethereum Mining Still Profitable - Is It Worth It (April 2018)
Is Ethereum Mining Still Profitable - Is It Worth It (April 2018)
Tech With Tim
59 How to Run MAC OSX on a WINDOWS PC (Clover Boot-loader)
How to Run MAC OSX on a WINDOWS PC (Clover Boot-loader)
Tech With Tim
60 Programming Problem #1 - Alphabet Soup (Beginner/Novice)
Programming Problem #1 - Alphabet Soup (Beginner/Novice)
Tech With Tim

The video discusses the potential impact of Vibe Coding on software engineering, highlighting the importance of critical thinking and problem-solving skills in software development. Viewers will learn about the limitations of relying solely on LLMs for software development and the value of experienced software engineers. The video also touches on the future of software engineering and the role of AI in it.

Key Takeaways
  1. Understand the basics of Vibe Coding and LLMs
  2. Recognize the limitations of relying solely on LLMs for software development
  3. Learn about the importance of critical thinking and problem-solving skills in software development
  4. Explore the role of AI in software engineering and its potential impact on the profession
  5. Consider the value of experienced software engineers in designing and developing complex systems
💡 The manual component of writing code may go away shortly, but core software engineering skills, such as critical thinking and problem-solving, cannot be completely replaced by AI.

Related Reads

Chapters (4)

| Vibe Coding...
2:16 | Free Coding Guide
3:41 | My Experience Vibe Coding
8:43 | Prediction for the Future
Up next
5 Levels of AI Agents - From Simple LLM Calls to Multi-Agent Systems
Dave Ebbelaar (LLM Eng)
Watch →