Not necessarily. Part of Kwak's problem with software is that it is taking humans out of the system. For example, the stock trading software that runs a modern exchange replaces the human traders who used to exchange physical slips of paper. A human trader can look at a particular trade, say, "Hmmm, that doesn't look right," and ask for confirmation. A computer can't (in the general case). So, if humans are the resilience in any system, what happens when you start taking humans out?
They do this all the time. There are quite a few pre and post-trade checks enforced by the exchanges. The net result is that if things go wildly wrong, trading will most likely stop.
This is part of the reason why Knight Capital's implosion had such a minimal effect on anything besides Knight's shareholders.
That's true, and the point that I was trying to make is that we need more of these built-in checks and assertions, even if they mean that the system isn't running at its maximum potential efficiency. I think that software development practices (especially in the financial industry) have gravitated too far towards speed (in computing and executing actions) and not enough towards safety (e.g. doing some meta-analysis and determining if the computed actions make sense given higher level trends).