Who is a Software Architect?

Architect Classes

For instance, one of the theoretical standards, if any can be named as such, can be a classic separation into application architect, solution architect, and enterprise architect. And they all technically comply with the definition above, but what is different is the level of responsibility. And specifically, the application architect is responsible for the application, single software product — he is hands-on with code, actively cooperates with developers and managers. From my experience, there is almost always an application architect even if he has no label like that in his/her LinkedIn profile. Solution architects get a higher level vision and are responsible for a solution, a system of multiple applications or projects, interacts with multiple teams. He/she usually relies on application architects, or directly developers, but also hand-on with code, even though the level of detail is less. And finally, the enterprise architect handles the system of systems — you will deal with technologies in the industry. And still, I think the actual work will depend on the architect’s personality, company needs, and state.

The further you go, the thicker it gets

Architect Hats

Software architects are industry experts, negotiators, and first of all team players. But let’s go one by one, in short, I promise.

Industry Experts

When product owners talk to you — they expect you to understand them. But when engineers talk to you — they expect you to understand them. Actually, everybody expects you to understand them — you are an architect for god`s sake! And this is not easy to understand people with different backgrounds and professional priorities. So, you need to keep yourself hands-on with current technology trends, learn your business industry nature and talk to people around you all the time. In the end, you are the part of that glue, that makes a company of diverse professionals create the right thing in the right way.

Negotiator

When people with different backgrounds and professional priorities come together to create something, they will all pull the cart in different directions being 100% sure they are right. And they are in their own sense. And very often in a company, the loudest get the most value, even if it’s far from optimal for the product overall. The priorities thing is the responsibility of the product owner, of course, but it’s often hard to see real weights on the chart to make a weighted decision. One of the popular issues in companies over different industries is when short-term revenue-generating solutions significantly prevail over long-term technically important tasks. That leads to technical stagnation and the long-term unsustainability of the product. The architect’s role is to bring a balance between revenue generation and technical sustainability to ensure that the product will last.

Team Player

There is a lot on the architect’s plate and at some point, it becomes apparent that he/she can’t do all of this alone. The architect needs to be close with different departments and teams, getting to know their strong and weak sides, their pain points, and needs to negotiate that balance and grow his/her expertise. In the end, it’s all about the company and its people, not about the architect. When personal ambitions grow bigger than the sense of common good the architect turns to the “Dark Side” and brings more value to his resume, than to the company he works in and this is a bit different story.

Architect Traits

To wear the hats mentioned above it’s obvious that the architect needs to be: technically competent, which comes with experience and watching the technology trends; have good soft skills to communicate with different teams, kinds of professionals and negotiate the priorities. But I would like to talk about less obvious things that I believe are important for the architect.

Strong Background

Of course, there are multiple cases of different successes with different backgrounds. But I believe it might be a survivor’s errors. And to be a good architect you need to have a strong background in fundamental knowledge, such as mathematics, analysis, algorithms, and design thinking. For myself, I got it in University, where I studied applied mathematics and got plenty of fundamental knowledge that builds your structural thinking and problem-solving skills. It might look like I am not using this in my daily job, cause I am not building splines, complicated equations, and math models. But when working on all of those in my early days it built me neuron connections that define how I think today. And I saw exactly this when training junior developers with no background in sciences — they understand how it works, but it’s much harder for them to manipulate complicated structures than junior developers with a background in sciences. Don’t get me wrong, they still manage to learn, but eventually getting this background later and giving away more energy and time.

Sense of Common Good

Even if you are the best industry expert in the world, if your motives are wrong — you won’t get it right. When I say sense of common good, I mean a few things.

How to become an Architect?

Growing into an architect in my case looked like this. I have a strong academical background and working in engineering positions I always tried to dig into the essence of the problems to fix them, while taking more responsibilities in the scope of projects I worked on. Then I got an opportunity to become a technical lead of multiple engineering teams, where I got a significant boost in soft skills and multi-department communications. I faced all the time engineers who struggled with the technical issues in the company that they believed were constant. And I was looking to processes and different means of changing the way things are, what people saw wrong or inefficient so that things started to change for the better. At some point, I got an opportunity to become an architect and I took it.

Closure

There are a lot of articles about how to become architects, what books to read and certifications to pass. They are all probably true, but also they might not be perfect for you, because I believe every architect’s path is unique. So there is no clear specific step-by-step guide you can follow. At least the one I would believe in. And about books… I said I did not read books about it before I become an architect, but now I bought a few I can mention:

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
This Blog of Mine

This Blog of Mine

Just some guy from the web, coding games, managing tech teams, writing and talking stuff, trying not to hurt your feelings.