Designing bug-proof engines
Suppose you have to make an engine that's going to operate in an environment with a lot of bugs. There are two strategies you can take: Which you choose is often downstream of requirements, but you should be aware of both options. Too often, the engineer gets stuck on one option when it would actually be easier to take the other path. What are some other instances of this problem? The Saturn V is an example of #1, whereas the Falcon 9 is an example of #2. In programming: C is an example of #1, whereas Java is an example of #2. In distributed systems: In writing: The list goes on, but the pattern is the same. I first had this thought when working at AWS on distributed systems. Before the "bug-proof engine" analogy, I visualized it like you're designing a device to transfer marbles across a room. You can design a device that never drops any marbles. Or you can design a device that sometimes drops marbles, and pay a janitor to sweep them up every night. So I'd call this "perfectionism vs
Explore this link on the map →