flâneur

Designing bug-proof engines

grantslatton.com · 465 words · saved by 1 readers

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

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: Design the engine such that it's impossible for bugs to get inside Design the engine to tolerate bugs getting inside 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? Design a rocket engine that never fails Design a rocket that can tolerate engine failure…

saved by

related reading