DEV Community

What is difference among enterprise architect, solution architect, software architect, system architect and cloud architect?

Ben on September 19, 2018

Collapse
 
achjay profile image
AchJay

The difference lies in where these roles are positioned in a project, an ecosystem or a supply chain. In other words who they work with and for.

A few words of explanation: at different times I have held roles as Solution Architect or Service Architect and work with people in many other architectural roles. All these roles bring significant challenges but can be supremely rewarding. It's well worth aspiring to one or more of them during your career.

The clue is generally in the name. So a Solution Architects typically work within large enterprises and are responsible for ensuring that all the applications used in-house, by customers or suppliers play nicely together. This many include software developed in-house by independent software vendors or running in the cloud. This may initially appear to be all about API specification and design. However, this role usually extends to include making sure that DevOps processes and the choices made about tools or technology accross the enterprise's fleet of applications remains compatible. This typically involves a lot of time invested in understanding the roadmaps of many suppliers.

Solution Architects are responsible for a single application or technology product including both hardware and software. Cloud Architects are usually responsible for one or more of the compute, network, storage components of Cloud Services. A Software Architect may be responsible for the overall design of an application, particularly when there are many subcomponents that need to work together.

Collapse
 
imben1109 profile image
Ben • Edited

Your reply is awesome.

How about enterprise architect and system architect?

You mentioned DevOps. How would you define DevOps.

Collapse
 
designfrontier profile image
Daniel Sellers

As with all things Job title related the difference is going to depend entirely on the company that is handing them out as titles. They could all be the same. They could have different focuses (solution architect might be focused just on a single product, while an enterprise architect might be focused on architecting the communication between a suite of products, and a software architect focuses on the architecture of the code itself).

I would pay more attention to the job description connected to those titles then the titles themselves. In my experience both as a hiring manager and a developer titles mean next to nothing, I skip them and read the description of the job.

Collapse
 
rhymes profile image
rhymes

They all abuse the word architect :D

Collapse
 
josemunoz profile image
José Muñoz

Don't you think software and infrastructure are complex enough to require architecting?

Collapse
 
rhymes profile image
rhymes

I do, I was just joking about the titles we use in software.

@achjay and @designfrontier provided good answers...

Sometimes it really depends on the company. I've come across a "web architect" once and I'm still not sure what they did, probably a solution architect focused on web.

Collapse
 
rhnonose profile image
Rodrigo Nonose

The title.

Collapse
 
elmuerte profile image
Michiel Hendriks

This is the only correct answer (so far). I think there is a rather perverse obsession on job titles. (Not just in the software industry, in general).

The actual difference in the titles is what the company defines them to be, if they even define it. There is no IETF RFC, or ISO standard.

Collapse
 
rhnonose profile image
Rodrigo Nonose

One problem with defining a title is restricting the roles.

Sometimes just because you're an architect, you don't write mundane boring janitorial code. Just because you're a lead it means your decision has more weight. You because you're a programmer, you don't think critically about integrating with other parts of the systems.

It takes away shared responsibility and builds a hierarchical relationship.

Systems expands (or sometimes shrink) across time and roles changes. You could define your whole system as a unique system/solution, but things split and decouples.

I still don't get the "enterprise" thing though.

Thread Thread
 
elmuerte profile image
Michiel Hendriks

"Enterprise" is just a word that you use to say that you are just looking at a (flawed) high level abstraction of a thing, and are not concerned with everything below.

Collapse
 
phlash profile image
Phil Ashby

I'll have a go at the Enterprise Architect title: this usually refers to a role that looks at the way a larger organisation (aka Enterprise) functions: the culture it has, how information and finance flows through it, how risk is managed, how people are hired and retained and how that lot matches up to the roadmap/vision and strategies of the business.

This is followed by the refactoring of these things to improve performance, usually through applying lean thinking, restructuring (sometimes de-structuring), transformation programmes, etc. to deliver more effectively. For the massively bored, go look at TOGAF as one way to approach this (although it has detractors, me included).

TL;DR: It's engineering a whole company to meet desired/expected performance.

Collapse
 
flaxven profile image
VenFlaxSankari

This is just a title, may vary company to company.

Collapse
 
jindeveloper profile image
Jin Vincent Necesario

This article may not answer everything. But may give you a good start. dev.to/jindeveloper/introduction-t...