Understanding the vibe coding trend and considerations for developers

coding
(Image credit: Pixabay)

AI is democratizing access to software development in new and innovative ways, with 'vibe coding' emerging as the latest buzzword for budding developers. For the uninitiated, vibe coding makes it easy for anyone to get a head start on projects, by merely describing what they want AI tools such as Cursor, GitHub’s Copilot or Replit to accomplish.

This is no small thing, especially for those who before had not been able to create software on their own. However, vibe coding requires a high level of trust in the AI’s output, and there are potential trade-offs in confidence and security for a faster turnaround and expanding capabilities to those who would not otherwise be able to code.

Ben Matthews

Exploring the latest AI technologies

Exploring the latest AI technologies can undoubtedly help developers experiment with new ways in which to do things better and faster, and vibe coding is no exception. However, even Andrej Karpathy, the former AI director at Tesla who coined the term, advises that the methodology is better suited for “weekend projects” than for more complex projects.

For smaller, proof-of-concept style projects, the speed of vibe coding can shine, but as things grow so does the need for important context and knowledge of edge cases. Vibe coding practicalities aside - recognising security exploits, lack of contextual understanding, bug fixing and software life cycle/maintenance considerations – there’s also a larger issue at play.

For AI-powered coding grunt work to improve in any format or scale, socially responsible AI must be the foundation on which technology solutions are built and delivered. The more trusted and accurate the data that large language models train on, the higher quality the outcome - for the code and most importantly, for the larger tech community.

There is a need for a symbiotic relationship to form: data helps create and improve AI experiences, and AI experiences help guide new, human verified information.

Understanding the opportunities and risks associated with vibe coding

AI continues to democratize access to software development in new and innovative ways for aspiring developers. Developers can ask AI tools such as Cursor, GitHub’s Copilot or Replit to help initially scaffold what they would like to see at the beginning of a new project. This is where AI generated code can be very powerful, and I use it on my own homegrown projects.

There is little need for context, edge cases are much fewer, and security concerns are more “standard” than other larger projects with bespoke needs. However, the trade-off for improved speed can be a sacrifice in potential security concerns as those code bases grow.

For budding programmers, vibe coding has the potential to provide the necessary support during the early stages of a project, and anything that gets more people into our field and shortens the learning curve to coding is always a good thing. But caution should also be exercised given the risks associated with the method for things outside of some early, base use cases.

Handing over the reins to AI

Andrej Karpathy describes vibe coding as interacting with AI to assist developers shift away from manual programming activities through LLMs (large language models), prompting developers through intuitive decisions to make it easier to create software as LLMs continue to improve code writing skills.

To fully embrace vibe coding, developers must cede much of the control to the AI assistant during the entire process, rather than becoming aware and having an understanding of the code as it is put into the codebase.

As LLM assistants continue to improve their corpus of knowledge on developing code, real-time decisions and predictions are made around what you would like to happen next to successfully complete a project, but these are still assumptions and educated guesses based on the experiences of others.

Vibe code with caution

It should always be remembered that every coding process cannot be overseen exclusively with the help of AI assistance. Small, low-risk side projects are ideal for vibe coding. When it comes to larger, more complex projects – a human should always be a first-class part of that loop.

AI coding tools powered by LLMs can and do produce mistakes. Developing larger datasets of information and considering other factors such as quality control and security requires an expert eye to monitor flaws or weaknesses that could be new or unexpected to an AI who is only thinking of other use cases, or the most common ones.

Knowledgeable developers are able to identify and test vulnerable code themselves – LLMs are sometimes simply unable to even register any mistakes they may produce.

In short, what the AI assistant doesn’t know, it will not flag as an issue – be that a bug or security vulnerability, AI can be quite confidently wrong. Vibe coding is a new trend for the industry but cannot be seen as a silver bullet or license for cutting corners in the development process when quality and stability matter.

Human expertise must always contribute to the process along the way as code bases grow, either vertically or horizontally.

We list the best site for hiring developers.

This article was produced as part of TechRadarPro's Expert Insights channel where we feature the best and brightest minds in the technology industry today. The views expressed here are those of the author and are not necessarily those of TechRadarPro or Future plc. If you are interested in contributing find out more here: https://www.techradar.com/news/submit-your-story-to-techradar-pro

Senior Director of Engineering, Stack Overflow.

You must confirm your public display name before commenting

Please logout and then login again, you will then be prompted to enter your display name.