What does a Software Architect do?

Being a good architect is not an easy task to do. This January, I was in Norway for the Architect's Master Class with Juval Lowy, from IDesign, and one aspect that I've found interesting in what concerns this course organization is the way Juval assigned time to the 3 main areas we discussed: Process (1 day), Technical (2 days) and Design (2 days). Why I've found it interesting? Well, because it looked a real perspective to me, thinking in the way I'm used to spend my working time nowadays: a portion of project management, a bigger portion with technical lead and also some more time discussing/doing design and prototypes.

In my view and strictly speaking, project management should not be in the architect's roles but in practice, the hybrid-transitional state of our profession requires so. Many times, we don't have the possibility to rely on good-enough (or even existent at all!) project management, so we'll have to do it ourselves in order to ensure the project will accomplish its goals.

Another question that is around for some time now is about if an architect should/must be a good coder. While I can think of a good enterprise architect who knows very well how to lead strategically an organization but he can't be a programmer, if we are thinking of a solutions architect, this competence is not optional. A professional solutions architect generally does not do daily development for a living, but it will be impossible to sustain required technical competence and leadership without good programming skills, staying at the edge and doing prototypes to prove design will work.

And what about design skills? An architect is always researching in some area, looking for future trends and needs of the business he is working for or, generally speaking, "designing for the future". As quoted in a recent Intel presentation about the new 45nm processors technology, the following sentence from Frank Lloyd Wright says it all: "An architect must be a prophet... If he can't see at least ten years ahead, don't call him an architect".

Overall, the course delivers good value and it gives Juval's expertise insight to WCF internals, which is in fact one of this course's assumptions, that is, you'll be using WCF to design your architectures. At the end, I thought the hats I'm used to switch daily made more sense together than before and I felt good. By the way, in IDesign's site there is a video you can watch about all this. Go for it!

 



Published Saturday, February 09, 2008 10:48 AM by António Cruz
Filed under , , , , ,

Comments

 

JoseFormiga said:

The only problem in our days is the role of Software Architect is only understandable by himself :-)

I'm exagerating ... but IMHO it isn't so far from the truth.

February 9, 2008 12:59 PM
 

Paulo Morgado said:

I still like the analogy with Build Architects and Civil Engineers we use in Portugal.

And feel I'm a Software Engineer, not a Software Architect. And I don't know if I want to change. I'll probably have to, but not because I want to.

February 11, 2008 1:55 PM