Documentation principles:

Document decisions

  • Why this approach?
  • Why this tradeoff?
  • What alternatives were considered?

Document architecture

  • System overview
  • Component relationships
  • Data flow

Document gotchas

  • Edge cases
  • Known issues
  • Workarounds

Document how to run

  • Dependencies
  • Environment setup
  • Common commands

Tools:

  • README files for projects
  • API documentation (OpenAPI)
  • Architecture Decision Records (ADRs)
  • Code comments for complex logic

The goal: Someone new should be productive in 1 day, not 1 week.