Why We Need to Talk About Vibe Coding
"We are in the middle of a transition from traditional overflow coding to vibe coding, and that's actually a real thing."— from the video
I want to share something that’s been growing louder in my head over the past weeks of intense development: We’re not coding like we used to. We’re entering a new era—one where junior and senior developers work completely differently, especially with AI. We must understand this change to know where we stand in the years to come.
After three weeks of working with Claude Code in production, spending over $300, and spending a handful of weekends on a real release, I’ve learned lessons I wish someone had told me upfront. What I discovered wasn’t just about saving money or coding faster—it was about rethinking what it means to be a developer in 2025.
We’re moving toward what I call vibe coding. It’s not just a flashy term. It’s a signal that a shift is happening in how we create software. Whether you’re a junior trying to break in or a senior navigating this AI-driven shift, it matters.
What I Did, and What You Can Apply Today
"I created not just more output, but more correct output, and I was actually focusing while the AI was creating that output."
Here’s a personal breakdown of what worked and what I wish I had known earlier. These will help if you’re diving into Claude Code or any AI pair-programmer.
Be strict about your language
Stick to TypeScript over JavaScript whenever possible. This is non-negotiable. It’s not just about personal preference — strict typings make it significantly easier for the AI to reason about your code. Type information dramatically reduces ambiguity and increases reliability in AI-generated code.
Keep components isolated
Each React component deserves its own file. Don’t try to optimize by cramming multiple things into one place — that just confuses the model. When the AI has clear entry points and boundaries, its understanding improves, and your prompts become simpler and more precise.
Use context files generously
Think of context files as lightweight domain documents that help the AI onboard your project. Whether you handle API interactions, component structures, or translation logic, these context files act as powerful signals that guide the AI to make informed, consistent decisions across prompts.
Tests are more important than ever
Even if you’ve been skeptical about testing in the past, now is the time to embrace it. Tests aren't just for humans anymore. The AI can run them, check for regressions, and use them as a specification to guide its implementation. Test-driven development works well with Claude because it forces clarity.
Let the AI fix its own errors
When Claude finishes a task, don’t just jump in and clean things up manually. Instead, ask it to check its own output. Let it run the compiler and tests to see where things break, and then tell it to fix the issues itself. That self-contained feedback loop is a significant time-saver.
Work in small batches
Break your work into narrow scopes. Instead of migrating your whole component library in one go, do it piece by piece. Smaller scopes mean more straightforward prompts, lower token counts, and better, faster results. You stay in control, and your budget thanks you too.
Don’t expect perfection
AI isn’t magic. If your codebase has inconsistencies or legacy hacks, Claude will trip over them just like a junior developer would. Be realistic. The better your base, the better the AI’s output. Don’t set yourself up for disappointment by assuming perfect results every time.
Avoid multitasking
It’s tempting to save time by asking Claude to do multiple things in one go, but resist. Stick to a single goal per prompt. It makes your intention clear and helps Claude produce cleaner, more focused code that’s easier to review.
Reset context often
Claude’s context limit is real and expensive. When you finish a task, clear the context before moving on. This keeps the token count low, avoids drift, and ensures each task starts fresh without excess baggage from earlier prompts.
Use comments wisely again
Comments are back — but not the kind that explain what the code is doing. That’s redundant. Instead, write comments that explain why specific code exists. These comments serve as subtle but powerful guidance for Claude, helping it understand intent and architectural decisions.
Accept the AI’s style
Claude will try to follow your coding style, but it won’t be pixel-perfect. That’s fine. This is like working with a teammate who understands the general guidelines but has their own flavor. If the code is readable, consistent, and thoroughly tested, let it go.
Plan before prompting
Don’t rush to the prompt box. Take a few minutes to think. Write down which files will be involved. Draft the task description in your own words. When you’re clear on the what and why, you’ll write better prompts — and Claude will respond with better code.
Don’t fall into premature vibing
We’re not in black-box coding land yet. You still need to review, test, and understand what’s going on. Don’t just prompt and ship. Stay in the flow, keep ownership of the codebase, and use AI as your assistant, not your replacement.
Break down large changes
Refactors that touch dozens or hundreds of files? Don’t even try to prompt those in one go. Break them into logical steps. Do one type of change, verify, then move to the next. This not only keeps you sane, but it also prevents subtle bugs and token overflows.
What I Learned and Where We’re Headed
"The junior developers of today will be the senior developers of tomorrow — but not the seniors we know today."
This isn’t a slight shift, it’s a structural transformation. We’re heading into a future where:
AI-assisted flow coding dominates the near term (next 5–10 years)
Vibe coding will emerge in parallel, more like high-level prompts, less like writing code
Juniors may skip parts of the traditional learning journey entirely
And that scares me. If we don’t build proper systems to mentor, train, and level up new engineers in this new environment, we’re not just creating code—we’re creating chaos.
Key Takeaways / Learnings
AI won't save destructive code. It reflects what you give it, junk in, junk out.
Plan clearly. The more structured your thinking, the better the AI performs.
Context matters. Use comments, context files, and tests to guide the AI.
Work in small chunks. It's cheaper, safer, and more predictable.
Let go of control selectively. AI won't code exactly like you. If it's readable and tested, that’s enough.
Junior developers need new paths. We need to support a new kind of learning, one that works in AI-powered teams.
You are still the human in the loop. Use that advantage. Use your judgment. That's your edge.
Where do you see yourself in this shift? Are you clinging to the flow, or already vibing? Let me know how you’re working with AI today and what you need to learn next.
Share this post