Vibe-coding is casting spells.

Vibe-coding is casting spells.

What separates effective vibe-coding from ineffective vibe-coding are the magic words you remember to use.

"use cache"

"profile optimize repeat until it i s fast enoguh"

"this is a solved problem find ht eknwo n solution"

"just us ethe api here is ht ekey"

"search arxiv etc for the real solutiom"

"use async worker"

"test via screenshots, make logs and chekc them"

"i don't believe u"

"build bench and run until green"

Then, it does the magic for you and then it solves the problem. There's like 20 "spells" like this that will just solve most problems I encounter.

How much base knowledge do you actually need? Not that much, although I'm biased with knowledge.

I need to understand what the spells do, but there's not very many of them. You accumulate this knowledge very quickly just by asking questions and reading reasoning traces - you don't have much better to do while the agent runs anyways. Hell, if I asked the agent which spell to use it could totally pick the right one. Even if I use the wrong spell, the agent doesn't brick the codebase - you just get default output.

There's some higher level pattern matching needed in understanding which problems are solved, what solutions are not plausible, some context tricks - but I think the 80/20 rule applies here. You will learn much with a few months of effort, enough to generate code at speeds beyond manual coding.

Vibe-coding feels like a small-brained activity. If it were hard, it would not be a monumental development. It is low-stakes pattern matching that's not very fun. I don't want to be a wizard - I miss the LeetCode.