· · Matthew Ford  · 5 min read

What is Vibe Coding: How to use GenAI for Software Engineering

What is Vibe Coding: How to use GenAI for Software Engineering

AI coding assistants are disrupting software development. We will cover a new way of creating software: "vibe coding," the practice of rapidly generating code through AI tools with minimal manual intervention. AI can accelerate the pace of delivery and allow non-technical people to create software; however, it also poses significant risks when deployed without engineering oversight. This post covers how organisations can harness the benefits of AI coding assistants while maintaining code quality and security and reducing technical debt.

The Rise of AI-Assisted Development

The software development landscape has undergone a profound transformation with the emergence of AI coding tools/assistants like GitHub Copilot, Claude Code, Cusror, Lovable, and other code-generation tools. These tools promise to increase developer productivity by generating code and writing requirements via natural language prompts.

This shift has given rise to what's now called "vibe coding," where developers describe what they want to achieve in plain language (sometimes also via dictation) and let AI assistants generate the solution, often with minimal understanding of the underlying implementation details or fundamental principles.

As your organisation's CTO or technical decision-maker, understanding both the opportunities and risks of this approach is critical to your technology strategy.

What Is "Vibe Coding"?

Vibe coding refers to developing software through AI coding tools, relying solely on the AI model to create your application. This typically involves:

  • Generating code based on high-level descriptions.
  • Implementing features with little to no human intervention.
  • Solving technical issues through prompting rather than traditional problem-solving.
  • Building applications with no knowledge of the underlying frameworks or programming languages.

While traditional development relies on deep technical knowledge and careful consideration of design patterns, data structures, and algorithms, vibe coding can sometimes bypass these fundamentals, creating what one developer aptly described as "code that works, but you're not entirely sure why."

The Business Appeal of AI-Assisted Development

The attraction of adopting AI tools for software development is undeniable:

  • Accelerate development: Features can be implemented faster.
  • Reduced costs: Less experienced developers can accomplish more complex tasks.
  • Broader talent pool: We have found that AI tools make switching programming languages easier.
  • Rapid prototyping: Ideas can be quickly converted into functioning proofs of concept.

For example, Bit Zesty recently created a web application prototype in a few hours using AI coding assistants for a potential client. This allowed them to visualise what we proposed to build; without GenAI tools, this would have taken a week.

The Hidden Costs and Risks

Despite the benefits of using AI, vibe coding comes with significant risks.

Technical Debt Accumulation

AI tools excel at pattern matching and can generate code that resembles a working solution. However, they often lack the strategic thinking needed for robust architecture.

AI models can sometimes follow the path of least resistance, potentially propagating anti-patterns and creating technical debt within your codebase that you may not detect till later on in the process, which will require significant refactoring.

Quality and Reliability Concerns

Without a human in the loop, AI-generated code can introduce bugs or issues that are very difficult to detect:

  • Edge cases: AI models may not consider all possible edge cases.
  • Security vulnerabilities: AI models can generate code that unknowingly introduces security issues.
  • Performance: AI models may not factor in the performance requirements, favouring a simple implementation.
  • Maintenance: AI models tend to use outdated versions of libraries, and if the generated code is poorly structured, it can be hard to maintain.
  • Going off the rails: There are cases where AI tools delete code that it should not, or modifies code that is correct, to then break it.

A SaaS startup recently discovered that its AI-assisted-generated application had critical security vulnerabilities that went unnoticed. Hackers exploited these to rack up their hosting costs quickly. Leading to the founder shutting down their application:

Reduced Critical Thinking

Perhaps the most concerning issue with the growing use of AI tools is that they could erode fundamental coding skills:

This sentiment reflects a growing concern among developers about the efficiency of AI tools and traditional coding approaches. There have been studies published that the overuse of AI can lead to a reduction of critical thinking.

Balancing Innovation with Engineering Best Practices

Bit Zesty plans to use AI coding assistants by establishing a balanced approach that combines AI's speed with traditional software engineering practices.

Implement a Robust Review Process

AI-generated code should never go directly into production without some form of human review. We use a multi-stage review process:

  1. Automated testing: We ensure comprehensive test coverage for AI-generated code.
  2. Peer review: We have experienced developers review all AI-generated code.
  3. Security scanning: We have automated tools to identify potential security vulnerabilities.
  4. Performance: We implement performance monitoring tools to detect any drops in performance.

Focus on Education and Understanding

One aspect of AI coding tools that I believe will prove to be very useful is using them as educational tools to chat with your codebase to understand how the application works (which is particularly useful for us as we often take over the support and maintenance of applications we have not developed). We have put in place the following practises to enable us to onboard support clients faster using GenAI:

  • Generating system diagrams and documentation.
  • Chatting to AI tools to help explain complex code or unfamiliar patterns.
  • Generating tests where there are gaps in the codebase.
  • We run learning sessions where our team discusses AI tools.

Practical Recommendations for Technical Leaders

Based on our experience using GenAI for software development, we recommend that teams:

  1. Start with low-risk applications: Use AI coding for prototypes or internal tools before production systems.
  2. Keep a human in the loop: Ensure someone is in the testing and review process.
  3. Define boundaries: Have a policy on how and where AI tools can be used in your software development workflow.
  4. Build knowledge redundancy: Ensure that multiple team members understand different parts of your codebase.
  5. Maintain sound software engineering practises: Version control, code reviews, documentation, and automated tests.
  6. Monitor quality metrics: Identify issues early by tracking defect rates, technical debt, and maintenance costs.

The Future of Software Development

AI coding tools are a powerful addition to a software developer's toolkit, but they are most effective when integrated into a disciplined software engineering practice rather than replacing software engineers.

The most successful organisations will harness AI to create software faster while maintaining the rigour and understanding of solid engineering principles. A balanced approach can ensure that the code powering your business remains robust, maintainable, and secure in the long term.

For organisations with accumulated technical debt or that need help with ongoing support, Bit Zesty offers software support services to help assess, refactor, and establish sustainable development practices incorporating AI tools without sacrificing quality.

Do you need help with your application?

At Bit Zesty, we specialise in building and maintinaing bespoke software and intergrating AI into existing applications.

Looking to build an application, but unsure of the price? Keen to discuss our experience, processes and availability?

Back to Blog

Related Posts

View all