Engineering lessons

Also see software engineering quotes.

  • All code is liability.
  • Manual until it hurts.
  • Change is the only constant.
  • You can’t predict the future.
  • Life is tradeoffs.
  • Agree on a project’s values up front. Use them to decide on tradeoffs.
  • Prioritize.
  • Shorten feedback loops.
  • Iterate fast, experiment cheaply.
  • Worse is better.
  • Reuse existing code.
  • DRY.
  • Orthogonality is powerful. Make things cross cutting.
  • Data over config. Config over code.
  • Empower non-engineers.
  • Make interfaces. Map them to teams.
  • Data wants to be dirty.
  • Duplicated data wants to skew.
  • Less code.
  • There’s a healthy tension between flow and YAGNI. Navigate them thoughtfully.
  • Bandwidth increase with the square of latency. This has subtle but powerful implications for system design. Ignore it at your peril.

Leave a Reply

Your email address will not be published.