Skill Issue? Yep.
Struggling with AI tools is a skill issue, but it's not the one the boosters say it is.
You've probably heard the claims by now. "Natural language is the future." Vibe coding services have sprung up all over the place, and now you no longer need to learn programming languages and syntax or understand any technical concepts. Companies like Replit are betting the farm on the idea that humans don't need to touch the code, so you don't need any of that pesky learning anymore.
Well, marketing eventually has to meet reality, and one of the big benefits of my corporate training and mentorship is getting to see what happens when people with poor fundamentals vibe code.
But you don't have to take just my word for it, because this is being actively studied. In this study, a team at ETH Zurich ran a preregistered study with 100 university students to see which skills predict whether someone can vibe code well.
If you think fundamentals aren't important, prepare to be disappointed.
The Study
I really like the premise here, because if you're going to measure vibe coding, you first have to define it. The researchers took the most literal form: describe what you want in plain language, look at what the machine built, and iterate. And when I say "look at what the machine built", I'm talking about the program, not the code.
My criticism of this study, which is one I bring up a lot, is how much extra information the participants get that just isn't there in the real world. In this case, each student got a sample app to play with, so they could get a real look at the domain, then recreate or extend it with an LLM using a custom harness, controlled for consistency.
The harness you use for LLMs makes a big difference. I can assure you of that from my own research.
A human grader scored the final apps, and every student took three tests measuring computer science achievement, written communication (writing about a technical topic), and a general cognitive test to control for "smart people are good at things in general".
It's a small study (N=100), but it directly reflects my own training experiences.
The Findings
Unsurprising to me were the findings. There are two things that predicted who could build a working app under the test conditions:
- CS achievement correlated with vibe coding performance and was significant even controlling for general cognitive ability.
- Writing skill was a weaker correlation, but again, this shouldn't be surprising since expressing clear intent requires writing skills.
The data show that CS knowledge contributed more than writing, but they are independent skills, and each contributed. However, people with strong CS achievement and strong writing skills did best because they could understand the systems and clearly describe what they wanted.
I see this every time I run a training course, and I've written about it extensively here. The point is that we already have a language that expresses intent perfectly clearly; that's called code. If you know how to code and express coding concepts clearly, the LLM has less guesswork and produces better output.
For example, I recently worked with an engineer (not CS) who wanted to vibe code some web pages as an experiment. A handful of pages in, and there were over 4,000 lines of CSS. Duplication everywhere, dead styles (unused), and if they had kept going, they would have ended up with a god-awful mess.
But at a glance, the pages looked ok... and that's the danger.
Let's Talk About Skill Issues
Now, if you follow some online forums, like Reddit, you'll quickly see a pattern in the AI subs. The boosters claim that when a half-assed slop application is called slop, it's a "skill issue", as if the poster isn't using AI the right way. As if they're just not "prompting right", or they're not using "agentic loops", or whatever nonsense phrases of the day are.
And they're not wrong; it is a skill issue, but the real skill issue is that the people getting good outputs bring strong fundamentals to the table and use the tools to move faster.
I keep coming back to this because it keeps being true: the ability to understand how things work, think clearly about them, and express yourself in a structured way with clear intent is the bar for using these tools. Garbage in, Garbage out. It's been true since I turned on my Commodore 64 as a child, and it's still true today.
LLMs are amplifiers. They amplify what you bring to the table. When you leave gaps in your prompts, procedures, and specs, the LLM happily fills them in, and they usually do a shit job.
There's another learning implication too. I've often advised my learners to work on their communication skills. And if the data continues to show that writing quality impacts outcomes (I bet it will), then you'd best start working on your general literacy.
And that's the good news. The path to getting better at AI-assisted workflows involves improving your technical fundamentals and communication, which are broadly useful in life even outside of IT.
Keep studying. Happy coding.