Part 5 of 7 · Chapter 4 of 4

When Not to Vibe Code

The situations where typing it yourself is faster, safer, or the only responsible option.

Intermediate8 min read

A course that only argues for its subject is marketing. Here is the honest accounting: the situations where reaching for an AI makes things slower, worse, or irresponsible — and how to recognise them before you are already in one.

When the point is that you learn it

The clearest case. If you are working through an exercise to understand recursion, having it written for you removes the entire value of the exercise. You will recognise the solution, feel that you understood it, and be unable to reproduce it a week later.

Recognition is not the same as comprehension, and AI output produces recognition very efficiently. When learning is the goal, struggle is not an obstacle to it — it is the mechanism.

When you cannot verify the answer

This is the deepest one. AI output is only as safe as your ability to tell whether it is right. In a domain you know, a wrong answer looks wrong. In a domain you do not, a wrong answer looks like an answer.

  1. 1
    Cryptography

    Code that is subtly wrong runs perfectly and protects nothing.

  2. 2
    Concurrency

    A race condition passes every test you write and fails in production at 3am.

  3. 3
    Numerical and financial code

    Rounding and precision errors are invisible until they are audited.

  4. 4
    Anything safety-related

    Medical, legal, structural. The cost of being confidently wrong is not measured in developer time.

The rule: if you could not tell a correct answer from a plausible one, you are not reviewing — you are hoping.

When it is faster to type it

Describing a three-line change precisely takes longer than making it. Writing the prompt, waiting, reading the diff, and correcting the parts it over-reached on is real overhead — and for small, well-understood edits it exceeds the work.

Watch for the tell: if you are on your third prompt for something you could have typed in a minute, you are not being efficient, you are avoiding starting.

When the code is not yours to share

Prompts leave your machine. Depending on your tool and plan, they may be retained, reviewed, or used for training. Before pasting, check whether you are allowed to:

  1. 1
    Employer policy

    Many organisations restrict which tools may touch their source.

  2. 2
    Client confidentiality

    Contract terms often cover disclosure to third-party services.

  3. 3
    Personal data

    Real customer records in a prompt can be a regulatory problem regardless of intent.

  4. 4
    Licence terms

    Some code cannot be redistributed, and a prompt is a form of transmission.

When the loop has stopped converging

A specific in-the-moment signal, worth naming because it is easy to miss while it is happening: each fix creates the next problem, and you have stopped moving toward working software.

After the second failure, close the conversation. Read the code yourself. Write a minimal reproduction. Frequently you find the actual cause in five minutes — and it was something the model could never have seen.

The principle underneath all of these

Every case here is the same rule wearing different clothes: AI is an accelerator, and accelerating is only good when you know where you are going.

When you can judge the output, it makes you dramatically faster. When you cannot, it makes you faster at producing something you cannot evaluate — which is not the same thing, and is occasionally much worse than being slow.

Key takeaways

  • When learning is the point, the struggle is the mechanism. Write it first, then ask for a critique.
  • If you could not tell a correct answer from a plausible one, you are hoping, not reviewing.
  • For a three-line change, typing it is often faster than describing it.
  • Check what you are allowed to send before you paste. Prompts leave your machine.
  • When each fix creates the next problem, stop and read the code yourself.
  • Accelerating is only useful when you know where you are going.