Every developer is some mix of all four classes. This quiz finds which one is loudest in your day-to-day. The book has the rest.

1. A new sprint just kicked off. Your first move is:

  • Spin up a branch and start hammering. I'll figure out the unknowns by writing them.
  • Open a chat with the model and ask for a high-level approach to think through.
  • Skim the ticket, find the cleverest shortcut, ship something that mostly works.
  • Make sure the tests, CI, and acceptance criteria are squared away before any code.

2. A teammate's PR has 800 lines of plausible-looking AI-generated code. You:

  • Approve it if it compiles and the tests pass — they ship a lot.
  • Ask the model to summarize what the code does and discuss the architecture.
  • Approve without much comment — they know what they're doing.
  • Block it until the CI pipeline is green and the review checklist is complete.

3. Production breaks at 9pm. Your move is:

  • Charge in, fix it directly in main, write the postmortem tomorrow.
  • Paste the stack trace into a chat and ask what's likely wrong before touching anything.
  • Hot-fix in prod, skip the rollback ceremony, send a Slack message later.
  • Page on-call, follow the incident runbook, restore from snapshot.

4. When AI gives you code you don't fully understand, you:

  • Run it. If it works, it works.
  • Ask the model to explain the parts you don't understand.
  • Tweak it until it works, ship it, move on.
  • Write tests that cover what it claims to do.

5. Pick the description that best fits your ideal codebase:

  • One I can move fast in.
  • One I can fully reason about.
  • One nobody bothers me about.
  • One that's fully tested, documented, and instrumented.

6. Your team adopted a new AI tool. The first thing you did was:

  • Build something with it the same day.
  • Read the docs and discuss it in Slack before using it on real work.
  • Use it without telling anyone.
  • Add it to the toolchain config and CI checks first.

7. When code review feedback feels nitpicky, you:

  • Argue, then merge anyway when nobody's looking.
  • Engage thoughtfully — every comment is a learning opportunity.
  • Mark threads resolved without responding.
  • Update the linter rules so the bot can catch it next time.

8. When you finish a feature, the first thing you reach for is:

  • The next ticket. Always the next ticket.
  • A debrief — what did the model do well, what did I do well?
  • A coffee. Done is done.
  • The CI dashboard. Everything still green?

Like the diagnosis? Get the full chapter.

Every class has its own chapter — symptoms, conversations to have, and the team rituals that protect against the worst version of itself.