How to Become a Technically Well-rounded Architect

A good architect needs to be a well-rounded architect, and discusses six aspects of being a well-rounded architect.

 

 
Figure 0: How to become a technically well-rounded architect

 

  • as a technology leader
  • as a developer
  • focus system
  • entrepreneurial thinking
  • Balancing strategic and tactical thinking
  • good communication

as a technology leader

A good software architect needs to understand that being a leader doesn't necessarily tell developers what to do. On the contrary, a good architect is like a mentor, leading the development team towards the same technical vision. Good architects turn their architectural vision into reality with leadership skills such as storytelling, influencing, navigating conflict, and building trust. A good leader is also a good architect. He/she listens carefully to each participant and adjusts their vision through feedback interactions with the team.

as a developer

An architect is also a good developer. Often, making a good architectural choice involves balancing the desired architectural state with the current state of the software system. For example, if a problem is better solved with a relational database, it makes no sense to introduce a document database into the system. If an architect does not consider the matching degree between technology selection and problem domain, he will be easily tempted by various technologies - this is the common "ivory tower architect" behavior pattern.

The best way to mitigate this is for architects to spend more time with developers and spend some time on code. Understanding how the system is built and the constraints of the system will help the architect make the right choice in the current environment.

focus system

Experienced developers understand that code is only one aspect of software. To make the code runnable, they also need to understand other important quality attributes required for the code to work well in production. They need to consider aspects such as the deployment process, automated testing, performance, security, and supportability. Developers may implement these quality attributes in an ad hoc fashion, while architects need to focus not only on understanding the code, but also on understanding and satisfying the needs of different stakeholders such as support, security, and operations. A good architect needs to focus on finding solutions that meet the needs of different stakeholders, rather than choosing tools or approaches that are optimized for the preferences or styles of one participant.

entrepreneurial thinking

All technology options have associated costs and benefits, and a good architect needs to consider new technology options from both perspectives. Successful entrepreneurs are willing to take risks, but also seek to learn fast and fail fast. Architects can make technology selections in a similar fashion, gathering real-world information about short- and long-term costs, as well as benefits they may perceive.

这方面一个很好的例子是,架构师避免承诺立即使用一个在阅读新文章时看到的工具或某一会议上听过的工具。相反,他们试图通过架构调研来了解工具在其环境中的相关性,以收集更多信息。他们对于工具的选择不是基于销售量,而是考虑他们需要什么以及这个工具所提供的价值。他们还会寻找这些工具背后的隐性成本,例如工具的支持情况(如文档化程度、社区使用情况),工具可能带来的约束或长期来看可能引入的额外风险。

权衡策略思维与战术思维

许多团队由一些独立的开发人员一起构建软件,而每个人都倾向于选择自己最舒适或最有经验的工具和技术。好的架构师持续关注可能有用的新技术、工具或方法,但不一定立即采用它们。技术采用往往需要长期的考量。架构师将在团队和组织层面寻求敏捷度(允许团队快速采取行动)和对齐(保持足够的一致性)之间的良好平衡。建立自己的技术雷达这样的练习是用战略思维探索技术的一个有用工具。

良好的沟通

架构师需要知道,有效沟通是建立信任和影响团队以外成员的关键技能。他们知道不同群体使用不同的词汇,而使用技术术语和描述与业务人员沟通将会变得比较困难。与其谈论模式、工具和编程概念,架构师需要使用听众熟悉的词汇与之交流,诸如风险回报、成本和收益等。这比单纯使用技术词汇进行沟通来得更好。架构师还需要认识到团队内部沟通与外部沟通同样重要,可以使用图表和小组讨论的方式来建立和完善技术愿景,并书面记录之(如架构决策日志或Wiki等),从而为将来留下可追溯的历史。

结论

Finally, Pat pointed out that it is not easy to be a technically well-rounded architect, because there are many aspects that require our attention, and each aspect has many skills that developers often do not focus on practicing. In fact, the most important thing is not necessarily the ability of an architect, but that they have enough expertise in each different field. An architect who masters only one of the above areas is not as valuable as an architect who has good expertise in all six areas.

 

http://www.techug.com/post/the-well-rounded-architect.html

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=326482979&siteId=291194637