Are you an architect or just a freaking good developer?

A software architect who doesn’t care about what his system is supposed to do isn’t worth his salt. For the term “software architect” to hold any meaning at all, it must be to describe someone who understands what the customer needs and designs a system that is fit for this purpose.

Sometimes, however, people talk about “technical architects”. I have myself been guilty of falling into this category once or twice myself. The fallacy of the “technical software architect” is that there is a large number of solutions that will work independent of what problem the customer have.

This is ludicrous. The very meaning of architecture is to apply technology to a context. Leave out the context, and you have no basis to choose a technology.

This is not to say that you don’t need experts within technologies and design strategies used in the solution. If the customer wants to connect a number of old and new systems into a shared portal, an Enterprise Service Bus (or a Data Warehouse!) may be a good solution. And then you will need people who are experts on the technology in question.

However, I would not call such an expert an architect. If you’re really good in some technology, I have no problem calling you a freaking good developer. Heck, you can even put that on your business card. Just don’t think you’re an architect.

Copyright © 2010 Johannes Brodwall. All Rights Reserved.

About Johannes Brodwall

Johannes is Principal Software Engineer in SopraSteria. In his spare time he likes to coach teams and developers on better coding, collaboration, planning and product understanding.
This entry was posted in Software Development. Bookmark the permalink.
  • Jan Ingvoldstad

    Strange, I always considered a software architect to be someone with a broad enough knowledge and experience base to help the right experts work together. A technical software architect would be someone who would be focusing more on the technical aspects.

    Maybe I’m just getting old.

  • http://hedemark.net/blog Geir Hedemark

    I don’t think I agree, although I will be perfectly willing to admit that this is a gut reaction.

    Applying technology to a context is what I would call development. I think architecture is more to do with leadership in some form. There are either multiple teams who need some form of coordination, or there is (horrors) some malfunctioning piece of wetware outside of the development team, and the architect is introduced in order to try to sort it out, or at least shield the developers from the issue.

    I need to think some more about this, but I am really, really sure that applying technology to a context should be left to the dev team.

  • gjest

    My question would be:
    – what’s your defintion of an architect?

    The reason for focusing on the non-functional requirments is of course that the functional requriments is defined and already have a focus.
    You could say that an architect is’nt someone only focusing on the functional requirments.

  • Anonymous

    Agreed.

    Some people return from the shitter and call themselves food baby architects.

    To each their own.