Prompt & hope
Vibe coding
Describe it, accept whatever comes back, move on. Great for throwaways and demos. No accountability attached.
A subdomain of vibe engineering
Build. Ship. Learn.
A Vibe SWE is a software engineer who is AI-native from day one — orchestrating models as senior collaborators while staying the human in the loop who owns the intent, the review, and the ship.
What always mattered still matters: taste, judgment, ownership, being accountable for what goes out. What's new is the load — juggling several AI tools, a queue of stakeholder requests, and security expectations, all while shipping something real this week. Vibe SWE is the practice of doing that well, on purpose, without pretending the model is in charge.
Past craft — still load-bearing
Future stack — new every quarter
Prompt & hope
Describe it, accept whatever comes back, move on. Great for throwaways and demos. No accountability attached.
You are here
Human-in-the-loop builders. AI-native from day one, but the human sets intent, reviews the diff, and owns the ship.
Senior accountable practice
The full discipline: systems, evals, security, on-call, org-level responsibility for AI-assisted software.
Vibe SWE is a subdomain of vibe engineering — not a competitor to it. It's the practitioner's entry point: the day-to-day habits that make you trustworthy at that scale later.
Sibling practice for research and data work: vibescientist.com.
Three steps you can say out loud in a standup, and three deeper notes for when the work gets serious. Cite it, argue with it, fork it.
Set intent, then let the model draft.
Deeper — Intent
Write the outcome and the constraints before you prompt. Models are senior collaborators — brief them like one. If you can't state what 'done' looks like, you're not ready to build.
Test: can you say what 'done' looks like in one sentence?
Put it in front of reality.
Deeper — Prove
Small, reversible, visible. Show evidence it works: a test, an eval, a screenshot, a user. Security is part of shipping, not a later ticket.
Test: what is your evidence, and who else can see it?
Read what happened, change your defaults.
Deeper — Own
You own the outcome, including the parts the model wrote. Keep what worked, retire the tool that didn't, and write down the judgment call so the next loop is faster.
Test: what default did you change because of this ship?
build → ship → learn → build → ship → learn …
Read the long version: What is a Vibe SWE3 cards
Joe Cox — Builder / PM
A static manifesto site defining Vibe SWE, the Ship Loop, and an open Ship Wall anyone can PR into.
Reviewed & owned
Wrote the positioning myself, reviewed every line of copy, checked mobile layout and contrast before shipping.
Placeholder Builder — New grad SWE
A 200-case eval set plus a scoring script that gates deploys when accuracy drops below the agreed bar.
Reviewed & owned
Chose the failure taxonomy, hand-labelled the golden set, rejected two model-written test cases as ambiguous.
Placeholder Builder — PM turned SWE
Replaced a nightly cron with an idempotent queue worker, behind a flag, with a rollback path documented first.
Reviewed & owned
Read the diff end to end, wrote the rollback runbook, insisted on a dry-run week before cutover.
Seed cards are placeholders — replace them with your own by opening a pull request.
vibe-swe on GitHub (coming soon). No issue required — small PRs welcome.
Copy the template on the right and paste it at the bottom of the file.
The 'owned' line matters most: what you reviewed, rejected, or decided. A card with no human judgment in it gets sent back.
Title it 'ship: <your title>'. Merged cards appear on the wall on the next deploy.
### <Ship title> - builder: <name> - role: <new grad SWE / PM / staff eng / founder> - shipped: <one sentence: what exists now that didn't before> - tools: <Cursor, Claude Code, GPT-5, Tailwind, ...> - owned: <what you personally reviewed, rejected, or decided> - link: <optional GitHub or Hugging Face URL> - date: <YYYY-MM-DD>