What are the main principles a software architect should know?
Some colleagues of mine are compiling a list, "97 Things Every Software Architect Should Know" which will eventually be a book. So far they've got 49 axioms such as Don't put your resume ahead of the requirements, One line of working code is worth 500 of specification, and Architectural Tradeoffs. Check it out.
97 Things Every Software Architect Should Know