On a recent post, reacting to a post from Shane Patterson, Ted Neward gave us what I think is actually the most accurate analogy, so far, concerning the job of a software architect:
At the risk of offering up yet another of those tortured metaphors, let me proffer my own architect analogy: an architect is not like a construction architect, but more like the conductor of a band or symphony. Yes, the band could play without him, but at the end of the day, the band plays better with one guy coordinating the whole thing. The larger the band, the more necessary a conductor becomes. Sometimes the conductor is the same thing as the composer (and perhaps that’s the most accurate analogous way to view this), in which case it’s his “vision” of how the music in his head should come out in real life, and his job is to lead the performers into contributing towards that vision. Each performer has their own skills, freedom to interpret, and so on, but within the larger vision of the work.
I think the actual point here lies in the last part: the actual job of an architect is leading a team towards a vision.
To me neither “architect” nor “engineer” is well suited. Both terms have a “one guy do all” feeling associated with it, like Frank Gehry or Scotty. However, neither Franck nor Scotty can actually do anything useful without a (collaborating) team and an actual direction (e.g. “to boldly go where no man has gone before”).
Nevertheless, I don’t find “conductor” to be well suited either, because conductors are often considered arrogant superstars and not all software architects I know are like that.
Or it may just be that I am more arrogant than they are…