Making Better Software Decisions: Trade-offs and the Type 1 and Type 2 Strategy
After 25 years in software development, I’ve come to realize that every decision involves a trade-off.
Do you need to make an algorithm highly performant? Then you may need to make some sacrifices in maintainability and readability.
Do you need to make the architecture of a software system extremely flexible and resilient to change? Then you may need to make the architecture more complex.
Do you need to use a framework that is a great fit for solving specific business needs? Then you may need to accept the performance overhead of the framework in order to gain benefits in other areas.