Monday, September 25, 2006

When is an architect an Architect?

The term architect is an ambiguous one in the software industry. Far more so than in its more traditional home, the building industry, where a firm certification is the deciding factor. And it is an interesting topic because the title is going through a period of uncertainty. Speaking personally, I saw the title as a traditional way of declaring, look I can write program code but, more importantly, I can design the overall system so that others can code it. So when one sees a team, especially a manager, they know the lay of the land.

The problem comes about when two of these 'architects' are compared. Is the architect of a personal website the equivalent of an Internet banking architect? In this case, if this matters to you, then you basically have to drill into their resume and find out what they have really done and see how it lines up with your needs. After all, architects covers everything from system design to CIO-level enterprise strategy planning.

None of this would be insurmountable and probably parallels the building world: house architects versus industrial complex designers. However, when we add the lack of certification to the mix, we pretty quickly discover that everyone is an architect. If I had a dollar for every resume that has passed my desk where the applicant had spent all but their first job as an 'architect', I'd be rich. And from experience, I have worked with many architects who elevated themselves to that position so as to avoid the dirty work of actually coding. This is another cause of problem, since when you are relieved of the burden of implementing the system, you are also relieved of the practical implications of your design.

So what's the answer? Dunno. I can't see certification working because the industry is so dynamic that it would be obsolete within a year. The more progressive elements have compensated for the everyone-is-an-architect problem by expecting hands on philosophies. If you don't want to code, you can't architect here. This is probably the pragmatic approach, as it gives a nice feedback loop from design to implementation. And the corollary is that there are now architects who feel comfortable saying: "I don't want to just draw boxes and produce documents, I want to get in and build the thing."

1 comment:

Anonymous said...

You're right. There's no such such thing as THE software architect and THE skill set a software architect must have. Depending on project type and size there might be room for a couple of different "architects". See What's an Architect anyway? for my take on the question of what makes an agile architect.