Role & Responsibilities of an Software Architect

Mahesh Dilhan
The Zeals Tech Blog
5 min readJan 24, 2022

Introduction

Hello, I’m Mahesh and have been working as Golang Engineer in Zeals Co. Ltd starting from couple of month ago. I’m a technologist & polyglot

Today I will shed some light on one of important aspects of architecture. Yes this is for those who have passion and wiliness to pursue their career in software architecture.

Role of Architect

Blueprints in Building and construction

Laymen terms; Let’s take one step back and look at the field of civil engineering. Why is there need for an architect? Architects provide specifications or blue prints for clients’ requirements.

Figure 1; Detail specification of brick wall

For example Figure 1 illustrates the specification of wall. i.e. height, width, thickness, reason of having wall, risk not having the wall, etc. But he/she never highlighted the concrete implementation as it is the job of the civil engineer.

So there are two fundamentals and scope of work around that boundaries . First it is the specification/ blue print and the second is implementation.

The same applies to the Software engineering field. Architects are responsible for understanding the requirements, considering all risks, and coming up with a model which simplifies problems which contained reasons about the risks identified. This is majorly because lifecycle of software may be too complex to understand, due to the clients’ highlights timeline and/or too many failures. Understanding risk is a vital role of their work, as well as being able to judge the quality of product. Architects should consider external and internal quality of the system when doing their work.

I always used to describe this issue using figure 2 below to my peer architects to make them aware the importance of being an architect. Try to grasp it first and see whether you have being to such situation in your projects.

Figure 2: Address risk before and after vs time in software development

Yes, you are rite. Cost will be very high when we found an issue in last milestones of project delivery. This will impact quality as well as delay of delivering project. So what is most important, it requires as architect to understand the all the failure cases of project upfront taking good amount of time. The more the architecture is solid, lesser the toils in production..!

Ok, now let’s see what are the responsibilities of the person.

Responsibilities of Architect

Below is the list I came up with which I think attached to an architect in general. Lis may varies organization to organization.

  • Derive the technology roadmap for the business roadmap for the next 3–5 years

Everything starts with intent. As an architect it requires you to align the technology roadmap with business and help to achieve their intent

Figure 3; Drivers of Intent
  • Responsible for defining Business, Reference & Application, Integration, Data, Security and Infrastructure & Deployment architecture

Business architecture

Every design starts by understanding the business journey of the customer. Sources systems / external systems and how does each interaction with the customer during the journey along with the data that pass in every step

Reference & Application architecture

What should be the reference for the architecture. You might not be the first person to solve this problem. it is vital to come up with a reference architecture and derived application architecture based on it.

Application architecture illustrates the detailed system in numbers of levels (See more C4). And also it lists down the important decisions, alternatives and justifications, and assumptions you have when making the design.

Integration architecture

System to system connectivity; Should highlights the Request, Response type of protocols etc.

Data architecture

Focus on Persistence layer of the system

Security architecture

Illustrates all the measurement you have taken to defence against the attacks. some are below

  • Defence in depth
  • Data classification in pubic and private
  • Justification upon data lost
  • Shield against Network layer attacks

Infrastructure & Deployment architecture

Where the system is running and how good it is when it comes to failures. Detailed illustration of cloud provider services if it is hosted in cloud. Or else Onprem infra setup. This should also highlight the capacity plan.

Architects also have the following general duties:

  • Transform requirements & data into architecture and blueprints for the solution
  • Solution capabilities assessment, technology and solution design tool evaluation and standardisation
  • Conducts detailed analysis and wider research/ proof of concepts , interprets complex information and generates recommendations to support strategic customer focused goals
  • Influences and supports cross-functional project teams in order to achieve optimal results for the business
  • Conducts systematic in-depth research and analysis into issues of varying complexity within technical/technological area of expertise
  • Own data governance
  • Translate functional and non-functional attributes
  • Includes review of policies or standards to ensure compliance or design of new policies/ standards
  • Builds and develops effective relationships with stakeholders and architects, in order to influence optimal business outcomes and achieve set goals
  • Ensures ongoing compliance with defined enterprise platform processes and procedures, relevant legislation and external regulations, and predefined agreements

In Zeals we have system architects for each unit. In addition to above duties, they also responsible for the below:

  • Acts as a subject matter expert and shares knowledge with peers
  • Actively contributes to architecture repositories/ patterns
  • Presents architecture to the Architecture Review Board (ARB — read more here: Architecture Review Board (ARB) )
  • Provides technical & solution expertise on domain application landscape and current and emerging systems trends, practices, opportunities and risks within the area of expertise

Conclusion

It is vital to understand the roles and responsibilities of an architect if you have just started your journey. Understanding risks upfront saves cost and also make sure there will be limited tech-debt in the future.

--

--