/ #team management #leadership 

Leadership skills for Software Architects

Simple, common sense tips and techniques, to allow you to become an effective leader as a Software Architect.

What is being an effective leader as a Software Architect?

Great architects are also great leaders, who can guide development teams through the technical implementation of the architecture. Here are some general tips to help you become a better team leader.

  1. Become the technical and business domain goto person.

  2. Help clear roadblocks so the team can move forward.

  3. Provide technical help and guidance.

  4. Help the team make decisions and validate those decisions.

  5. Provide motivation and support, technical and non-technical.

Leadership techniques.

  1. Keep it simple

    • Clarity and simplicity are two of the keys to successful leadership.
    • Be as concise as possible while at the same time providing all necessary information.
    • Keep your stakeholders in mind and present the right information in a context they can understand and keep diagrams easy to read.
    • Avoid accidental complexity by splitting up the architecture into views or snapshots portions of a bigger diagram.
  2. Be pragmatic yet visionary

Pragmatic: Dealing with things sensibly and realistically in a way that is based on practical rather than theoretical considerations.

  • Being a visionary is great but make sure you strike the right balance and not being over theoretical and vague.
  • Aim for success not perfection. Sometimes you need to accept tradeoffs in order to make something work for your particular situation.
  1. Navigate roadblocks and clear obstacles for your team

    • Always be vigilant about keeping your team moving in a forward direction.
  2. Lead by example not by title

    • Just because you have the title of architect doesn’t mean people will follow you – you have to gain their respect.
    • As the architect, make sure you have the necessary technical skills to do anyone’s job on the team. However, if you have to do it, make it clear to the management why you are doing it. You don’t want to lose the perception of being an architect.
    • Sitting down with the team and developing code with them is a fast way of gaining respect.
  3. Share the credit

    • Giving others credit does not diminish your credibility – rather, it enhances it. This is a great way of gaining respect of your co-workers and also management.
  4. Pay attention to the small stuff

    • Bad lightning, a broken chair, missing software – these are all things that are easy to resolve, demonstrating your commitment to the team and ability to get things done.
    • Take time to periodically review code – you may find little details that can stop a bug and improve quality and developer knowledge.
  5. Be decisive but not careless

    • Make decisions.

There’s nothing less effective and nothing more frustrating than an architect that can’t make decisions.

  • Make sure you can justify your decisions based on the information you currently have. Also make sure that the information you have is enough to make an informed decision.
  1. Integrate with the development team

    • Architects are very busy people as they participate in many phases of the whole software development lifecycle. Make sure you have time to be able to guide, mentor and help your team both technically and non-technically.
    • If you are too busy or not available to address issues and questions, your team will go elsewhere for answers. If that happen, you effectively have stopped leading your team.
    • Make time to proactively ask team members how they are and if they have any questions.
    • Work hard to break down those traditional hierarchical barriers that exists between an architect and developer.
  2. Keep a positive attitude

    • As an architect if you are confident and positive, your team will generally follow you in that confidence.
    • The opposite is also true; if you are negative and don’t think the team can accomplish what it needs to, it generally won’t.
    • Always avoid the phrase “no brainer” or “this is easy”. Software development is not easy and saying it is doesn’t make it so.
  3. Get along with people

“The most important single ingredient in the formula of success is knowing how to get along with people.” - Theodore Roosevelt.


Reference: Neal Ford, Mark Richards, Brian Foster, Software Architecture Fundamentals: Leadership Skills for Software Architects, 2017, Part 4, O’Reilly Media Inc.

Author

Abraham Laria

Sr. Software Engineer at Pinnacle Entertainment Inc. Aspiring Solution Architect, interested in Team Management.