Software Engineering Insider
home button

 

What is a Software Architect and How Do You Become One?

Software architect was CNN Money’s top job for 2010. Architecture is a high level software position that requires knowledge of quite a few roles. To understand what a software architect is, it can help to consider a traditional architect. There are many people involved in building a house or apartment building, but there is a much smaller group there at the initial stages, translating the vision into something that can actually be constructed.

In 2010, Money Magazine named Software Architect as the top job in the U.S.

A software architect’s duties can include choosing the method of application development and the framework. This may mean doing some research. The architect may also be responsible for subdividing the project into manageable pieces. Software architects use modeling languages. They may master SysML and UML, among others.

There are different types of software architects. An application architect oversees the development of a particular application. The word “solutions architect”, meanwhile, is often used for a person who oversees interactions between multiple applications. (One goal can be to prevent duplication and make sure that each application serves a unique purpose.)

An enterprise architect is often more of a business/ IT person, and may be less involved with the actual software development. Sometimes, however, these two roles are combined.

The distinction between software engineer and architect can be blurry at times. Software architects typically have a big role in the early stages of the software development cycle, but they are often involved at other stages as well. The work week can be varied. A software architect will likely spend some time coding, but will also work in a liaison role, helping the business staff and the tech staff work together toward a common vision.

Job ads for high-level positions may ask for candidates who have broad experience and have seen products through all stages.

Education and Advancement

A person doesn’t start out at the architect level. A worker needs experience, generally as a software developer or engineer. Programming experience is valued. An architect is expected to be savvy with more than just technology, though; s/he should also be a people person.

A bachelor’s degree is the minimum requirement for the job. A master’s can be a plus. It is not a substitute for real world experience, but is often valued by those making hiring decisions.

It is possible to do a concentration in software architecture at the master’s level. Classes may include data structures, object oriented modeling, and project management.

Since high-level positions often ask for skill in research, writing, and/or oral communications, a candidate may want to seek out academic projects that develop these competencies.

Software Architect Certifications

There are several certifications worth looking into. The International Association of Software Architects offers four levels of certification. The first two rely on conventional forms of testing; the first includes only multiple choice questions while the second brings in other formats like design challenge questions. The third asks you to apply knowledge in more sophisticated ways through experience, presentation, and panel interviews. The Master level is reserved for those who have made contributions and displayed leadership and depth of knowledge.

The International Association of Software Architects offers highly respected professional certifications.

The Software Engineering Institute (SEI) offers certifications that are relevant to particular architecture roles. These are for individuals who have proved themselves in the field. In order to be certified in the Architecture Tradeoff Analysis Method, you need at least five years’ experience in the field, with at least two years in an software architecture or other senior position. This training helps you make evaluative decisions. Unlike IASA, SEI certifications are vendor specific – there are specific classes you need to take.

You can also earn certifications through tech leaders like Microsoft, Boeing, and Raytheon. The Microsoft Certified architect program is for experienced architects. Becoming a Microsoft Certified Master is a step along the way.

 

Home  |   About Us   |  Contact
© 2011-2018 SoftwareEngineerInsider.com. All Rights Reserved.