VOOZH about

URL: https://thenewstack.io/vibe-coding-fails-enterprise-reality-check/

⇱ Vibe Coding Fails Enterprise Reality Check - The New Stack


TNS
SUBSCRIBE
Join our community of software engineering leaders and aspirational developers. Always stay in-the-know by getting the most important news and exclusive content delivered fresh to your inbox to learn more about at-scale software development.
REQUIRED
It seems that you've previously unsubscribed from our newsletter in the past. Click the button below to open the re-subscribe form in a new tab. When you're done, simply close that tab and continue with this form to complete your subscription.
The New Stack does not sell your information or share it with unaffiliated third parties. By continuing, you agree to our Terms of Use and Privacy Policy.
Welcome and thank you for joining The New Stack community!
Please answer a few simple questions to help us deliver the news and resources you are interested in.
REQUIRED
REQUIRED
REQUIRED
REQUIRED
REQUIRED
Great to meet you!
Tell us a bit about your job so we can cover the topics you find most relevant.
REQUIRED
REQUIRED
REQUIRED
REQUIRED
REQUIRED
Welcome!

We’re so glad you’re here. You can expect all the best TNS content to arrive Monday through Friday to keep you on top of the news and at the top of your game.

What’s next?

Check your inbox for a confirmation email where you can adjust your preferences and even join additional groups.

Follow TNS on your favorite social media networks.

Become a TNS follower on LinkedIn.

Check out the latest featured and trending stories while you wait for your first TNS newsletter.

PREV
1 of 2
NEXT
VOXPOP
As a JavaScript developer, what non-React tools do you use most often?
Angular
0%
Astro
0%
Svelte
0%
Vue.js
0%
Other
0%
I only use React
0%
I don't use JavaScript
0%
Thanks for your opinion! Subscribe below to get the final results, published exclusively in our TNS Update newsletter:
NEW! Try Stackie AI
From clobbered drafts to real-time sync
Apr 14th 2026 10:00am, by David Moore
TypeScript 6.0 RC arrives as a bridge to a faster future
Mar 14th 2026 9:00am, by Darryl K. Taft
Mastra empowers web devs to build AI agents in TypeScript
Jan 28th 2026 11:00am, by Loraine Lawson
2025-09-10 16:00:06
Vibe Coding Fails Enterprise Reality Check
AI / Java / Software Development

Vibe Coding Fails Enterprise Reality Check

AI code generation promises easy software development through plain English, but some say training data quality and language ambiguity make it unsuitable for enterprise use.
Sep 10th, 2025 4:00pm by Darryl K. Taft
👁 Featued image for: Vibe Coding Fails Enterprise Reality Check
Featured image by Philip Oroni for Unsplash+.

The promise is irresistible: Describe what you want in plain English, and AI spits out working code. This “vibe coding” approach has everyone from startup founders to enterprise CTOs wondering if they’ll still need programmers in five years.

Java creator James Gosling shared thoughts on that with The New Stack earlier this year, saying “as soon as your [vibe coding] project gets even slightly complicated, they pretty much always blow their brains out.” He added that vibe coding is “not ready for the enterprise because in the enterprise, [software] has to work every fucking time.”

After speaking with Simon Ritter, deputy CTO at Java platform provider Azul Systems, about AI code generation, two fundamental problems keep surfacing that suggest Gosling’s skepticism is well-founded.

Garbage In, Garbage Out

The first problem is training data. AI coding tools learn from existing code repositories — places like GitHub and Stack Overflow. But here’s the catch: Most code out there isn’t very good, he argues.

“You could suggest, ‘Well, OK, let’s just use all the code on GitHub,'” said Ritter, a software architect who has been building enterprise systems for decades. “Is that going to give you good code? Probably not.”

He noted that GitHub is full of abandoned experiments, student projects and quick hacks. Stack Overflow answers often prioritize getting something working over getting it right. Unlike training ChatGPT on the collected wisdom of human knowledge, there’s no obvious source of consistently excellent code at the scale needed for AI training, Ritter said.

In computer science, garbage in means garbage out. Train an AI on mediocre code, and you’ll get mediocre results.

The English Problem

The second issue is that English is a terrible programming language, Ritter told The New Stack.

Consider this sentence: “The chicken is ready to eat.” Are we talking about a live chicken ready for dinner, or a cooked chicken ready to be eaten? Both readings are perfectly valid, he said.

Or try this shopping instruction: “Get two pints of milk, and if they have eggs, get 12.” Twelve what — eggs or pints of milk? The ambiguity is baked right into the language.

“This is really one of the reasons that we have programming languages in the first place,” Ritter explained. Programming languages exist precisely because natural languages are ambiguous. A compiler can only interpret “if (x > 5)” one way. There’s no room for misunderstanding.

You can try being more precise in your English descriptions, but there is always another edge case, another way to misinterpret what you meant. That’s why we moved beyond natural language for programming in the first place, Ritter said.

Where AI Actually Helps

None of this means AI is useless for coding. It’s already proving valuable in specific ways:

Modern IDEs with AI assistance are genuinely helpful. Set an X coordinate, and the system will often correctly suggest setting the Y coordinate next. This kind of fine-grained code completion makes developers more productive without the reliability issues of generating entire applications.

AI also excels at generating individual methods or classes when requirements are specific and bounded. Need a database access class for a known schema? AI handles that well. Want to refactor legacy code? AI can modernize existing implementations where the original intent is clear from context.

For quick prototypes and personal projects — like the NFL team tracker app I vibe coded with DevOps Pioneer Gene Kim — vibe coding works fine. If it breaks, you shrug and try again.

But this is where Java’s enterprise dominance becomes important. Java was not designed for quick experiments or throwaway code. It was built for the long haul — applications that need to run reliably for years or decades, maintained by teams of developers who were not around when the original code was written.

The Java ecosystem reflects this reality. Enterprise Java applications typically involve extensive frameworks, rigorous testing protocols and detailed documentation requirements, Ritter said. These are not nice-to-haves; they are necessities when your code processes millions of financial transactions or manages patient healthcare records.

Enterprise Reality

Enterprise development is different. When you’re building systems that handle healthcare data, financial transactions or critical infrastructure, “shrug and try again” is not an option.

Enterprise applications require extensive unit testing. Are you going to trust AI-generated tests to validate AI-generated code? Ritter asked. They need rigorous code reviews, which means skilled developers must understand and validate every line — somewhat defeating the purpose of eliminating programmers, he said.

Then there is maintenance. Enterprise applications often run for decades. Future developers need to understand and modify code that was not written by humans, based on natural language specifications that may have been ambiguous from the start.

“Most people do code reviews,” Ritter said about serious development. “You’re going to need people who have the skills to do that, so you’re kind of reducing the benefits of trying to eliminate the need for coders.”

The Real Future

Vibe coding is not about to eliminate programming jobs — at least not for work that matters. The future probably looks more like sophisticated autocomplete than wholesale code replacement, he said.

This isn’t necessarily bad news. Programming languages have always evolved toward higher-level abstractions. We moved from assembly to C to Java to modern frameworks, each step making developers more productive while maintaining the precision that serious software requires, Ritter said.

AI will undoubtedly play a bigger role in that evolution. But the fundamental tension between natural language ambiguity and software precision suggests human programmers are not going anywhere soon.

TRENDING STORIES
Darryl K. Taft covers DevOps, software development tools and developer-related issues from his office in the Baltimore area. He has more than 25 years of experience in the business and is always looking for the next scoop. He has worked...
Read more from Darryl K. Taft
SHARE THIS STORY
TRENDING STORIES
TNS owner Insight Partners is an investor in: Real.
SHARE THIS STORY
TRENDING STORIES
TNS DAILY NEWSLETTER Receive a free roundup of the most recent TNS articles in your inbox each day.
The New Stack does not sell your information or share it with unaffiliated third parties. By continuing, you agree to our Terms of Use and Privacy Policy.