Dohyun Jung - Principal Consultant, ROBOCO

I often get this question from developers: “This is how I develop — does that count as vibe coding?” It leaves me rather baffled. Why are Koreans in particular so fond of measuring themselves against a standard, almost like religious fundamentalists? What matters is not whether you are doing vibe coding correctly, but how much vibe coding actually improves your productivity.

There is another question I hear often: “Can you really do vibe coding without knowing any programming at all?” That is exactly what I want to talk about today.

Vibe coding is simply a convenient umbrella term for the activity of using AI to generate code from natural language. There is no particular rule saying “this is what true vibe coding is,” and there is no need for one. What matters is not the form but the outcome: whether your productivity actually went up.

TL;DR

  • The important question in vibe coding is not about form, but about how much productivity actually improved.
  • Productivity is produced jointly by the developer’s ability to define problems, the amplifying effect of tools and processes, and the performance of the AI itself.
  • Non-developers can get some help from it, but sustained results grow when you improve capability and process together.

At this point, let me propose the following productivity equation for vibe coding.

P = x * y + z

  • P: total productivity
  • x: the baseline productivity a developer can deliver. The productivity of an average developer is the baseline of 1. Of course, depending on the person, it can be below 1 — or even negative.
  • y: the productivity the tools and processes in use can deliver. If you are vibe coding and productivity is still low, that means the tools or processes are a mess and need improving.
  • z: the productivity AI can deliver on its own. Even without a developer, AI alone can produce a certain amount of output, but this value depends entirely on the AI’s performance.

There are three points I want to emphasize with this equation.

First, it is partly true that this lets non-developers do development, but the scope and level are limited. Because you have to rely entirely on the AI (z), that value ultimately cannot exceed what the model or tool provides. Even if you cannot code, if you can clearly describe how the product or service you want to build should behave — that is, if you can write a clear requirements specification — you can add something to the developer’s productivity (x). Recently, though, if you have even a basic grounding in software engineering, it has become possible to write a requirements specification above a certain level with the help of AI.

Second, the essence of vibe coding ultimately lies in amplifying developer productivity. So if you want to raise productivity, the most effective strategy is to grow your own ability (x) or adopt better tools and processes (y). Your own ability here does not mean the ability to produce code as a software developer. It means the ability, as a problem solver, to clearly recognize and define a problem and propose an appropriate solution for it. In vibe coding, as long as you plan well, you can offload the concrete execution to the AI.

Third, tools and processes matter too. Using tools or processes that do not fit your development style can actually lower productivity. Depending on which model, which tools, and which processes you use, not only productivity but also the scope and level of what you can build changes dramatically. In addition, in the early days of adopting vibe coding, you may see a J-curve dip in productivity. That said, appropriate training can shorten the period of declining productivity.

In conclusion, the L4 vibe coding that we aim for at ROBOCO is not a cure-all. It is not magic — it is simply one development approach that maximizes the developer’s capability and the power of the tools. So to improve productivity, focus on improving your tools and processes along with the developer’s capability.