Scroll down
Software is fallible. Our applications are made of software, so they're vulnerable to failures. We add monitoring to tell us when the applications fail, but that monitoring is made of software so it too is fallible.
in "97 Things Every Software Architect Should Know," edited by Richard Monson-Haefel, O'REILLY, www.oreilly.com, 2009, ISBN 978-0-596-52269-8
Everything will ultimately fail. Hardware is fallible, so we add redundancy. This allows us to survive individuals hardware failures, but increases the likelihood of having at least one failure at any given time.
If you do not design your failure modes, then you will get whatever unpredictable-and usually dangerous-ones happen to emerge.
in "97 Things Every Software Architect Should Know," edited by Richard Monson-Haefel, O'REILLY, www.oreilly.com, 2009, ISBN 978-0-596-52269-8.
Hiring bad developers is like drinking seawater. It seems to satisfy a need while actually increasing it.