Hey guys,
I thought I throw my two cents on what I consider to be architect responsibilities. By the way I have been an architect (at least my job titles have had the architect
word attached to them) for the last 3 years.
In my opinion an architect is someone who can do the following:
- Participate in a requirement gathering and influence the requirements outcome. For example, when product management was going crazy on all the things the applications should do, I put on my performance hat on and started asking questions about response time, number of clients, the smallest machine this app was suppose to run on, etc. The point I'm trying to make here is that, because as a developer I had built similar systems and learned (should read got burned) on issues that almost cost the project to fail. Now as a senior engineer (architect) I make sure to bring these issues up front. That is, I let my boss or the client know right up front what problems I have encountered in the past and how they should be confronted. The idea is not to repeat the same mistake twice.
- Lead / inspire the development team. By now the architect has a good undestanding on what needs to be done. His job here is to make sure the designers understand what needs to be done and answer questions that designers may have. The designers do the solution and the architect participates on design reviews and code inspection reviews. As all this is going on the architect is thinking on the strategy to stress-test the system, what kind of installation files or program should be created, what are the system point of failures and how should they be addressed, etc.
- Setup / configure the production staging machine. The architect should know that hardware and operating systems need to be tuned to better run the application. This doesn't necessary mean that the architect knows how to do these thing, but he is got an ideas on what needs to be done and so, requests for resources that can perform these tasks. After a while, he'll be able to learn from these specialized resources and thus in the future be able to do the task himself.
In a nutshell, that's pretty much what I do as an architect. I'm sure I have left some critical things out, but the above list should give you the idea of my responsibilities as an architect.
It would be really good if other practitioners architect and/or sr engineer shared their role's responsibility so that others can get the picture of what being an architect is all about.
Omar
====