Essential skills for successful software architects - paths from professionalism

I stumbled upon an article by Ali Zeynalli where he presents his master plan to become (a high-performing) software architect. There is an excellent list of books and concepts to master. I would like to add two key aspects to his list.

3 minutes
Hero image

The Medium article initially shows which types exist for software architects, according to Ali. Ali distinguishes between the necessary skills in business and technical and thus differentiates between four typical types.

In the article you will find an exciting list of recommendations that I wholeheartedly agree with. Be sure to check it out and add it to your reading lists accordingly.

In his opening statement, Ali mentions an aspect neglected in this list and not taken up further in the article. That's why I would like to highlight and emphasize this:

this position also demands from architects to have a well-established social skills

In my opinion, the social skills in question include the aspects of leadership and communication. I would like to address this in my article.

Leadership

In terms of leadership, it is important for a software architect to demonstrate the planned changes and be a role model. This can for example mean adding enough time in the effort estimates if I want to establish test-driven development as a new concept. I am responsible for an excellent developer experience for my technology team.

Furthermore, as a software architect, I have answers to technically complex questions. But this is only one side of the coin - I keep an overview of the domain and the environment as a whole so that I make sensible decisions that are in line with the holistic corporate strategy and are, therefore, not immediately accessible to every developer. That brings me to my second point: communication.

Communication

In my role as a software architect, I have to be able to explain my (technical) vision and, better yet, be able to sell it. It's up to me to convey the "why." This is the only way I can help other people win over the changes in the company. Furthermore, I support my development team so that they think along with the implementation and grow with the challenges.

I will almost certainly encounter conflict and resistance in the course of my work. Ideally, I can prevent this in advance, but this will not always be possible. For this, I need communication skills.

Furthermore, it is important to promote team cohesion and create a safe space for mistakes, feedback, and, thus, growth. Depending on my role and responsibility, I can create the conditions directly or ensure that they are created by talking to those responsible and demonstrating the need.

Conclusion

If you are or want to become a senior software architect, I would like your career to focus on soft skills - because technical gaps (hard skills) are so much easier to close than missing soft skills.

Active listening, resolving conflicts about changes, and conducting critical discussions constructively are important skills. Instead of attending the next workshop on enterprise architecture, look for seminars on conflict management and constructive conflict resolution.

I wish you much success on your journey, and let me know what you think about the topic.

Subscribe to my newsletter

Receive once a month news from the areas of software development and communication peppered with book and link recommendations.