Over the past four years I have been searching for a definition of what a software architect is. Infrastruture and the processes of infrastructure archtiecture are what interest me.
I’ve thought about, read about and researched various definitions, processes and even blogs where people included architect in their personal title.
I’ve listened to people who "knew the answer." Experts they call themselves. "Software Architecture" is just like "Building Architecture."
And from that I’ve realized that there are many answers today becuase nobody really knows what an architect is in the software world.
To me the architect is the person who understand the concepts of the solution as well as the requirements of hte business and is able to mix those with a little experience to produce a solution.
Architects, again to me, don’t deploy products they build solutions. So an archtiect doesn’t care what the products are, just what the capabilities are that he/she is deploying.
A solution represents a much broader view of the problem that is being solved then does a single product. Its why many companies have such a difficult time selling their products. They update their product to represent the "current problem" but don’t offer a solution that allows for flexibility.
I think of software architecture as being far different from building architecture. A buiding architect may design a building for a company. They then move on to the next project. They are selcomd asked to build v2 out of the scraps of v1. Which is the life of a software architect.
We take the solution that was deployed 10 years ago with y, mix in the new solution and create a world. A great software architecture, unlike a buidling architecture can be self sustaining, almost biologic in the sense that it knows when the technology is old and needs updating.
Really to me software architects are more like alchemists. Taking Lead, Iron and other metals and trying to createe gold. Software architects, the new alchemists.