You have 1 article left to read this month before you need to register a free LeadDev.com account.
Your inbox, upgraded.
Receive weekly engineering insights to level up your leadership approach.
Estimated reading time: 4 minutes
Vibe coding has become a catch-all phrase for AI-assisted coding, but that definition misses the mark and could even be dangerous.
AI-assisted coding is wildly popular, with survey after survey finding that the majority of engineers are comfortable using AI at work.
Tools like Cursor, GitHub Copilot, and even ChatGPT itself have proved themselves as such effective programming assistants that the idea of prompting away any actual coding work – or vibe coding – has gained traction in both engineering and non-engineering circles.
But there’s still a big difference between an expert using an AI-assistant to sharpen their code, and someone vibe coding their way to a workable prototype. Let’s take a deeper look at vibe coding and its counterpoint, chat-oriented programming (CHOP), and bring the nuance back to this discussion.
What is vibe coding?
Vibe coding has quickly become shorthand for working with an AI coding assistant, even though it was only coined by OpenAI cofounder Andrej Karpathy early in 2025.
The original idea was that you use an AI chatbot or other tool to generate code, without ever thinking about the specifics of the code it creates. You tell the AI what you want and keep prompting until you have a functioning app, without ever peeking under the hood. If you run into errors, you ask the AI to solve them or roll back a step and try again. AI expert Simon Willison neatly defines vibe coding as “building software with an LLM without reviewing the code it writes.”
Tools like Lovable and Bolt allow anyone to create web apps if they can follow a few YouTube videos and figure out how to get an API key. It took New York Times’ writer Kevin Roose ten minutes to create an app that recommends a lunch box meal for his child based on a photo of the contents of his fridge.
Vibe coding is fun and accessible – but it comes with a whole host of problems. Apps created using Lovable have exposed users’ names, email addresses, financial data, and API keys because the creator didn’t configure the backend correctly. Similarly, API usage is a big concern. If you don’t rate limit your API calls or they’re scraped by a bad actor, you can end up with a huge bill.
More like this
CHOP, chop
What most software engineers do on a day-to-day basis isn’t vibe coding, no matter how much they use an AI coding assistant. If you’re reviewing the code the AI creates, considering the changes it’s suggesting making, and not just hitting ‘Accept All’, you’re not vibe coding.
But what are you doing? Some are calling it chat-oriented programming, or CHOP. It’s defined as “coding via iterative prompt refinement.” While that sounds like a more formal definition of vibe coding, the difference is in how the tools are used.
You don’t just enter a prompt and wait to see the results running in a live web app. You enter a prompt and see the code the AI has created ready for you to review. Or you select a chunk of code you want to refactor and ask the AI to make it more efficient or secure.
Software engineer Ado Kukic likens CHOP to “a collaborative painting session with a skilled artist.” You direct the AI assistant on what to do, and it “fills in the details, suggests improvements, and even offers alternative approaches.” CHOP means using AI tools to better understand the codebase – not pretend it doesn’t exist.
Models like Gemini 2.5 Pro can process thousands of lines of code at once, so they can help you navigate a complex application, answer questions about what functions do, and identify dependent files. They can also create documentation for your code and help you better maintain your codebase.
Debugging is handled the same way. The coding assistant helps you understand problems so you can decide what needs to be done to fix them. Kucik compares it to a rubber duck that can offer helpful suggestions while you work through your code.
CHOP is just as hands-on as traditional programming and you need just as deep an understanding of what you are trying to accomplish to work this way, but it can be faster, easier, and more efficient when done correctly.
Horses for courses
Vibe coding has its place. It makes sense to vibe code quick proof-of-concepts or even tools for personal use. If you understand the risks and know what you’re doing, you can create some pretty impressive apps without ever putting user data or API keys at risk. But for production code in a professional or enterprise environment, vibe coding is entirely the wrong approach.
CHOP, on the other hand, allows engineers to use AI tools to work faster and smarter. While there are always risks with having an AI generate code, they are mitigated by the more deliberate process and the fact that it is being directed by an experienced engineer who understands the intricacies of the codebase.

New York • Oct 15 & 16, 2025
Full agendas for LeadDev’s New York events are up! 🎉
AI-assisted coding is the future
Whatever you call it, it’s clear that engineers are going to continue vibing with AI tools to find smarter ways to work. These tools and techniques also open up new opportunities for non-engineers to learn how software works.
For engineering managers, making sure that AI-tools are used appropriately is going to be incredibly important. It’s easy to slip from CHOP to vibe coding, and unreviewed and poorly understood code has no place in production. In particular, the security risks that come with AI-generated code are real, though experienced engineers should be able to address them with proper protocols. After all, the role of a senior engineer often means overseeing work, especially from less experienced members of the team. Now you can add overseeing AI-generated code to the list.