Convincing Myself to 'Vibe Code'

Published: (December 26, 2025 at 10:14 PM EST)
5 min read
Source: Dev.to

Source: Dev.to

Cover image for Convincing Myself to “Vibe Code”

Zane Chen

The Vibe Hits the Door

“Vibe Coding” describes building applications through pure natural‑language intent rather than manual syntax. It entered my radar in late 2024, and to be honest, it felt like a buzzword for the lazy. That changed when I saw it in my own living room. My wife used v0 to spin up a functional web app in under thirty minutes using a free tier.

It was far from perfect—ugly UI and brittle logic—but it worked. I used to proudly claim I could wire up a functional basic application within a day. She had just bypassed the hours of boilerplate and plumbing I usually pride myself on, right in front of me.

Where It Thrives and Dies

Before this, I found that AI seldom had enough intelligence to help me fix a nuanced bug or upgrade a specific package. Naturally, I thought:

“If you aren’t able to even fix a bug, how can you build an app for me?”

That mindset held me back for a long while. After the astonishing moment in my living room—and a bit of digging—I was able to categorize where AI actually excels.

  • Kick‑start – generating boilerplates, wiring up initial stubs, and solving extremely well‑defined problems are what it’s really good at.
  • Enterprise environment – once you introduce complex business logic, massive existing codebases, and legacy systems patched for a decade, AI starts hallucinating. In a poorly designed system or a repo with 100 k+ lines of code, AI suggestions often make zero sense. It can’t “feel” the weight of ten years of technical debt.

Why We Say No

If you ask me why I originally said no to vibe coding, the honest answer isn’t just about AI’s technical capabilities. It’s about our identity.

The Quality Trap

We see the “garbage” code these tools generate—the lack of patterns, the duplication, the messy file structures—and we recoil. As engineers, we were trained to control the details. Giving that up feels like a betrayal of our craft.

The Fear of the Unknown

AI has the momentum to push things fast. It introduces solutions or libraries I haven’t used. If I don’t understand every mechanism under the hood, I feel like I’m losing my edge. It’s a philosophical hurdle:

Is it necessary to understand every line?

To me, the answer was always yes. An unknown piece of code inside my project felt like a landmine waiting to go off.

The Ego Check

There is a genuine, uncomfortable sense of professional jealousy. It feels “unfair” that a non‑technical person can bypass the years of struggle I went through to learn a framework just by paying $20 for a subscription. Dismissing vibe coding as “not real work” makes me feel better about my own investment.

Is Code Quality Really a Problem?

Vibe‑coded projects are often short‑lived, destined for death. They are built for testing an idea or the tool itself. If the idea fails, the code dies in the “404 river” silently. If the idea succeeds, it gets rewritten by an engineer.

From an engineer’s perspective: Do we really care about code quality for a short‑lived piece of code? I write quick Bash scripts or throwaway Python scripts all the time, and I don’t care about their quality. If I can accept a messy script for a 10‑minute task, why can’t I accept a vibe‑coded prototype for a 1‑day validation?

From a non‑technical user’s perspective: A large population of vibe coders have no technical background and likely never will. They probably will never look into the codebase. What matters is that they can test the idea without hiring an engineer.

A big proportion of this group are PMs and designers. They get a tool to verify ideas in a shorter time frame, which has nothing to do with engineers. To some extent, this reduces the amount of “thrown‑away” engineering work we have to do.

Defining Software Engineering

Software Engineering is more than just kick‑starting applications; the vast majority of the job is maintaining them. This isn’t a new revelation, but revisiting it helped me regain my confidence. If AI handles the “start,” the engineer’s value shifts toward sustainability. Engineering is about refactoring the “vibe” into a maintainable form. It’s about designing systems that can survive the second year, not just the first weekend.

Drawing the Line

AI can be a magic trick or a productivity tool. The line is blurry, but drawing it clearly helps me increase my productivity without losing my identity as an engineer.

The Vibe Side

  • Use AI for exploration, rapid prototyping, and verification.
  • If a PM wants to “vibe” to verify an idea, let them. That code is for short‑term usage only.

The Engineer Side

  • Use AI to implement stubs, fix scoped bugs, and generate boilerplate that you will later refactor and own.

Author: Zane Chen (original article on dev.to)

  • Learn new patterns, set up boilerplate, and anything well‑defined and beneficial to an engineer.
Back to Blog

Related posts

Read more »