Vibe code is legacy code
Steve Krouse talks “vibe coding”. First of all: what is it?
Andrej Karpathy coined "vibe coding" as a kind of AI-assisted coding where you "forget that the code even exists."
We already have a phrase for code that nobody understands: legacy code.
In other words: code generated by LLMs is tech debt if nobody understands it.
Again, for those in the back: LLMs generate tech debt if nobody understands it.
When you vibe code, you are incurring tech debt as fast as the LLM can spit it out. Which is why vibe coding is perfect for prototypes and throwaway projects: It's only legacy code if you have to maintain it!
Wasn’t it Shakespeare who said: “to vibe is to not understand”.
Vibe coding is on a spectrum of how much you understand the code. The more you understand, the less you are vibing.
Kinda love the analogy to buying with a credit card:
If you don't understand the code, your only recourse is to ask AI to fix it for you, which is like paying off credit card debt with another credit card.
A valuable lesson we all have to learn at some point:
sometimes it's easier to start over with building a well-written code base from scratch than to fix a legacy one that nobody understands.