Path to being a software architect

This is really a great thread,
If we could summarise?
What skills, competencies, education in everyone's opinion should a successfull architect have?

Would perhaps UML be an important skill?
Knowledge of design patterns
Programming experience
People skills etc.
 
I've had the "architect" title for about 7 years now. For me it means that I am responsible for the design of a few large pieces of software, and that I am also the guy who works through feature priorities with the consumers of my product. Since I am also a user of my product, I also contribute feature requests to the feature set. I also consult on the technical direction of the company, and it's overall technology strategy. I still spend 80% of my time coding - about 60% of my code is directly for the above mentioned projects, and the other 40% is quantitative coding/research (basically, interactive coding for data analysis).

How big is your company, Previous company I worked for, we were relatively small. and senior devs, me included, would fullfill most of that roles. I moved to a much bigger corporation, where the title architect actually pertains directly to your job, and is quite different from a senior developers role.
 
How big is your company, Previous company I worked for, we were relatively small. and senior devs, me included, would fullfill most of that roles. I moved to a much bigger corporation, where the title architect actually pertains directly to your job, and is quite different from a senior developers role.

Around 1000 people or so. The software architects at my previous company (10k+ headcount) fulfilled a similar role too. I've never met an architect that didn't actively code - that seems to be a role that only tends to crop up in non-tech focused companies.
 
This is really a great thread,
If we could summarise?
What skills, competencies, education in everyone's opinion should a successfull architect have?

Would perhaps UML be an important skill?
Knowledge of design patterns
Programming experience
People skills etc.

I'll take a stab:

UML - maybe not but I'd wonder how you came up through the ranks without being able to diagram a database ;)

Knowledge of design patterns - essential and constantly needs to be upgraded/updated.

Programming experience - same as UML above.

People skills etc. - this is necessary for any kind o work IMO. If you can't get people on your side then anything you try to accomplish is going to be heavy lifting.
 
Software Architect != Systems Architect
Although there is big overlap. One person can do both but I feel the roles differ somewhat

Systems Architect focuses higher level i.e. more enterprise level while Software Architect tends to focus internally in the low level design of a system i.e. design frameworks, classes, ERD, interfaces

Systems Architect does not necessarily need low-level programming experience but is def a huge advantage. But he needs to at least have a good handle on all technology stacks, know the benefits/cons etc as well, interface technologies etc. Because integration into the enterprise is usually where this guy operates. Needs to understand how systems interact. Also throw in a good mix of organisational IT policy, strategy, politics, etc.

For example, the Systems Architect may specify that 2 systems need to talk JSON/REST. That is as far down as he goes. The Software Architect will likely decide whether to use WebRequest/WebClient/HttpClient/ServiceStack, whatever.
 
Last edited:
Software Architect != Systems Architect
Although there is big overlap. One person can do both but I feel the roles differ somewhat

Systems Architect focuses higher level i.e. more enterprise level while Software Architect tends to focus internally in the low level design of a system i.e. design frameworks, classes, ERD, interfaces

Systems Architect does not necessarily need low-level programming experience but is def a huge advantage. But he needs to at least have a good handle on all technology stacks, know the benefits/cons etc as well, interface technologies etc. Because integration into the enterprise is usually where this guy operates. Needs to understand how systems interact. Also throw in a good mix of organisational IT policy, strategy, politics, etc.

For example, the Systems Architect may specify that 2 systems need to talk JSON/REST. That is as far down as he goes. The Software Architect will likely decide whether to use WebRequest/WebClient/HttpClient/ServiceStack, whatever.

Ahhh, software architect seems to be more the fitting description then. Or rather what I had in mind
 
Top
Sign up to the MyBroadband newsletter
X