You Own Every Line
A month after Kitty goes live, Meera notices she has been charged a little more than her share. If you say "the AI wrote that part", nothing is fixed and Meera trusts the app a little less. The people using your software do not care who typed it. That is the heart of the vibe coder's mindset.
The rule
If you ship it, you own it — whoever typed it.
Treat the assistant as a fast, well-read collaborator who has never met your users, does not know your rules unless you say them, and sounds just as sure when it is wrong as when it is right. Four habits follow from that:
- Responsibility stays with you. You decide what gets kept, so every kept line is yours to understand and defend.
- Confidence is not evidence. "This handles every edge case" is a sentence, not a test result. Tone tells you nothing about correctness.
- Scepticism grows with the stakes. A colour change needs a glance. Code that splits money needs a careful read and tests.
- Curiosity beats acceptance. Ask "why this way?" and "what could break?" Each lap is a chance to learn something you did not know.
Here is the kind of code Kitty will be full of. The assistant wrote it to split an expense evenly, with money stored as whole paise (₹1 = 100 paise):
def split_evenly(amount_paise, people):
share = amount_paise // len(people)
return {person: share for person in people}It looks tidy, and for ₹900 among three people it gives 30000 paise each, which is right. Is it right always?
The shortcut
Use the explain-it-back test: before you keep a change, say in one or two sentences what it does and why. If you cannot, you do not own it yet. Ask the assistant to explain, then check that explanation against the code itself.
Say what it does
It divides the amount by the number of people, rounding down with
//, and gives everyone that same share.
The trap is stopping at "it looks tidy". Neat code with a clear name is the easiest kind to wave through.
Drills
Answer fast — trust the rule.
A flatmate's balance in Kitty is wrong. Who is responsible for fixing it?
The assistant says, "This handles every edge case." How much should that change your checking?
With amount_paise // len(people), what share does each person get when 100000 paise is split among 3?
What is the explain-it-back test?
Remember
- Rule: if you ship it, you own it, whoever typed it.
- Shortcut: the explain-it-back test. If you cannot say what it does and why, you do not own it yet.
- Trap: trusting confident wording or tidy-looking code instead of checking the awkward cases.
