The software/enterprise architect job is an important one. The duties of an architect are numerous and require specific leadership, communication and technical skills to be fulfilled.
In a recent post, Gabriel Morgan wrote about the qualities of an enterprise software architect starting from Daniel Goleman's Emotional Intelligence (EI) abilities: Self-Awareness, Self-Management, Social Awareness and Relationship Management.
Self-Awareness
- Emotional self-awareness
- Accurate self-assessment
Self-Management
- Self-control
- Transparency
- Adaptability
- Achievement
- Initiative
- Optimism
Social Awareness
- Empathy
- Organizational awareness
- Service
Relationship Management
- Inspiration
- Influence
- Developing others
- Change catalyst
- Conflict management
- Teamwork and collaboration
The Software Engineering Institute has collected a large number of opinions regarding the duties, the skills and the knowledge of a software architect as seen by various software engineers. A few of the opinions regarding an architect’s required skills are:
David Cornish (Technical Architect, JPMorgan, London, UK):
Strong communication with both technical and business teams
Strong design experience and technical knowledge
Analytical and 'joined-up' thinking
Conflict resolution
Theo Gantos (Consultant, TEKA, Flint, MI, USA):
A renaissance person. Consulting, diplomacy, organization, conceptualization, abstract thinking, logical reasoning, data modeling skills in several methodologies, ability to self-evaluate and adapt quickly, presentation and communication skills, programming expertise, writing skills, sales skills, charisma, finance and return on investment calculation skills, dealing with difficult and change-resistant people, sense of humor.
Venkatesh Krishnamurthy (Technical Architect, Valtech India, Bangalore, KA, India):
- Creative
- An Artist
- Politician
- Strong willed
- Excellent communication skills
- Excellent presentation skills
- People person
- Matured
- Articulative
- Courageous to make decisions and stand by it
- Risk taker
- Good observer
- Negotiator
Victor Alejandro Baez Puente (Chief Technology Officer, Grupo Nacional Provincial, Mexico City, DF, Mexico):
- Experience designing an enterprise application with financial auditing, contract management, enterprise workflow, business process integration, and perhaps asset management components
- Experience with Service Oriented Architecture (SOA).
- Experience as a chief architect on inception-to-delivery of J2EE projects.
- Experience with deploying J2EE rich and/or web client applications in a high-availability, clustered environment
- Expertise in the Unified Modeling Language (UML) for constructing, and documenting the artifacts of software systems
- Exemplary general IT knowledge (applications development, testing, deployment, operations, documentation, standards, best practices, security, hardware, networking, OS, DBMS, middleware, etc.)
- Expertise and experience in lightweight, rapid development, agile methodologies.
- Experience in estimating and measuring project velocity
- Experience with interaction with legacy systems and phased application integration
- Exquisite attention to detail
- Written, verbal, and diagrammatic communication skills
The examples are numerous. Some put an emphasis on leadership/communicator skills while others take specific technical skills into account. What is your opinion on the skills required of a software/enterprise architect?
Community comments
So the usual best of the best of the best type job description
by Michael Kimber,
Re: So the usual best of the best of the best type job description
by Sreedhar Lakkavaram,
Re: So the usual best of the best of the best type job description
by Mihai Campean,
A list of business skills
by Alex Panzin,
Re: A list of business skills
by Jason Kilgrow,
Re: A list of business skills
by Stefan Tilkov,
Re: A list of business skills
by Kevlin Henney,
Re: A list of business skills
by Stefan Tilkov,
Re: A list of business skills
by Paul Hokanson,
Trade-off Analysis
by Kelvin Meeks,
Re: Trade-off Analysis
by Gary Chia,
Good summary of soft skills for an Architect
by Darrell Johnsrud,
What I want to be when I grow up
by David Clarke,
On the basis of what has been discussed above
by Sid Khan,
So the usual best of the best of the best type job description
by Michael Kimber,
Your message is awaiting moderation. Thank you for participating in the discussion.
So the usual best of the best of the best type job description!!! Why do all IT jobs need a superman, especially when the compensation levels don't match the job description. Being one of these people I'd say you could narrow it down to being able to process a large amount of information efficiently, make your decision at the correct time and the communicate that decision in a financially sensible way so some one will invest in it.
A list of business skills
by Alex Panzin,
Your message is awaiting moderation. Thank you for participating in the discussion.
Sorry, just couldn't restrain myself from commenting.
* Creative
* An Artist
* Politician
* Strong willed
* Excellent communication skills
* Excellent presentation skills
* People person
* Matured
* Articulative
* Courageous to make decisions and stand by it
* Risk taker
* Good observer
* Negotiator
This one looks like a list of catchphrases that business people use, not something that a Software Architect is. I would hire a person like that to be an executive, not a software architect.
Re: So the usual best of the best of the best type job description
by Sreedhar Lakkavaram,
Your message is awaiting moderation. Thank you for participating in the discussion.
Micheal, Your Job Description for the Software Architect is pretty good. Its quite apt.
Re: A list of business skills
by Jason Kilgrow,
Your message is awaiting moderation. Thank you for participating in the discussion.
Funny. I was thinking about the same thing.
Can I point out one thing? I don't know how to reconcile "Strong Willed" with "Negotiator"? Hmmm...I guess I'm just not ready to be a software architect in Bangalore.
Re: A list of business skills
by Stefan Tilkov,
Your message is awaiting moderation. Thank you for participating in the discussion.
I find it amazing that there are no technical skills mentioned in some of the lists. Are there people who truly think one can be an architect without very high proficiency in relevant technologies?
Trade-off Analysis
by Kelvin Meeks,
Your message is awaiting moderation. Thank you for participating in the discussion.
I would add: The ability to perform trade-off analysis of architectural decisions along multiple dimenions (cultural, financial, skills, technology, performance, security, maintainability).
Re: Trade-off Analysis
by Gary Chia,
Your message is awaiting moderation. Thank you for participating in the discussion.
I think this is a good point, trade-off analysis is "mandatory" in an enterprise environment.
This is my take on the attributes of on Agile Architect which covers many technical and business parameters.
Re: So the usual best of the best of the best type job description
by Mihai Campean,
Your message is awaiting moderation. Thank you for participating in the discussion.
I agree with you Michael, indeed most IT job descriptions require a superman and while in most cases compensation might not be according to the description, let us not forget that also the real challenges won't rise to the description either. IMO, someone at this level should be a really adaptable person, with good technical background, a passion for technology and very good communication skills.
The key here would be for the Architect to be up to date with things that are going on in the technology world so that when the right time comes he/she can deepen the knowledge about a specific technology and be able to apply it to the practical situation at hand.
Let's get real, no one can know everything, and the more you know, the more you realize you know nothing.
Good summary of soft skills for an Architect
by Darrell Johnsrud,
Your message is awaiting moderation. Thank you for participating in the discussion.
Abel,
Great post, thanks. Interesting to see the lists that a few others came up with.
I don't understand why some would think this is "the best of the best" - all these soft skills are what's required to be really successful on the business side.
Depending on your model of an architect, the role can be viewed as half business and half technical. The architect needs to be able to relate to the non-technical stakeholders, listen well, sell them on a solution, inspire confidence and communicate the necessary detail of the system.
I think that when you get to listing hard skills, such as UML modeling, or a certain level of coding expertise, or experience in certain architectural styles, then you get into a very domain-specific description.
Is it reasonable to presume that the tech leads might often have more technical expertise than the architect?
Re: A list of business skills
by Kevlin Henney,
Your message is awaiting moderation. Thank you for participating in the discussion.
The role of architect is necessarily a bridge, so to describe communication skills without describing what you are communicating makes little sense, likewise making decisions without having a firm footing for such decisions results in an effective way of going wrong with confidence. Architects must have a strong technical background.
I gave a keynote at last year's Software Architect conference where I explored some of the skills that were relevant, anchoring the notion of architect in the concept of architecture (perhaps an obvious starting point, but one that seems to be overlooked in many lists):
www.software-architect.co.uk/slides/sa08-Kevlin...
Re: A list of business skills
by Stefan Tilkov,
Your message is awaiting moderation. Thank you for participating in the discussion.
Kevlin, that presentation sums up my views perfectly :-)
What I want to be when I grow up
by David Clarke,
Your message is awaiting moderation. Thank you for participating in the discussion.
This isn't about being a Software Architect, this is describing the sort of person I aspire to be. Someone with the described attributes isn't just a great Software Architect, they're also a wonderful human being. Hooray for us Software Architects. Actually I subscribe to the pragprog view that Software Architects should also cut code. I guess there is a project size over which that may become impractical but nothing informs a design like being involved in coding it.
On the basis of what has been discussed above
by Sid Khan,
Your message is awaiting moderation. Thank you for participating in the discussion.
According to what has been asked from this role, people like Prime Minister Tony Blair, President Barack Obhama, and President Sarkozy, Markel etc. only can fulfill this role as they are the only people I can think of has all these desired qualities (and of course provided by support from many advisors or special advisors as they say). I can tell you friends, if you do have such expertise, you are in the wrong business.
Re: A list of business skills
by Paul Hokanson,
Your message is awaiting moderation. Thank you for participating in the discussion.
Not to mention "Articulative" is not an actual word