Many times I've seen engineers polishing and optimizing the code of an existing system without ever questioning the process itself or indeed the paradigm. I myself was in that position, spent 5 years optimizing the parameters of a complex system, only to realize that system was put in place based on faulty assumptions that were never questioned. The whole thing could have been removed and performance sped up 200%.
- Plan on surprises.
- Plan on human inventiveness.
- Favor reversibility.
- Take small steps; stand back; and observe before doing more.
Buffer, optionality, advantageous smallness, and bricolage are our watchwords.
"It is impossible to legislate for the future." —Prince Peter Kropotkin
"The first rule of intelligent tinkering is to keep all the parts." —Aldo Leopold
---
See also Gall's Law.
https://news.ycombinator.com/item?id=13959999 - March 2017, 11 comments