Explore Columns
Vibe coding: Embracing AI as your development partner

Vibe coding marks a fundamental shift in how we write software — not as strict syntax enforcers, but as expressive collaborators alongside AI. In this column, we explore how this new style of development is changing team dynamics, reshaping what it means to be a skilled developer, and ushering in a more human, more intuitive era of programming.
The shift that no one prepared us for
There was a time when programming felt like a craft. You wrote every line, obsessing over syntax, mentally mapping out data flows, battling bugs as if they were personal adversaries. Then, almost without warning, that rhythm changed. Suddenly, we weren't writing code — we were conversing. We were prompting. We were... vibe coding.
"Vibe coding" might sound like a TikTok trend, but it's actually a surprisingly apt term for what's happening in software development today. Coined half-seriously by Andrej Karpathy, the phrase captures the strange and subtle shift toward working with AI — not just as a search engine or syntax suggester, but as a co-author of logic and structure. It's no longer about commanding a computer. It's about vibing with one.
What is vibe coding, really?
At its core, vibe coding is the act of coding through natural language — through suggestion, revision, intuition. You might begin a function, and halfway through, prompt your AI pair programmer: "Can you fill this in with a debounce mechanism using a closure?" And just like that, it does.
But it goes beyond code generation. Vibe coding is the culmination of something deeper: the blending of intention, interpretation, and implementation. It's the first time in programming history where the machine doesn't just do what it’s told — it tries to understand what you mean.
It's not autocomplete. It's alignment.
LLM coding tools: The backbone of vibe coding
GitHub Copilot: The flagbearer
The most talked-about tool in this space is GitHub Copilot. It was the first mainstream moment when developers collectively said, "Wait — this thing gets me".
Built on OpenAI's Codex model, Copilot doesn't just complete code — it predicts where you're going. It writes functions based on vague comments. It builds React hooks or GraphQL queries with eerie precision. It even jokes in your comments if you let it.
But Copilot isn't just about speed. It's about getting into flow faster — shaving off the cold-start problem that haunts so many coding sessions. It clears the fog between idea and execution.
Cursor: The Code Editor Reinvented
If VSCode feels like the classic guitar, Cursor is the jazz synth.
Built specifically around an LLM-first paradigm, Cursor treats your codebase like a searchable, explorable map. You can ask questions like "Where do we handle auth errors?" and get meaningful responses. You can select code and say "Refactor to hooks", and it does. It's not just a co-pilot — it's a code-aware, IDE-native researcher, editor, and assistant rolled into one.
Cursor's power is in its memory. It learns your repo. It draws context from project-level patterns, offering deeply accurate refactors and suggestions. It's one of the first IDEs that truly feels like you're pair programming with someone who's been on your team for months.
Claude Sonnet: The fast thinker
Claude is what happens when you blend pure reasoning power with developer intent. Its model architecture favors hybrid reasoning — which means it can think through the steps of a coding problem before offering a solution.
That makes it excellent for debugging tricky edge cases, rewriting fragile logic, or even understanding large legacy files. It's fast, friendly, and surprisingly good at walking you through your own logic.
And yes — it's great at writing code, too.
Replit Ghostwriter: Full stack in the browser
For solo developers and prototypers, Replit's Ghostwriter is a revelation. Imagine booting up a new project, and instead of writing boilerplate, you ask for a basic Express server with auth, a SQLite backend, and a health check route.
And it just does it.
Ghostwriter understands multi-file context. It's not limited to single snippets or lines. It sees the shape of your entire app — and it builds with you.
Replit's biggest win, though, is accessibility. It makes vibe coding possible anywhere — no setup required. You're coding with an AI assistant in your browser, sharing projects in seconds, shipping ideas at the speed of thought.
Qodo (formerly CodiumAI): AI for code integrity
Qodo is less about generation, more about responsibility. It acts as your automated reviewer — catching issues, suggesting test cases, and improving your code's reliability in real time.
Think of it as a friend who's obsessive about clean code and doesn't mind combing through every commit. Qodo integrates with your workflow, ensuring that your vibe-coded experiments still hold up under scrutiny.
And that balance — between velocity and correctness — is key.
Tabnine: Your coding DNA, amplified
Tabnine is your code whisperer. It learns your style, your quirks, your patterns. It doesn't just suggest completions — it mimics the way you write.
That makes it incredibly powerful in long-term projects where consistency matters. Tabnine shines when you're deep into a codebase, and you want a tool that feels local to you. It supports nearly every popular language and integrates cleanly into major IDEs.
It's the closest thing to AI muscle memory.
Code Llama: Meta's contribution
Meta's Code Llama is a free, open model that gives developers LLM-powered coding without black-box pricing. It supports multiple languages and can be fine-tuned for specific tasks.
It's particularly exciting because it pushes the boundaries of what open-source LLMs can do for developers. You're no longer tied to proprietary APIs. You can host, fine-tune, and integrate it however you like.
If Copilot is the iPhone of vibe coding, Code Llama is the Raspberry Pi.
CriticGPT: LLMs checking themselves
OpenAI's latest tool, CriticGPT, is aimed at reviewing code written by models like ChatGPT. But it has broader implications. Imagine a world where LLMs write code — then check, improve, and explain that code — with humans as the creative directors.
CriticGPT is a step toward that. It's an AI that spots bugs in AI-written code. It's self-awareness embedded in tooling. And it points to a future where LLMs not only vibe with you, but keep themselves accountable too.
The near-future of code-as-conversation
These tools are more than productivity hacks. They're cultural shifts.
The way developers think about problems, start projects, refactor logic, and even learn new languages is changing. There's less friction, more flow. Less rote memory, more reasoning. It's not just about what you code — but how you think while coding.
The LLM tools aren't just passive generators. They're sparring partners. And in that dance — between intent and implementation — they're making development feel more alive than ever.
Vibe coding isn't just a phase. It's the new normal.
And these tools? They're the instruments in that symphony.
Also worth checking out: Cody by Sourcegraph, Continue.dev, Amazon CodeWhisperer, MutableAI, Blackbox AI, Codeium, Safurai, AI Code Reviewer, StackSpot AI, Sweep AI, Magic.dev, Hexagram, FigStack, Warp AI, Refact.ai, Comate AI, Polycoder, JetBrains AI Assistant, Zed, Trae.
The developer mindset is shifting
For decades, developers have been trained to think like computers. We internalized strict syntax rules. We obsessed over performance patterns. We wrote abstracted, modularized systems for the benefit of both humans and compilers.
Now, we're entering an era where the machine is adapting to us. Where our vague thoughts can be translated into functioning components. Where verbosity isn't a crime — it's context.
That means the skill set is shifting. Developers aren't just expected to write good code. They're expected to prompt well. To express problems in just the right language, in just the right tone, to coax out the solution they're imagining — or one even better.
AI as a pair programmer, not a replacement
The fear, of course, is that AI will replace developers. That codebases will be generated entirely by machines, and that we'll be left reviewing pull requests authored by models trained on our own GitHub contributions.
But that's not what's happening — at least, not yet. What's happening is more collaborative. AI isn't replacing developers. It's turning into the world's most tireless, context-sensitive, judgment-free coding partner.
It doesn't ask for a raise. It doesn't need sleep. It doesn't roll its eyes when you change direction mid-feature.
But it also doesn't understand nuance — not really. It can misunderstand your goals. It can hallucinate APIs. It can get lost in logic loops that feel plausible but break spectacularly in practice.
That's where we come in. The human mind remains the arbiter of meaning, purpose, and correctness. We guide. We refine. We prompt not to avoid thinking, but to think more expansively.
The real skill is in the prompt
When people ask, "Will prompt engineering be a job?" they’re asking the wrong question. Prompting is already a job — it just looks different depending on where you sit.
If you're a front-end developer working with a UI assistant, prompting might mean sketching your design intention with vague CSS rules and seeing what comes out. If you're a back-end engineer, it might mean describing a data flow and asking for an optimal schema.
What matters isn't the exact wording. It's the mental model. It's the ability to hold a fuzzy idea in your head and iterate your way into clarity — not by typing out code, but by shaping AI responses.
That's the heart of vibe coding. It's not "prompt engineering" in the formal sense. It's not ChatGPT as Stack Overflow. It's a whole new muscle. More linguistic. More emotional. More expressive.
Collaboration is getting weirder (and better)
There's a strange side effect to all of this: team collaboration is evolving too.
In traditional teams, knowledge transfer was a manual process — code reviews, onboarding documents, hours of one-on-one mentoring. But with AI pair programmers in the loop, documentation becomes contextual. Institutional memory becomes stored in interaction logs. AI can explain the decisions it helped make, reference the prompts that generated functions, even suggest better tests based on what it knows of the team's style.
Pairing with an AI doesn't just boost individual productivity — it lifts the entire team's creative ceiling. It turns every junior dev into a potential powerhouse, and every senior dev into a multiplier.
That doesn't make meetings obsolete. But it changes their purpose. Less time is spent explaining syntax or debating linter rules. More time goes to aligning on product strategy, shaping narratives, and defining problems worth solving.
The risks are real — and worth wrestling with
Of course, there are risks. Overreliance on AI can lead to shallow understanding. Prompting without verification can seed bugs. Developers might skip the hard thinking, trusting models more than their own brains.
There's also the risk of homogenization. If everyone uses the same models, and those models are trained on the same public repos, we could end up in a monoculture — a global convergence on the most average solution.
The antidote? Weirdness. Creativity. Curiosity. Developers need to lean into what makes them different — their intuition, their experiences, their quirks. Vibe coding doesn't work without vibes, after all.
So... what kind of developer will thrive?
In this new world, the best developers aren't the fastest typists or the cleanest architects. They're the best collaborators — with humans and machines alike.
They know how to ask the right question. They know when to override the machine. They know how to translate product intention into technical action, even when the first draft comes from a model.
They aren't afraid to throw away an entire file and start fresh with a new prompt. They aren't afraid to teach the AI something new. And most importantly, they aren't afraid to let the machine surprise them.
The future is not less human — It's more
Some say vibe coding is the beginning of the end. That software development will become commoditized, outsourced to LLMs running in the cloud.
But I don't buy it.
What I see is a renaissance. A weird, thrilling, unpredictable phase where coding becomes more expressive, more intuitive, more human than ever before. Where the barrier between thought and creation gets thinner by the week.
Yes, the machines are helping us code. But we're still the ones shaping what gets built — and why.
That, to me, feels like the beginning of something extraordinary.