Skip to content

Simplicity Over Complexity

Prefer simpler architectures, simpler code, simpler operations.

Code is read far more often than it is written. Optimise for understanding.

Complexity should require justification. The simplest solution that satisfies the requirements is usually the best solution.


What Good Looks Like

  • Solutions are understandable by the wider team
  • New engineers can onboard quickly
  • Operational burden remains low
  • Another engineer can safely modify the code

Anti-Patterns

  • Premature optimisation
  • Speculative architecture — solving problems that do not exist
  • Unnecessary microservices
  • Excessive abstraction
  • Clever but difficult-to-understand solutions

Key Questions

  • Is the solution easy to understand?
  • Can another engineer modify it safely?
  • Is the complexity justified by evidence, not assumptions?
  • Does the design match the actual problem size?

← Engineering Excellence