I’m a developer with lots of experience in the .NET world. I have developed countless of systems for all kinds of scenarios using many different technologies available in the Microsoft solution stack. I want to become a Solution Architect. Can anyone please provide information how to do it?
I’ve seen this question countless of times and it’s usually the same story: you’re a brilliant technical person and now you’ve decided to take the plunge and become a solution architect. Problem is, how do you do it? Where do you start and what do you need to know?
Many times I see people focusing on the technical aspect of the role, suggesting to learn design patterns & principles or maybe a particular architecture type such as SOA. Sometimes, the focus is on the delivery methodology such as Agile or Kanban. I have decided that it’s time to present my view on this matter, which is more holistically and is in alignment to the definition provided by the International Association of Solution Architect (IASA).
It’s no secret that I’m working as a Solution Architect in Unique World, a fantastic workplace with extremely smart people. My view of this topic is really the summary of many years of experience and more recently, the outcome of having a great mentor in Unique World for the last 4 years.
Obviously, before we respond how to become a Solution Architect, we first have to define what exactly a solution architect is. There are heaps of different definitions on the net and probably each architect has his or her own opinion on the matter. I’m no exception, and for me a SA is a person who has all the competencies needed to successfully deliver a solution architecture.
Yes, I know this doesn’t help too much, so let’s break that into what solution architecture entails. A solution architecture of a software project is the blueprints of how, technically, a solution works. It should contain the following aspects:
- Technology Composition – this is where you define what technologies you’re going to use, e.g. COTS like AD, SharePoint, BizTalk, Office tools, Internet Explorer but also development platform like WCF and WPF.
- Information Model – this is where you define what information repositories you will have and how information will flow in the system
- Logical Composition – this is where you define the logical components, including custom development, and how they interact in the system
- Topology and Environments – this is where you define the service topology (e.g. servers and networks) of your system
Now, in order to successfully deliver a solution architecture, the SA should have a great deal of technical knowledge and be aware of many trends and options available for use. However, that’s not the end of the story. The SA should also possess soft skills and human dynamic skills to successfully communicate with both the business and the technical team, to fully identify concerns and influence-forces affecting the designs.
In essence, the SA must be an absolute brilliant technical person with great communication skills, and have good knowledge of Project Management practices & methodologies. Oh, and obviously, the SA must have perfect abstraction abilities, or else he’s doomed to drawn in the sea of details.
Now that we know what a solution architect is, it’s time to answer how to become one. Well, here the response is much simpler – the aspiring SA needs only to follow the development path created by the IASA , starting from here: http://www.iasahome.org/web/home/education.
The International Association of Solution Architects (IASA) is the body of knowledge for a SA to align his or her career development with. The IASA identified the skills and competencies a SA should have, and also provide good learning materials and options to get there.
Another place to start looking at the role of an architect is these two articles. Although they are not in perfect alignment of how I see the role of the architect, they do provide a holistic understanding of what is expected from one.
- The Role of the Software Architect: Caring and Communicating, by Magnus Mårtensson March 2008
- The Need for an Architectural Body of Knowledge, by Miha Kralj, from The Architecgure Journal, April 2008
So there you have it. My view of what a solution architect is and what should you do to become one. I would love to hear comments from the community around this topic.
It goes without saying that if you find this information helpful and wish to reuse and /or publish it, please provide the appropriate credit and link back to this page.
NB: the response I posted in this thread is the driver for this post.