One of the sessions that I delivered at the recent Software Architect 2009 conference was entitled "Broadening the T" and covered the sort of skills and knowledge that I think are needed by hands-on software architects. This included things like seeing the big picture, dealing with non-functional requirements (we focussed on performance and scalability), using patterns at the architecture level, testing architectures, monitoring and diagnosing performance problems. Some concrete advice was given throughout the presentation with Java and .NET being used to give some real-world context.
I have a load of notes on the Keynote version of the slides and I'm going to put one or more essays together that cover the content in more detail. In the meantime, you can view or download the slides.
Simon is an independent consultant specializing in software architecture, and the author of Software Architecture for Developers (a developer-friendly guide to software architecture, technical leadership and the balance with agility). He’s also the creator of the C4 software architecture model and the founder of Structurizr, which is a collection of open source and commercial tooling to help software teams visualise, document and explore their software architecture.