Software architecture is more than having holistic knowledge of development technologies and methodologies, though that is important. Software architecture is concerned with reasoning about systems at the appropriate level of abstraction. The organization's culture, operations environment and individual project requirements guide you in determining what aspects of the system must be reasoned and what can be safely ignored.<p>Knuth called computer programming an "art". By that measure I sometimes think of software architecture as a "dark art"!