Everyone's talking about "vibe coding." Although I still cringe when I hear the term, the Internet has already decided that's what we should call it.
I'm not anti-AI at all. If anything, I'm leaning into AI-assisted coding more and more everyday. It does feel like an evolution of how we solve problems. Earlier in my career, Stack Overflow used to be my default helpline. I'll surely miss having that space where you ask humans and wait for thoughtful replies, but AI trades that for speed. The help shows up instantly. Not always correct, but fast enough to keep momentum.
AI as a Junior Dev
People often compare AI to a junior developer and I think that analogy is fair. A good junior can take rough instructions, fill in gaps and sometimes deliver more than you expected. They listen, infer, adjust. But the result still depends on how clearly you communicate intent.
That's where the discipline comes in.
AI isn't a genie. You canât be vague and expect magical results. Vague prompting is usually where hallucinations thrive. If you overload it with half-formed ideas and unclear constraints, the model will try to stitch meaning out of chaos. Sometimes it works. Sometimes it confidently gives you something that sounds right but isnât.
What AI really forces is clarity. You have to articulate the problem, define constraints, and explain intent. Prompting becomes less about commanding a machine and more about organizing your own thinking.
There are moments when I finish writing a prompt and realize I already know the answer. AI just becomes the confirmation layer... a surprisingly good rubber duck.

The Part That Makes Me Uncomfortable
I'll admit though that I'm a bit worried for the future.
IDE assistants are incredibly convenient. They help with debugging, tracing unfamiliar code paths and rubber ducking. Somehow there's a quiet fear of over-reliance. When answers come instantly, it's easy to default to asking instead of understanding. That habit can slowly rust the brain we rely on as engineers. I don't want to be that engineer.
Maybe that's what makes me a reluctant vibe coder.
What I've Learned So Far
Use AI with a learning mindset
Treat it like a collaborator, not a shortcut. If it generates code, read it. Question it. Understand why it works before moving on. Ask why one solution is better than another. Challenge it. I've had moments where I pushed back and said, âCan we do X instead of Y? Isn't that more efficient?â and it responded with, âYou're right to question thatâŠâ That's when it feels useful.
AI is great as a primer
When stepping into an unfamiliar domain or repository, it helps sketch a mental map before the deeper dive. It's not perfect, but it reduces that overwhelming feeling when staring at a huge codebase for the first time.
Don't outsource your brain!
GenAI can feel like fast food for thinking: quick, convenient and easy to overconsume. The danger isn't the tool. It's the habit of skipping critical thinking. AI doesnât replace engineers, but it definitely speeds up development. Less time hunting for syntax or boilerplate, more time defining intent and validating output. The pace increases , but so does the responsibility.
So yes, I vibe code now. Just not blindly.
Maybe being a reluctant vibe coder means moving fast with AI while keeping enough judgment to hesitate, just for a bit, before I hit merge to main.