Vibe Coding: Revolution or passing fad?

For a long time, the software industry has been trying to democratize the creation of applications. The transformation began a long time ago and has continued to the present day, trying to make what was once a field reserved for programming experts, now accessible to everyone. The emergence of low-level (assembler), medium-level (C, Fortran, Pascal…) and high-level (Java, Python, PHP…) languages moved us away from machine language towards languages that are more understandable to humans. This was followed by integrated development environments (IDEs) such as Visual Studio Code, which facilitated library integration and offered features such as auto-completion and visual debugging. Later, visual development tools and drag and drop platforms, such as Wix or Squarespace, appeared, allowing non-technical users to design even functional websites. The arrival of low code and no code solutions, such as Appian or OutSystems, marked a new milestone by enabling the creation of complex applications through graphical interfaces and minimal configurations, almost completely eliminating the need to write code for simple applications. But the journey does not end here.

With the emergence of generative artificial intelligence, a new field appears where this journey continues, with terms such as “vibe coding” appearing. This term, coined by renowned artificial intelligence researcher Andrej Karpathy in February 2025, describes an approach to application development where programmers use artificial intelligence (AI) tools to generate code from natural language instructions. This implies that programmers can be people without any technical expertise. Instead of writing lines of code manually, vibe coding allows users to “talk” to the AI, describing what they want to create, and let the system translate those ideas into functional applications. Promising, isn’t it? But does this mean the end of programming as we know it now? Let’s see a little more.

What is Vibe Coding?

Vibe coding is more than just a tool; it is a shift in the programming paradigm, it is a change in mindset. Instead of focusing on syntax, technical details and solution structuring, developers – or non-developers – describe their ideas in their own everyday language. For example, instead of writing a Python script to create a dashboard, a user might say, “I want a dashboard that shows daily sales by region, with interactive graphs and mail alerts if sales drop by 10%.” Tools like Cursor, Amazon Q Developer, Replit Agent or GitHub Copilot (among thousands of others), driven by large-scale language models (LLMs), interpret these instructions and generate the necessary code. Is it to be expected that the code will be perfect on the first try? No, usually not, but if there are errors, the user can iterate with new prompts, such as, “Correct the graphic to use more vivid colors.”

It seems clear that this approach, described by Karpathy as “surrendering to feelings” and forgetting that the code exists, is one more step towards the democratization of software development. Lately, many people have been claiming to have built complete functional applications, simply by using AI and without any technical knowledge.

Vibe coding post from Adrej Karpathy

Implications of Vibe Coding

  1. Democratization of Software Development

We have briefly seen how vibe coding removes certain traditional barriers, allowing non-technical people to create applications. This has profound implications for startups and small businesses.

However, this democratization has a dark side. The ease of creating software can saturate the market with low quality or insecure applications. One only has to read how in different forums cases are reported where solutions entirely made by AI are subject to successful attacks. This underlines the importance of combining vibe coding with human reviews to ensure quality and security.

  1. Changes in the Job Market

Vibe coding is redefining roles in the technology industry. According to a Salesforce report, AI adoption has increased productivity by 30%, leading some companies to pause hiring engineers. This raises questions about the future of traditional developers. Will they be replaced?

The answer is not so simple. While vibe coding can automate repetitive tasks, such as writing boilerplate code or debugging basic bugs, expert developers are still essential for designing complex systems, optimizing performance and ensuring security, as we have seen in the previous point. For example, at Thoughtworks, experiments with vibe coding showed that, although AI generated functional applications quickly, they presented certain problems such as lack of scalability or difficulty of maintenance. This suggests that developers will not disappear, but their roles will evolve into more strategic functions, such as prompts engineers or system architects.

However, less skilled developers or those performing routine tasks could see drastic changes in their landscape. I recall a comment in one article stating that vibe coding will “replace lazy, non-creative developers,” while innovative engineers will still be needed. This shift could polarize the job market, with a high demand for experts and a reduced need for junior coders. But how does one become a senior without having been a junior? You need experience in order to become an expert.

  1. Transformation of Work in Enterprises

In enterprises, vibe coding can also change the dynamics of development teams. During the development phase, the use of AI reduces the need for engineers and puts more emphasis on defining “what to build” rather than “how to build it.” 

On the other hand, vibe coding enables cross-disciplinary collaboration. Product managers, business people and designers can participate directly in development by using natural language prompts, accelerating iteration. This fosters a culture of rapid experimentation, but also raises governance and maintenance challenges: how to document decisions when code is generated conversationally? In addition, a Harness report noted that vibe coding can dramatically increase debugging time, as developers must understand code they did not write. This suggests that, although vibe coding speeds up initial development, it can generate technical debt if not managed properly. And we return to the point described above. Developers who must understand code they did not write will do so more accurately and quickly if they are senior. But how does one become a senior without having been a junior?

Is it Good or Bad for the Future?

Like everything in this life, vibe coding has positive and negative sides, but there is no getting away from the fact that it has the potential to be a transformative force, but its impact depends on how it is adopted. 

Benefits

  • Allows startups and established companies to test ideas quickly, reducing time to market.
  • Empowers non-programmers to create software, expanding the technology ecosystem.
  • Frees developers from repetitive tasks, allowing them to focus on complex problems.

Risks

  • AI-generated code may contain bugs or vulnerabilities if not carefully reviewed, directly impacting the quality and security of the final product.
  • Lack of understanding of the underlying code can make debugging and maintenance difficult, potentially incurring maintenance cost overruns and not being cost-effective.
  • It could displace less skilled developers, increasing the gap between experts and novices. What’s more, it could leave us without experts in the future.
Post from Judah Diament, expert in computer science

From experience with the teams I work with and have contact with, vibe coding is seen as a great tool for proof-of-concepts and prototypes, but not for full applications (maybe it’s just for the moment). For full applications, developer-IA collaboration delivers the best results. Over 90% of developers (even old-school experts), claim better performance using AI as support (I think the rest are afraid to say they are better with external help). This performance is reflected in better understanding of existing code (very important in environments with high developer turnover), help with complex algorithms, understanding and resolving bugs, refactoring and help with documentation.

Many times I have heard that the technological advances that were happening were going to be the end of programmers, but the reality is that they are still essential. From my point of view, it seems that vibe coding will not replace traditional developers, but will redefine their roles. Expert developers will still be key in aspects such as:

  • Designing complex software architectures.
  • Optimizing code performance and security.
  • Managing systems in production, where accuracy is critical.

Also, as the Thoughtworks study shows, a mix of human development and AI generates better results across the board.

Developers focused on thinking, AI on writing. All indications are that programmers who embrace these tools and develop skills such as prompt engineering will be better positioned to thrive. However, it will be time that will prove the potential of AI to transform work and whether it is truly a blessing or a threat to traditional developers (and companies).