What is an architect expected to know?

By on October 31, 2013 in Software Architect

If you are just stepping into the software architect role you may be experiencing a bit of a culture shock. You are probably being included in many meetings that you were not privy to as a developer. These meetings may include your organization’s directors, executives, and sometimes even the CEO. All of these people are now looking to you for technical recommendations to the organizations challenges. In most cases they don’t want to talk about implementation and they definitely aren’t interested in understanding the technical aspects of the solution that are most interesting to you. What they want to discuss is how you will provide value to the organization. They want to know how your solutions will either save the organization money or add revenue to the bottom line. Welcome architects, you have transitioned from the operational & tactical world of software development to the strategic world of architecture and with it comes a new set of expectations.

As a software developer you were expected to have a deep knowledge in a specific set of technologies. You were expected to be a specialist in a certain platform and language. As an architect the expectations as to your breadth of knowledge will be greatly expanded but thankfully the depth will be significantly reduced. For some, the knowledge requirements I will outline shortly are not as interesting as what is required of software developers. For others, like me, the role offers new challenges and opportunities to grow in areas that are both technical and non-technical. It is important to have an understanding of both the expectations and requirements of this role to be successful.

Non-Technical Knowledge

An architect’s knowledge begins with what you have learned as a developer. The skills and knowledge you have already acquired as a developer are going to serve you well as an architect but there is still much to learn. An architect’s expertise can be separated into two categories: technical and non-technical, both directly related to the skills and duties required of this role. As an architect you will be expected to be knowledgeable in the following non-technical areas:

  • Leadership Techniques
  • Management Techniques

Now I know many of you are sighing out loud at this point. I realize that leadership and management techniques may not be as interesting to you as the technical aspect of the job, but both are essential to success in your new role. As an architect you will function as a technical lead on line of business projects and enterprise initiatives. You will need to know what it takes to be both a strong leader and competent manager. You are no longer just implementing technical solutions as you did as a developer, you will be leading initiatives within your organization. You will be expected to lead teams and to identify opportunities that provide value to your organization. An enterprise relies on it architects not only for delivering solutions but for technology related guidance and direction.

As an architect you will additionally be expected to be knowledgeable in the following two non-technical areas:

  • Business Processes
  • Business & Enterprise Domain

As a developer you have acquired some level of understanding of your organizations business processes and domain but these were most likely in a single line of business. In order to provide solutions for your entire organization you will need to understand the business much more broadly than you did as a developer.  If your organization is anything like mine, there are many lines of business and possibly even many businesses within the same organization. You will be expected to have a high level understanding of how each line of business functions and how each business fits into the overall strategy of the enterprise.

Technical Knowledge

Now I realize that this may seem a little daunting but rest assured you will not be expected to know everything your first day on the job. You should feel very confident that your technical knowledge will continue to be leveraged. Your deep knowledge in the following areas:

  •  Architectural Concepts
  • Architectural Patterns
  • Architectural Styles
  • Design Patterns
  • Software Engineering
  • Software Design
  • Programming
  • Platform knowledge

continues to be important to your success. You should continue to develop your expertise in these areas; it is what makes you critical to your organizations success. This knowledge is what got you a seat at the table and what sets you apart from the others sitting beside you.




If you enjoyed this article, subscribe now to receive more just like it.

Comments are closed.