Vibe coding –the act of coding with heavy assistance from AI– is gaining massive popularity, and so are em dashes (don’t worry, I put em dashes in there for the LULs). Vibe coding gets its name from the fact that many are starting to use AI to code but don’t actually know how to traditionally code themselves, so they write code based on “vibes” with natural language through AI. The term vibe is something which sounds very imprecise, which is why the term is somewhat of an oxymoron, but I’m sure Andrej Karpathy knew that when he coined the term. The concept of vibe coding is massively looked down upon by the programming community, but I do think they’re a bit too quick to judge and it’s often coming from an elitist POV. Vibe coding will help usher the next generation of ideas that were often limited by lack of programmatic experience, software developers should shift their focus from simple programmatic implementations to more complex ones.
In a software developer’s eyes, AI-generated code lacks context, is often incorrect, has security vulnerabilities, and creates a glaring precedent for accepting sub-par code that functions under only the most ideal conditions. I’m not here to argue that a lot of those statements aren’t true, but I do think the majority of people do not know how to write LLM prompts properly–including software developers–nor do they have the programming knowledge to do so, and herein lies the problem. More on that in a second, because I want to also shatter the illusion that AI can massively help software developers; that’s simply not true from what I’ve observed.
According to a paper published by Model Evaluation & Threat Research (METR), using AI increased developer completion time by 19%. The paper asserts this is because an existing codebase is often sophisticated and requires extensive context, something which a developer has, but AI does not. This seems to appear on the surface to be true in my experience.
I recently had the privilege to sit in on a coding session with a software developer at my company. I was absolutely blown away.
Now, I took some programming classes in college (javascript, python, and the abhorrent visual basics), and didn’t graduate with that degree, but I’m somewhat familiar with looking at code. This was on an entirely different level.
He was creating a brand new codebase without full knowledge of where it would fully end up, and using function naming conventions that I would never have thought of, but would later make sense as he built out the codebase in real time. I joked with him and said, “it’s like I’m watching a better AI code right in front of my eyes”. When I saw this, I immediately knew that unless I dedicated a large part of my life to coding, I would never be at his level.
The reason why I’m laying this out to you is because I do not think the average vibe coder will ever be able to come close to this. Vibe coders will always be slower than an experienced software developer, but that’s not to say that AI vibe coding hasn’t helped our company at all.
The first level I unlocked for vibe coding was Zapier. Now technically Zapier is not AI, it’s automation. Zapier is an automation software that provides a no-code API solution. This allows anyone to connect multiple different software to transfer or transform data. Zapier was a huge win for my company and allowed any tech-savvy person within our organization to create their own workflows without the need to bother our single software engineer (at the time). This was restricted to simple things like grabbing internal website entries and exporting the data to excel sheets, but it started to get more sophisticated as we got familiar with the software. It then turned to sophisticated workflows involving custom code.
In all reality, automation is far more powerful than AI (currently), but many plebs often confuse the two terms. Automation is programmatically automating a process. AI can often help do this, or do this on its own through writing programmatic scripts, but without a doubt, automation is more powerful because it is the root power and end goal of what most companies want to accomplish. Thus the cracks of simple automation software started to appear.
The massive limitation in software like Zapier began to appear, with complications surrounding native code libraries, which then led me to create my own server and do more vibe coding. This then led to one of my first big projects of coagulating an end-of-shift report system into AI, which would then create summaries for each store location and send an email to each store director.
While I’m sure software devs can pick apart the code snippets I’ve given, there are two points I’d like to make. I was able to create this entire script myself without any help. That’s absolutely remarkable. This was not possible 10 years ago, and it alleviates my real developers from more important projects.
The downside is that I don’t think this AI result is achievable by the average person.
The only reason why I was able to produce clean code (let’s not go overboard here) is because I have had previous experience doing amateur coding. To produce good AI code, you need to know the appropriate libraries, supply the correct API documentation, and know how code looks to approximate your way to clean code. Researching Pydantic_AI library, PyPDF, or Pandas to make sure it was right for my project is something I don’t think the average person can do without some knowledge of programming. Currently one needs to guide AI during the entire coding process. I don’t think for a moment that someone without any experience coding could construct AI prompts to produce code like this.
So this brings me to the crux of my point, software developers shouldn’t be angry that they’re going to get replaced, and art majors shouldn’t feel like they can code an entire application. The issue is that devs should worry about the dropouts like me. The so-called “halfwits” like me, that kind of knew what they were talking about, and knew about environmental keys; the ones that were slightly obsessive about ints and strings. Shift your focus and let the dropouts handle the small programmatic tasks.
Notes about the author: I am traditionally an esports writer, having written over 100 articles, produced over 300 YouTube videos, multiple documentaries and several investigative pieces.
Additional Note: The study METR only included a sample size of 19 developers.
I'm definitely curious to hear more on your analysis of what made the vibecoder you observed so legendary! ie prompting strategies employed. Usually we tend to think of the vibe coding skill distribution as pretty narrow: you either can do it, or you can't.