Vibe coding is killing software engineering. No, it’s not killing the job, but the craft of cooking great software.
When vibe coding, you can come to a point where you even forget the syntax of the language. Yes, it happened to me. After some 8+ years of Python, i forgot colons etc when coding by hand after a vibe coding streak.
Forgetting syntax is not so catastrophic as making bad decisions. Recently i asked chatGPT to improve the performance of a script. Fair, it made valid points. I asked it to code the script. It did. Great! Except that when i timed the script, the ‘improved’ version was slower …
What about designing a whole system? Designing whole systems from scratch involves knowing the whole context, one detail might influence a decision completely! What about the fine details? What about carefully considering each and every option and providing snappy performance by deciding to improve a non-obvious part?
The essential point is that as less and less our brains are trained to think, results will be worse and worse. Vibe coding is like automating what you know. If you ride off the model’s base knowledge and ignore developing yourself, you won’t know how to exact the best out of LLMs and won’t discern when we should ignore the LLM.
Vibecode an entire codebase and you currently regret it. When you sit down to read the code, you are appalled. Appalled at how it missed some obvious parts and how some parts of the codebase is duck-taped by code even a junior would have refused to code.
As LLMs are constantly being trained and updated on the latest techniques, it tries to shoot for the moon when it can. How many times we included a complex vibe-coded code though we don’t understand it fully as it works and we are wowed that it solved a pain point? Did we take the time to pause and understand the code?
Wacky codes craft train wrecks. Software quality was already going down due to inconsiderate, lazy and poor developers. Now it’s going to get far worse as not all people can handle powerful pieces being put in their hands. They don’t understand but ship it anyway. They don’t see the need to develop themselves and trust the LLM to fix things.
We are in for a real ride and true engineers will distinguish themselves. Engineers who use Ai, not clueless engineers who rely on Ai to replace themselves.