I came across this site which has a lot of great information: 97 Things Every Software Architect should know. I particularly like this quote from Michael Nygard’s advice in Skyscrapers aren’t scalable:
We often hear software engineering compared to building skyscrapers, dams, or roads. It’s true in some important aspects. The hardest part of civil engineering isn’t designing a building that will stand up once it is finished, but figuring out the construction process.
Lots of great stuff for software engineers in general.