Wednesday, January 7, 2009

Being a Software Architect

Wikipedia's description of a Software Architect is pretty good, but in my opinion a great software architect also performs these duties:

  • Mentor software developers to see the broader picture.
  • Acts as a go-to person for technical decisions.
  • Documents the architecture and sub-architecture of modules, so individual teams and developers get a clear understanding of how their software has to be organized.
  • Reviews processes and code modules.
  • Define the structure of API's and interfaces.
  • Performs front-end requirement management duties. This is especially true for architects working with Software Product Lines.
  • Often reviews 3rd party code and other companies in case or partnering or acquisitions.
What is your definition of a Software Architect? Let me know in the comments.

No comments: