Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Software engineering

See also

Notes

Basic things

https://matklad.github.io/2024/03/22/basic-things.html

After working on the initial stages of several largish projects, I accumulated a list of things that share the following three properties:

  • they are irrelevant while the project is small,
  • they are a productivity multiplier when the project is large,
  • they are much harder to introduce down the line.
  • READMEs
  • Developer docs
    • Process docs (branching, code review)
    • Style guide
  • User docs/website
  • Internal website (metrics, coverage, etc.)
  • Build and CI
  • Testing
  • Benchmarking
  • Fuzzing
  • Ad-hoc automation
  • Releases