As our systems become more distributed and more connected, security has never been more important. The catalog of known exploits is vast. There are more vulnerabilities and pitfalls than any expert can understand. And yet, security is so important that it can not be left to experts.
Fortunately, all good practices flow from a small set of principles. These principles should be known by every programmer and every manager.