> The generalization and summary of this rant is: slack is good. Happiness lives in slack. There is such thing as optimizing too much. Also the small, isolated systems under optimization, are in reality neither small nor isolated.
Yeah there's a certain type of engineer mindset that loves the idea of optimizing things. But if you want to really optimize something, you have to carefully account for every single possible factor, situation, and use-case. Miss anything, and it's a much bigger disaster than saving 2% of whatever resource. It's rarely worth it.
Much better to treat the presumptions as a vague heuristic, make generous assumptions and add some slack, and call that good enough. Now there's probably enough slack to cover most of the edge cases you didn't think of, other things you based your original assumptions on changing under you, etc.
Yeah there's a certain type of engineer mindset that loves the idea of optimizing things. But if you want to really optimize something, you have to carefully account for every single possible factor, situation, and use-case. Miss anything, and it's a much bigger disaster than saving 2% of whatever resource. It's rarely worth it.
Much better to treat the presumptions as a vague heuristic, make generous assumptions and add some slack, and call that good enough. Now there's probably enough slack to cover most of the edge cases you didn't think of, other things you based your original assumptions on changing under you, etc.