I trust anyone reading this post title most probably is expecting to see something like UML Design, OOP Design, writing code, etc. I would not consider these in the required skills list, these are I would say, mandatory skills for a Software Architect. In my opinion, the most important skills for Software Architects are the communication skills.
The Importance of Communication Skills
In Microsoft .NET – Architecting Applications for the Enterprise (2nd Edition) book, the role of the software architect is defined as a person who ties together the requirements and specifications, and one of the most important responsibilities of the software architect is mentioned to be the acknowledgment of requirements.
This requires a lot of communication with people of different profiles and various knowledge of technical jargon (project managers, business analysts, potential users, etc.), and it is a natural expectation that a Software Architect should speak the language of business rather than the other way around.
Speaking the language of business is one part of the communication. Next comes communicating that business knowledge and requirements to development team. In my experience, I have seen several situations in which developers and business people were speaking about the very same solution, but the language terminology they used made everybody think that they are speaking about two different solutions.
It is the technical skills of planning, designing, development, and implementation of a software solution that qualifies one for the position of Software Architect, but in my opinion it is the soft skill of communication that is the most important skill for software architects and the skill that makes one an appropriate choice to be in that middle point of the team. As my boss says, we must talk talk talk.
What Can You Do To Improve Your Communication Skills?
Of course, there is no silver bullet to this problem. We humans tend to be unique in our behavior and skills, and as such the recommendations cannot easily be generalized. However, I have three points which I can recommend to anyone:
- Seek sincere advice from people around you, be it your family, your friends, or your colleagues. Generally, it is not easy to get someone to sincerely tell you what they think. People sometimes don’t like to tell what they think and sometimes they are afraid of being perceived as criticizing others, so they don’t tell you exactly how you are being perceived unless they get this freedom from you. Try to make people feel comfortable saying what they think about your communication skills and sincerely appreciate their comments.
- Spend some time with yourself thinking about your communication with others. What did you say, what was your intention to communicate and how was it perceived? This could be very helpful to find your weak points, on which you should focus to improve.
- Read the book How to win friends and influence people by Dale Carnegie. This is one of the best books I have read and I can confidently recommend this book to anyone. It has an immense set of advice which is very useful for improving one’s communication skills.
You can find plenty of advice from different resources on internet, from books, and from people around you about how to improve your communication skills. Pay attention to the input you get especially from people, you will appreciate it at the end.
The post The most important skill for Software Architects appeared first on arian-celina.com.