Opinion Pieces

No Vibing – Why Vibe Coding Isn’t As Cool As It Sounds

Vibe coding promises faster development. Learn why AI-generated code still needs human oversight and how to use AI tools responsibly.

Two colleagues working together at a computer screen

The South African tech industry is buzzing with excitement about AI coding tools. Terms like “vibe coding” have entered our vocabulary, promising to revolutionise how we build software.

But as a Cape Town-based software development team working with AI-accelerated development, we’ve learned critical lessons about what works and what doesn’t.

In this blog post, Lorraine Steyn explores what vibe coding is and why it’s not a sustainable approach for professional software development. It also outlines how teams can use AI tools responsibly to improve productivity without compromising quality or security.

What Is Vibe Coding?

Vibe coding refers to the practice of generating large quantities of code using AI coding tools with minimal or no human review.

The developer provides high-level prompts, watches the AI generate hundreds or thousands of lines of code, and then deploys the output without fully understanding how the code works or how it fits into the broader system.

At its core, vibe coding treats AI as a replacement for software engineering, rather than a tool to augment human expertise.

But as we’ll explore, this approach often introduces hidden risks and creates more problems than it solves.

Risks of AI-Generated Code in Software Development

Recent industry events illustrate these risks.

In early 2026, engineers at Amazon reportedly reviewed their use of AI coding tools after service outages affected thousands of customers. Internal discussions examined whether AI-accelerated code deployments may have contributed to incidents with a “high blast radius,” where failures propagated across multiple systems.

The takeaway isn’t that AI tools are inherently dangerous. Rather, it’s that automated code generation without strong engineering oversight can introduce risks that scale quickly in complex software systems.

The Hidden Costs of Vibe Coding (And Why It Slows Teams Down)

While vibe coding promises speed and efficiency, the reality is quite different. The risks aren’t always obvious upfront, but they compound quickly, especially in production environments. Below are some of the most common (and costly) pitfalls.

The Perception vs. Reality Gap

Research found something striking: developers using AI coding tools estimated they were working 20% faster, yet they were actually working 19% slower.

That’s nearly a 40-point gap between perception and reality.

Why does this happen?

Because watching code appear creates a psychological illusion of productivity. It feels fast, but business value is measured in working, maintainable, and secure software, not output volume.

Inconsistent and Unreliable AI Outputs

AI coding tools, even the most advanced ones, can make unexpected and inconsistent mistakes 10–20% of the time, largely argely because they are not deterministic (they don’t always produce the same result from the same input).

These failures can make you question the entire approach, including the following examples:

  • Mocking out functionality instead of implementing it
  • Fixing a bug in one commit, then undoing the fix in the next
  • Randomly changing constants, especially version numbers
  • Adding duplicate fields or functions

In many cases, AI follows the beginning and end of instructions but skips or misinterprets critical details in the middle.

The solution is simple but non-negotiable: review every single line of AI-generated code. No exceptions. If you’re not willing to read and understand the code, you shouldn’t be deploying it.

Unnecessary Complexity and Over-Engineering

AI coding tools often generate overly complex solutions. They handle edge cases that will never occur, introduce unnecessary abstractions, and duplicate code instead of refactoring it properly.

This happens because AI models have limited context. They optimise for producing a working answer, not the simplest or most appropriate one for your system.

Without full visibility of the codebase, business constraints, or long-term maintenance needs, the model layers patterns on top of patterns. The result is code that technically works but is harder to understand, maintain, and scale.

What could have been a simple solution becomes a tangle of unnecessary classes, wrappers, and duplicated logic that future developers must untangle.

Security Vulnerabilities and Data Protection Risks

Perhaps the most serious risk of vibe coding is security and data protection.

AI-generated code does not understand your threat model, production environment, or legal and ethical obligations. It can generate patterns that would fail a proper security review and may suggest packages without verifying their security standards.

Without experienced engineers reviewing against recognised frameworks such as OWASP, teams risk introducing:

  • Broken access control
  • Insecure authentication flows
  • Unsafe data handling
  • Silent leakage of sensitive information

AI also has no awareness of South African data protection requirements, making it easy to over-collect personal data, log confidential information, or design flows that violate consent, retention, and purpose-limitation principles.

The real danger isn’t that the code doesn’t work. It’s that it works while quietly introducing regulatory exposure, customer risk, and long-term security debt.

As AI adoption increases, engineering standards must become stricter, with stronger code reviews, explicit security gates, and deeper thinking around risk and system design.

The Career Risk: Skills Atrophy

Beyond the immediate technical problems, vibe coding poses a serious career risk: if you outsource too much thinking to AI, you stop developing the skills that make you an effective software engineer.

So if vibe coding doesn’t work, should we abandon AI coding tools entirely? Absolutely not. The key is using AI to augment your skills, not replace them.

What AI-Accelerated Development Looks Like in Practice

Here’s what responsible AI usage in software development looks like:

  • You design the architecture. AI helps implement it.
  • You review every line. Not skim, but fully understand.
  • You write critical paths yourself (e.g. payments, auth, validation).
  • You use AI for repetitive or time-consuming work (tests, documentation, refactoring).
  • You maintain context awareness and catch when AI goes off track.
  • You invest in testing. Coverage should increase, not decrease.

Where AI Actually Improves Productivity

Used correctly, AI tools do deliver real gains:

  • Faster boilerplate generation
  • Reduced context switching
  • Rapid prototyping
  • Automated refactoring
  • Improved documentation

Here, the difference is how the tool is used, not the tool itself.

Best Practices for Using AI Coding Tools (South African Teams)

Based on our experience and insights from the global development community, here are practical guidelines for using AI coding tools effectively:

1. Establish Code Review Standards

AI-generated code should face even more scrutiny than human-written code. This means teams should require:

  • Clear commit messages explaining what was generated and why
  • Tests that validate behaviour, not just implementation
  • Documentation of any assumptions the AI made

2. Scale Tool Usage to Task Complexity

For simple tasks (fixing a typo, adding a logging statement), AI is perfectly fine. For complex work (designing a new microservice, implementing a payment integration), human-led development with AI assistance is far more reliable.

Use this rough guide:

  • Simple tasks: Let AI do most of the work, followed by a quick review
  • Medium tasks: AI generates, you review line-by-line and refactor
  • Complex tasks: You design and structure, and AI supports the implementation

3. Implement a Three-Strike Rule for Bug Fixes

When debugging with AI assistance, if the tool hasn’t fixed the issue after three attempts, stop and debug manually. The AI is likely stuck in a loop, and continuing will waste time.

4. Maintain Skills Through Deliberate Practice

Even when using AI tools heavily, dedicate time to writing code without assistance. Work on side projects, contribute to open source, or tackle coding challenges.

This is especially important early in your career. AI will accelerate your output, but it will also amplify mistakes if your foundations aren’t solid.

Think of it like a professional athlete doing strength training, even if their sport doesn’t require gym work.

5. Own the Mental Model of the Code

Experienced developers build clear mental models of how their systems work, allowing them to adapt and improve code quickly.

Over-reliance on AI-generated code can weaken this understanding, so maintaining deep engagement with your codebase must remain a priority.

6. Document Your Context

Create project-specific guidelines that help AI tools and developers understand your codebase. This should include:

  • Coding standards and conventions
  • Architectural decisions—and why they were made
  • Security requirements (especially POPIA-related considerations in South Africa)
  • Specific versions of libraries and why (e.g. long-term support platforms like .NET 8 or .NET 10 over .NET 9)

Choose Your AI Coding Tools Wisely

Vibe coding promises the world: rapid development, massive productivity gains, and the ability to build complex systems without deep technical knowledge. But these promises don’t hold up under scrutiny.

Recent incidents across the industry reinforce this point. Even companies with world-class engineering practices are examining how AI-generated code interacts with complex infrastructure.

The challenge isn’t the tools themselves, but the discipline with which they’re used.

What does work is AI-accelerated development: using powerful tools to enhance your capabilities while maintaining engineering rigour. Review every line. Understand your architecture. Test thoroughly. Keep your skills sharp.

The future of software development isn’t humans OR AI but humans WITH AI, working together, with the human firmly in the driver’s seat.

As a Cape Town-based software development team, we’ve embraced AI coding tools enthusiastically, but with a clear understanding of both their potential and their limitations. That balanced approach allows us to improve productivity without compromising the quality our clients expect.

The real question isn’t whether to use AI. It’s how to use it responsibly.

Let’s Build Smarter Software Together

If you’re exploring how to integrate AI into your software development process without compromising quality, security, or scalability, we’d love to help.

Get in touch with KRS to discuss your next project and see how AI-accelerated development can support your team’s goals without introducing unnecessary risk.

Looking for a software partner?

Tell us about your project and we’ll show you how our team can help.

Contact Us

Found this useful? Share it.

Written by

Lor Steyn

More musings →

Keep reading

Illustration of a designer arranging icons, screens and settings on a large interface board Opinion Pieces

27 February 2026 · Elizabeth Duff

Keeping your UX Cool in 2026

Explore UX design in 2026 and how designers can stay human in an AI-driven world, including practical insights on AI tools.

close up of someone typing on a computer keyboard Opinion Pieces

23 September 2025 · Brent Blake

What Clients Want in a Custom Software Development Partner and How KRS Delivers

Discover what businesses expect from a custom software development partner and how KRS delivers trusted software solutions for over 35 years.

A photo of scales weighing up a weight and a computer to convey KRS concept of guesstimating Opinion Pieces

28 June 2024 · Steve Randles

The Art of Guesstimating: Just a Budgetary Estimate Please?

What is guesstimating? KRS uses a combination of estimation methods, considering all relevant factors with as many players as possible.