While I was researching the Erlang "error kernel pattern" yesterday, I ran across this great link of Software Engineering Principles. It's a great "all in one page" collection titled "Programming Rules and Conventions".
As a quick example of what you'll find on that page, here is a list of the software engineering principles from the third chapter of that document: