Bhatia: It helped us because we knew what kind of hardware we would need to be able to handle the kind of traffic to our site. Also, when you are hardware designers, you have tremendously more discipline in writing and describing software because in hardware you cannot get it wrong. Every turn of every chip costs you millions of dollars, so when hardware designers design any piece of software, they normally get it right. They use something called state machines to describe the functioning of the software. When you do that, you are very deterministic: if this is the input, then this will be the output.
So you write it in a very deterministic fashion and therefore you tend not to make too many mistakes. Whereas the pure software writers—the way they think and architect software is very creative. They put in lots of bells and whistles, but they think, "No big deal. If there is a bug, we'll fix it. Put in a patch." You can't do that in hardware. There's no patch. Once you ship a chip, it has to work all the time. So in terms of being able to test it out, there is somewhat of a difference, but I just think that hardware designers would be pretty good software designers as well.
i dont fully agree with the last part but he's not wrong in positing a technical limit that does help ensure a certain discipline