Every movement has a counter or opposite movement.

The opposite of vibe coding?

Let’s call it: “Discipline Coding”.


Tenets

  1. Self-Reliance over Delegation

    • Belief: If you didn’t write it, you don’t truly understand it.
    • Practice: Hand-roll core algorithms, avoid generated code, and limit dependencies.
  2. Deliberate over Emergent

    • Belief: Good code isn’t discovered in a “vibe,” it’s designed with intention.
    • Practice: Careful planning, diagrams, upfront modeling before writing a line of code.
  3. Transparency over Black Box

    • Belief: Every line of code should be understandable by its author, with no opaque AI decisions.
    • Practice: Strive for codebases small enough to be “held in the head.” No mysterious scaffolding.
  4. Mastery over Velocity

    • Belief: Efficiency is secondary to skill and depth. True programmers master fundamentals.
    • Practice: Relearn data structures, algorithms, parsers, compilers—from scratch.
  5. Constraint over Convenience

    • Belief: Constraints (time, language limitations, avoiding AI) lead to deeper creativity.
    • Practice: Coding challenges that intentionally avoid shortcuts: “no frameworks,” “no AI,” “just C.”
  6. Craft over Commodity

    • Belief: Code is not just utility—it is an expressive medium and a craft.
    • Practice: Elegance and beauty in code is valued more than shipping velocity.

What They Do

  • Write everything themselves (algorithms, data structures, even small runtimes).
  • Participate in “code kata” or “from scratch” challenges.
  • Publish hand-written projects as counterpoints to AI-spawned sprawl.
  • Value readable notebooks, literate programming, and proofs over quick hacks.
  • Treat programming like woodworking or calligraphy—slow, precise, joyful.

What They Reject

  • Auto-generated scaffolding they can’t fully audit.
  • Reliance on autocomplete / copilots as the primary coding mode.
  • Sprawling, complex codebases that only AI can manage.
  • “Vibes” as a design principle—favoring rigor, discipline, and forethought instead.

Yes, I did develop this with gpt5… of course.

I think this will be a thing, I will participate, but I’m not a fanatic.

Here’s a cool pic:

Discipline Coding