Essay — 2026-09-214 min

From vibe coding to Vibe SWE

The on-ramp from prompt-and-hope to human-in-the-loop ownership — without shaming anyone who started by vibing.

Vibe coding got a generation shipping. That is the point, not the punchline. You describe what you want, a model drafts, you nudge, something runs. For a first feature, a weekend prototype, or a career re-entry after years away from a compiler, that loop is a gift.

The problem is what happened next. Job posts and roundups now treat "vibe coding" / "vibe-coding engineer" as a career title. Forums use "vibe SWE" as casual shorthand for the same prompt-and-hope habit. The rung that was supposed to be a start is being sold as the job.

This essay is the graduation: from vibe coding as a technique to Vibe SWE as a practice. Not a dunk on beginners. An on-ramp.

What vibe coding is good for

Vibe coding is a fast draft loop. You keep the goal fuzzy enough to explore, you accept plausible output, and you iterate until the demo looks right. That is a legitimate way to discover product shape, learn a stack, or unblock a blank page. Karpathy named the mode; millions used it. We are not trying to erase that.

What it is not is a complete seat. A draft that looks finished is not a ship you can defend. A prompt that worked once is not a brief you can hand to a teammate. A green local run is not proof in production.

Where the mode breaks

Three failure modes show up the moment the code matters to someone else.

Ambiguity gets speed. A fuzzy ask used to produce a slow, hesitant build. Now it produces a finished-looking answer in ninety seconds. The ambiguity did not leave. It got a confidence coat.

Ownership evaporates. When the model drafts the settings page, the diff, and the commit message, it is easy to feel like the work happened to you. Stakeholders still hear your name. The pager still forwards to a human. The model does not sign the promise.

Proof never shows up. Vibe coding optimizes for "it runs on my machine." Vibe SWE asks what you can show: tests that catch the regression, a Ship Card that says what changed, a review you actually did rather than rubber-stamped.

None of that makes vibe coding wrong. It makes it incomplete.

The graduation, not the scolding

Moving from vibe coding to Vibe SWE is three habits layered on top of the same fast draft loop.

Intent before the model. Write the outcome, constraints, non-goals, approvers, and risks — the same brief from Stakeholders in an AI Stack. Ten minutes of translation beats an hour of reviewing the wrong thing.

Prove before you celebrate. A green preview is a start. A test, a screenshot of the path that mattered, a note on what you deliberately did not build — that is the Ship Card habit. Proof is how taste becomes transferable.

Own the ship. You chose the tradeoffs. You can explain them. You can roll back. The model was a fast senior who drafted; you were still the engineer in the chair. That is the Models as Senior Designers seat, applied to every PR.

Those three map onto the Ship Loop on the homepage: Build. Ship. Learn. Build from stated intent. Ship with proof and a name on it. Learn what broke so the next brief is sharper.

Where this sits in the map

Vibe SWE nests under vibe engineering — the accountable practice of tests, evals, and production discipline. We do not compete for that umbrella. We occupy the human-in-the-loop builder seat inside it: taste, judgment, ownership, plus the future stack of multi-tool juggling, stakeholders, and security.

If you want levels, not vibes: the Job Ladder maps Intent / Build / Ship / Learn / Scope from Vibe SWE I through Principal. If you want the short definition: What is a Vibe SWE. If you want craft continuity when the machine changes: Farming Didn't End When the Tractor Arrived.

Job boards can keep printing "vibe-coding engineer." That title describes a technique. Vibe SWE is the practice of using that technique without laundering ambiguity into confident nonsense — and without pretending the model owns the pager.

Start here

Keep the fast draft. Add the brief. Add the proof. Put your name on the ship. Read the Ship Loop, walk the Ladder, and when you land something real, put it on the Ship Wall. Build. Ship. Learn.