001 — Code Review Habits

and exactly what to say instead

Five code review habits that read as junior, paired with the senior version of the same moment:

✕ "This is wrong." ✓ "This breaks on empty input — try X instead."
✕ Approving without reading ✓ Pull the branch and run the diff locally
✕ Nitpicking style in every comment ✓ Let the linter own style, comment on logic
✕ Silent LGTM on a 500-line PR ✓ Ask for smaller PRs before you review
✕ Reviewing only the code ✓ Review the tests — they show what was missed

📺 Watch the Short · published Jul 15


002 — Prod on Fire

before you touch the code

Five first moves when production is down. The instinct is to dive into the code — the senior move is to stabilize, communicate, and preserve evidence first:

  • → Stop the bleeding before you find the cause.
  • → Roll back first — debug forward later.
  • → Post a status every 15 minutes, even "still investigating."
  • → Capture logs and traces before they rotate away.
  • → Write the timeline live, not from memory afterward.

📺 Watch the Short · published Jul 15


003 — Engineering Checklists

steal them

Four steal-worthy checklists for the moments that decide whether your weekend gets interrupted:

Before you open a PR

  • Self-review the diff first
  • Say what changed and why
  • Keep it under ~400 lines
  • Tests cover the new path

Before you deploy

  • Migrations are backward-compatible
  • A kill switch is ready
  • Dashboards open, alerts armed
  • You know the rollback command

Before you call it done

  • Edge cases and empty inputs
  • Error paths, not just the happy path
  • Logs and metrics in place
  • Docs and README updated

Before you touch prod data

  • Take a backup first
  • Dry-run on a copy
  • Wrap writes in a transaction
  • Know how to undo it

📺 Watch the Short · published Jul 17


004 — Git Habits

and the senior fix for each

Five git habits that read as junior, and the senior version of each:

✕ git commit -m "fixes" ✓ Say why the change exists, not just what
✕ git push --force on a shared branch ✓ git push --force-with-lease
✕ One giant commit at the end of the day ✓ Small, atomic commits as you go
✕ git add . without looking ✓ Stage the hunks you actually mean to ship
✕ Committing straight to main ✓ Branch, PR, review — even when you're solo

📺 Watch the Short · published Jul 21


005 — Naming Things

names are the cheapest docs you'll write

Five naming habits that separate readable code from a puzzle:

✕ data, temp, obj, result2 ✓ Name the thing it actually holds
✕ getUser() that also writes to the DB ✓ Name it for what it does — or split it
✕ isNotDisabled ✓ Positive booleans — isEnabled
✕ Abbreviations only you understand ✓ Full words; your editor autocompletes them
✕ Manager, Helper, Util catch-alls ✓ Name the responsibility, not the vibe

📺 Watch the Short · published Jul 22


006 — Bug Won't Reproduce

before you start rewriting things

Five moves when a bug won't reproduce. The instinct is to start rewriting — the senior move is a reliable repro first:

  • → Get a reliable repro before you fix anything.
  • → Read the stack trace top to bottom — the answer's usually there.
  • → Change one thing at a time, then re-test.
  • → Use git bisect instead of guessing what changed.
  • → Add a failing test first, so it can never come back.

📺 Watch the Short · published Jul 23


007 — Logging Habits

logs are a message to future you

Five logging habits that decide whether the logs actually help you at 3am:

✕ log.info("here") ✓ Log the what, the why, and the ids
✕ Logging the password or the token ✓ Redact secrets and PII before they hit disk
✕ Everything at INFO ✓ Use levels — WARN and ERROR should mean something
✕ catch (e) { } swallowing it ✓ Log the exception with context, then rethrow
✕ Plain-text strings you can't query ✓ Structured logs with fields you can filter on

📺 Watch the Short · published Jul 28


008 — Slow Queries

and the one-line fix for each

Five reasons your query is slow, each paired with the one-line fix:

✕ No index on the column you filter ✓ Index what you filter and join on
✕ SELECT * dragging columns you never use ✓ Select only the columns you actually need
✕ N+1 queries firing inside a loop ✓ Batch it — one query with a join or IN
✕ Filtering the results in app code ✓ Push the WHERE down to the database
✕ Guessing which part is slow ✓ Read the query plan — EXPLAIN ANALYZE

📺 Watch the Short · published Jul 29


009 — New Codebase

be useful by Friday

Four checklists for your first week in a new codebase:

Before you write any code

  • Get it running locally
  • Find where requests come in
  • Read the README and the tests
  • Learn how they ship to prod

When you're lost

  • Follow one request end to end
  • Search for a string you see in the UI
  • Read recent PRs, not just the code
  • Ask — then write the answer down

Before your first PR

  • Match the style already there
  • Keep it tiny and boring
  • Run the tests locally first
  • Read a merged PR for the norms

In your first week

  • Fix one small thing yourself
  • Write down every setup gotcha
  • Map who owns what
  • Keep notes you'll want in month two

📺 Watch the Short · published Jul 30


More Quick Tips

New ones land most weeks — see everything tagged tips, or subscribe on YouTube.