
In case you have not yet caught on to the latest hype around AI, let me introduce you to the concept of vibe coding. It is popularized by Andrej Karpathy, an AI researcher, whose credentials are impressive and therefore his tweet hit more than 4 million views.
I show the snapshot of the actual tweet below because I would not do justice to the fad this has unleashed by trying to explain it. I can only pity the developers who have taken this advice seriously and have stopped ‘developing’ and now only ‘vibe’. In my earlier blog, I had mentioned that I see the launch of ChatGPT as the beginning of the dumbification of humanity; similarly, I see this vibe coding as the beginning of dumbification of software engineers and developers.
Andrej calls it out in his tweet, but I am sure most of the folks will not pay heed to the subtle warnings, like ‘… code grows beyond my usual comprehension …’. This, coming from a, presumably, rockstar coder. If I were a CIO/CTO in an enterprise, I would restrict the use of vibe coding to only POCs and demos and make sure that none of it gets into a production system. I say this after having experimented with vibe coding for more than three months now.

The code generated by the LLMs is sloppy, which goes in line with the AI slop that many in the media have reported recently. If you are well versed with how the models are trained, you will say, “Of course! Most of the code available on the Internet is average at best, no wonder the models trained on this code will generate sloppy code.” For example, instead of using list comprehension in Python, it may generate a ‘for loop’. In defense of the LLMs, they do correct themselves if you nudge them or give the right instructions.
Conclusion #1: Code generation is the best thing that could happen to a senior developer who has solid understanding of software engineering principles and knows his/her stuff. Such person can skyrocket their productivity by 10x with LLM as a sidekick to generate the first draft of code. Note the emphasis.
Conclusion #2: Business Analysts will be replaced by prompt engineers. In fact, I can confidently say that the roles of BA (Business Analyst), SA (Systems Analyst) and Developer are going to merge into one with prompt engineering thrown in. So, techies, start learning or brush up on your linguistic skills. Non-techies, get a hang of basic coding principles.
Conclusion #3: Developers who can only ‘vibe’ will be replaced by LLMs as they grow better at generating the code, which they will soon. I will go on a limb to say that AI will not level the field for mediocre performers and high performers. In fact, the high performers using AI will become 10x better than mediocre performers using AI. Let the talent wars go on hyperdrive, if they are not already!
Conclusion #4: Vibe coding is best when restricted to POCs and small programs. The code gets really messy, real fast and you may end up spending days debugging and cleaning the code than writing it afresh. Rockstar developers, please ignore this conclusion. You know what to do 🙂
Conclusion #5: Generate the first draft using LLMs and then polish it up (clean, optimized, with graceful error handling) using your own skills. Do not consider the generated code as final or ready for production. This is opposite to, what my friend Panchalee says about using LLMs for content, where you should generate the first draft and then use LLMs to polish it.
The current use of this term is in context of coding, but I believe that ‘vibing’ will become a parlance in all domains. Content creators will vibe with the AI to generate and polish content, researchers will vibe with AI to brainstorm ideas, and so forth. ‘Vibing’ will be to AI what Googling is for Internet search.

One more thing (thank you SJ), AI will amplify your core skills. If you are a rockstar engineer, you will become 10x better at what you do. If you are a mediocre engineer, you will become 10x better at being mediocre. The same goes for content creators, researchers and everyone who will be vibing soon.