2 min read

Vibe Coding Has Weak Aura

Vibe Coding Has Weak Aura
This was exactly two months ago!

Vibe coding is all the rage right now. Apparently Andrej Karpathy only coined this term back in February, which is wild to me because I feel like I've been seeing takes about it for the last five hundred years. Probably if you're reading this I don't need to define it for you, but for friends who are less stuck in the programmer suffering mines: vibe coding is when you write your code entirely with LLMs and it mostly works.

Plenty of people have pushed back on the concept of vibe coding because, fundamentally, it results in deskilling for experienced programmers and the total inability to learn or understand code for juniors. Generally I agree with these points and they've been elaborated on well enough elsewhere for me to not get into it too much. If you become entirely reliant on an external tool and lose your understanding of how to solve problems yourself, what happens when that tool is down, or it encounters a problem it can't solve? Seems like a troubling situation to put yourself in.

I do think one thing that is under-explored in criticism of vibe coding is that, like, most of the annoying and complex domains in which I spend most of my time as a professional engineer do not appear to be what vibe coders are making. If you can vibe code out a simple react app or a python script, good for you, but all the people blown away by this seem to not understand that it's addressing heavily documented and solved problems. I think the fact that ML guys don't usually do day-to-day web dev work makes their analysis of its utility flawed. Until I see a framework that can, I dunno, help me fix a permissions error in selinux - that can consistently solve the weird, specific, difficult issues of running an application in production rather than making some iteration on the same "my first ___ application" problems - I'm not gonna be convinced that this is the future. Maybe that's coming, but it's not here yet, at least not as far as I've seen. Until then I'm gonna keep mostly writing code by myself and occasionally using copilot to autocomplete.