A 2025 Guide to Efficient Code
YC had unleashed a new movement in the startup world. Vibe coding is a new term that has been coined marking a recognition in the shift of developer patterns.
As the developer of brainful, I have several thoughts on this, after experimenting with a range of techniques. Let’s define a clear definition: Vibe coding is simply the process of detailing a set of requirements to an LLM in plain English or a set of step by step ‘pseudocode’ and let the LLM generate a solution or set of solutions, and you act as the man in the middle, testing against your set of requirements, and reporting any pending issues in a feedback cycle, agnostic of any code that has been written by the AI. Essentially, you do not manually check the code, you check the behaviour against the generated code. The obvious benefit is the sheer speed of iteration, and the obvious drawback is the potential for new bugs and issues to arise which could be very deceptively hidden, especially if your changes span multiple files in a large project. Now, you might fall in the temptation of trying to validate everything that the LLM generates, but that is not vibe coding in its true sense, as that defeats the very purpose of ‘break fast, ship fast’. What I have concluded is, that there is no in-between that is an ideal, but rather, the separation of the phases that has the potential to make vibe coding a viable solution for projects which demand high innovation speeds, whilst maintaining code quality, rigor, and robustness expected of a production grade application. Here is the gist, I will elaborate on each in more detail below:
- - Vibe coding works in moderation.
- - Vibe coding demands AI friendly Code.
- - Vibe coding is fun.
- - Start vibing, don’t end on it.
Vibe Coding works in moderation
The worst thing that can happen to a programmer is when they become a foreigner to their own codebase. The surreal intern feel is not a productive one, and can lead to more wasted effort as the bigger hole you dig yourself in, the harder you desperately try to climb out of it by going into vicious prompt loops to fix the code you have not read or understood properly. This is why, coding more than 20% of the time using vibe coding is not recommended. An 80:20 rule is a good thumb rule. 80% focus code, 20% vibe code. In this split, vibe coding can bring 80% of the benefits, with 20% of the issues and counterintuitive time wasted that vibe coding would result in, also known as the classic ‘prompt engineer’ trap.
Effective vibe coding requires effective AI-friendly code
Whilst we might instinctively be led to believe that AI will obviously generate AI-friendly code, this is not true. AI needs grounding in high quality code, which thankfully, is what good programming practices already are. We do not need to reinvent the wheel to ‘write code for the AI era’, but we do need to ensure most of our code that is entering the codebase, is of a consistent caliber.
Vibe Coding is fun
The appeal to vibe coding is that it truly does feel like ‘vibing’, when it works. In fact, at this very moment of you reading this, I was vibing with my codebase. And that requires the prerequisite conditions specified above. Otherwise, you would end up having a miserable coding session instead, or even worse, countless wasted hours just to revert to a previous state you had 3 hours ago.
Start vibing, don’t end on it
If you do choose to vibe code, make sure you do it before you focus to reinforce key parts. Whenever you vibe code, you are blindly accepting that the codebase is more unstable and vulnerable than it was before you started. The onus is on you to invest time in due diligence to ensure at minumum, with use of good intuition, that the most likely affected parts are reinforced with heavy defensive programming practices.
répondre à la publication