11085 shaares
395 private links
395 private links
How to avoid "software rot"? The author describes three pillars:
- Foundations: the first decisions we make, that all other decisions are laid upon. These are the ground upon which all other battles are fought - and here, hours of research and thinking can save months of future engineering work. Mistakes here compound like little else in the game.
- Workflow: The environment in which the codebase has space to grow and be changed, and the digital and human I/O that enables that.
- Maintenance: The energy, time and will that must be reserved for the ongoing care, support and security of the platform.
- choose boring technology
- automate the tedious or repetitive
- good leadership is crucial
- make it easy to do the right thing
- reward clarity in code and communication
- make it easy to recover from disaster
- take external dependencies seriously, thoughtfully and defensively
- build a team that feels co-operation is a superpower
- technical debt is a strategy