Velocity vs. Maintainability
Understand the critical balance between velocity and maintainability as a senior developer. This lesson explores how project and developer maturity influence tradeoffs, emphasizing testing, avoiding bugs, documentation, and the importance of blameless post-mortems to build systems that last and scale effectively.
Tradeoffs change with project maturity
Most people today understand both the intended spirit and unintended consequences of “Move fast and break things.” However, what is less well understood is how tradeoffs change as project maturity changes.
When you are conducting R&D in a small startup, you should absolutely move fast. The consequence of failure is minimal, so the value of systems and processes is low. However, when you are pushing a code change to a massive infrastructure system, one tiny mistake can cause hundreds of millions of losses in seconds. The results get even direr ...