Skip to content

Senior craft

Start lesson 1

This series is a roadmap for senior software craft. It covers the ideas you need in order: complexity, modules, trade-offs, domain language, consistency, debugging, and requirements.

When you’re done, you’ll be able to:

  • Name what is making a system hard, instead of drowning in details
  • Split a design into a handful of boxes and defend the seams
  • Pick a path under incomplete information and say what you’d watch
  • Debug with a hypothesis, and catch edge cases as you go

Work the lessons in order. Talk out loud. Sketch on paper. Don’t reach for autocomplete until the drill is done.

  • 01 Complexity — the real problem is not “more code”
  • 02 Working code is not the bar — tactical vs strategic
  • 03 Deep modules — hide information, expose a small interface
  • 04 Together or apart — how to draw the boxes
  • 05 Errors — design special cases out of existence
  • 06 Design it twice — name the trade-off
  • 07 Model out loud — a shared language for the product
  • 08 Aggregates — who owns a write
  • 09 Hypothesis, then tests — stuck is a process, not a panic
  • 10 Requirements and NFRs — clarify, then go one layer deep

After the craft series, go deeper one book at a time.