What Is The Goal Of a Software Architect?

Image Image

In this article, we have a close look at what your goal as an architect should be. Before reading any further, take a piece of paper and put down the list of goals from your perspective.

Free Courses - Learn in 10 Steps

This is the second article in the following series of articles on Software Architecture :

Technology Enables/Supports Business

The most important point to understand is that technology enables and supports businesses. That is the primary reason why we build awesome applications and frameworks.

For example, Netflix built an excellent microservices architecture, in order to support its business and consumer needs. Netflix’s architecture enables them to provide an out-of-this-world movie streaming experience to all their customers. Simply having great technology will not help them survive.

Your role as an architect is very similar - architect applications that support business needs.

What Are These Business Needs?

The business needs can be put into the following categories:

Functional Requirements

Netflix might say it needs a web page where all the available movies are listed. A user should then be able to select a movie by clicking on it, and watch it. This is an example of a functional requirement. All businesses have them.

Non Functional Requirements

Netflix might put down a condition that the application needs to support over 100,000 users. The amount of time needed to load a page should not exceed 2 seconds. Also, application should be very secure. In addition, the system should be available 99.9999% of the time. These are all non functional requirements.

Quick Feature Releases

In general, if you get a fresh requirement today, you don’t want it be delivered 6 months down the line. There is a need for early delivery of features.

High performance organizations such as Facebook, Twitter, Amazon and Netflix do multiple feature releases in a single day.

Early Feedback

Another thing that all businesses need is early feedback. If a system is down, a particular feature is not working as expected, or if a large number of users don’t like a particular feature, the business wants to know of it as early as possible.

Quick Troubleshooting And Support

In today’s customer-centered world, it is of high importance that you have teams to deliver quick troubleshooting, and excellent customer support services. You also need to solve any problems that customers raise, very quickly.

Focus On The Right Things as an Architect

A lot of technology folks are obsessed with technology - tools, frameworks, languages and stuff like that. These are very important in their own right, without a doubt.

However, the problems comes when we forget the very reason why the application is being built - to enable a business to succeed.

As an architect, your unwavering focus should be on the business entirely, and look to reach business goals using the right technology solutions.

Do check out our video on this:

image info


In this article, we focused on what the goals of an architect should be. We saw that most developers focus on the technology, but lose sight of the business goals. Applications are enablers of businesses. We then saw the five categories of business goals that an architect should try to meet through the application design.

Best Selling Udemy Courses

Image Image Image Image Image Image Image Image Image Image Image Image

Join 450,000 Learners and 30+ Amazing Courses

350,000 Learners are learning everyday with our Best Selling Courses : Spring Boot Microservices, Spring, Spring Boot, Web Services, Hibernate, Full Stack React, Full Stack Angular, Python, Spring Interview Guide, Java Interview, Java Functional Programming, AWS, Docker, Kubernetes, PCF, AWS Fargate and Azure

Do not know where to start your learning journey? Check out our amazing learning paths:
Learning Path 01 - Spring and Spring Boot Web Applications and API Developer,
Learning Path 02 - Full Stack Developer with Spring Boot, React & Angular,
Learning Path 03 - Cloud Microservices Developer with Docker and Kubernetes,
Learning Path 04 - Learn Cloud with Spring Boot, AWS, Azure and PCF and
Learning Path 05 - Learn AWS with Microservices, Docker and Kubernetes



Related Posts

Understanding jwt token

Let us understand the json web tokens

Single sign-on workflow

Let us understand the single sign-on workflow

Oauth2.0 - Resource Owner Password Credentials grant workflow

Let us understand the Oauth2.0 Resource Owner Password Credentials grant workflow

Oauth2.0 - Implicit grant workflow

Let us understand the Oauth2.0 implicit grant workflow

Oauth2.0 - Client Credentials grant workflow

Let us understand the Oauth2.0 client credentials grant workflow

Oauth2.0 - Authorization grant workflow

Let us understand the Oauth2.0 authorization grant workflow

Writing Integration Tests for Rest Services with Spring Boot

Setting up a basic REST Service with Spring Boot is a cake walk. We will go one step further and add great integration tests!

Integrating Spring Boot and Spring JDBC with H2 and Starter JDBC

Learn using Spring Boot Starter JDBC to connect Spring Boot to H2 (in memory database) using Spring JDBC. You will create a simple project with Spring Boot. You will add code to the project to connect to a database using Spring JDBC. You will learn to implement the basic CRUD methods.

JUnit Tutorial for Beginners in 5 Steps

JUnit Tutorial for Beginners in 5 Steps. Setting up a basic JUnit example and understanding the basics of junit.

JPA and Hibernate Tutorial For Beginners - 10 Steps with Spring Boot and H2

JPA and Hibernate in 10 Steps with H2 - Setting up a basic project example with Spring Boot and in memory database H2. Its a cake walk.