I’ve spent countless hours of my career staring at a blinking cursor, trying to translate a complex idea into clean, functional code. But recently, a new method has emerged, one that feels less like architecture and more like alchemy. It's a practice Andrej Karpathy aptly named "vibe coding."
Vibe coding is the act of using AI-powered tools to translate a feeling, a "vibe," or a high-level goal directly into working software. Instead of carefully crafting every line, you guide the machine. I experienced this firsthand when I vibe-coded a startup in the back of a taxi in Vietnam, going from idea to a working product at an unbelievable speed.
Would you fly in an airplane whose navigation system was entirely vibe-coded by an AI that loudly proclaims, "I can make mistakes"?
This is a revolutionary leap forward. But I’ve learned from that experience that it’s a double-edged sword. Vibe coding is not the final result; it's just a powerful tool, much like IntelliSense on steroids. And how you use this tool depends entirely on who you are.
For the Engineer: Code with Conviction
If you’re a software engineer, vibe coding can be an incredible accelerator. It can boilerplate code, write complex algorithms, and even suggest architectural patterns. But this speed comes with one non-negotiable condition: absolute ownership.
When you ship a piece of software that was partially or wholly generated by AI, you must be able to say, "This is my code."
That means you own it completely. If best practices are ignored, you are responsible. If the code has bugs or critical security issues, you are responsible. You can't shrug and say, "It wasn't me, it was the AI's mistake." The moment you commit that code to the repository, you adopt it as your own. You are the human owner, and the buck stops with you.
If you are not prepared to stand by the code, debug it, and defend it, then you should not ship it.
For the Non-Technical Maker: The Prototype Powerhouse
If you are a non-coder, a founder, or a product manager, vibe coding is the key to unlocking your vision. It’s a phenomenal path to a working prototype. You can finally build that interactive mock-up to test your idea with real users or to communicate your vision clearly to a development team.
However, it is crucial to understand what you have built. You have a powerful blueprint, not a production-ready house.
This brings me to the single most important thing I hope you take away from this article: Vibe coded software is not production unless it's owned by a developer.
That prototype is an incredible asset. But it lacks a human owner who understands the deep implications of the code. Before it ever sees a real customer, it needs a professional engineer to either refactor it completely or rebuild it from the ground up, using your prototype as the perfect guide.
For the Leader: The New Cost of Speed
As a leader, you’re likely excited by the productivity gains your team can get from vibe coding. And you should be. But you must also be pragmatic. When you enable this new workflow, you must also invest in new safeguards.
Allowing AI-assisted code into your software development lifecycle means you need to double down on verification. Your code review process needs to become more rigorous, not less. Your QA and testing processes need to be deeper and more comprehensive. You also need to invest in better, more detailed functional and non-functional requirements so there is less possibility of things getting missed.
You are trading a faster first draft for a more intensive editing and verification phase. Skipping this step doesn't create efficiency; it creates technical debt and risk that you will eventually have to pay for.
AI Doesn't Replace Us, It Highlights Us
There’s a popular belief that AI will eventually replace humans, especially developers. Based on my experience, I believe the opposite is true. The role of the human engineer will become more important than ever before.
An AI can generate code, but it cannot take ownership. It can't be held accountable for a security breach. It can’t understand the long-term business vision and make nuanced architectural decisions to support it.
So, before you ship that next feature, ask yourself a question: Would you fly in an airplane whose navigation system was entirely vibe-coded by an AI that loudly proclaims, "I can make mistakes"? When it comes to production software, the answer should be a resounding no. The final check, the ultimate responsibility, must always remain human.

