架构师是一个充斥挑战的职业,眼界的高下往往决定着一名架构师的架构能力,社区中也常常有对于架构师能力模型的争执。近日,原 ThoughtWorks 咨询师 Pat Kua 撰文探讨了一名好的架构师应该具备哪些素质,具体如下。
首先,一名好的架构师肯定是一个好的技术领导者。架构师就像一个导师,应该率领开发团队向同一个技术愿景后退。他会借助于故事、影响力、疏导抵触、构建信赖等领导技能,将企业的架构愿景变成事实。
其次,架构师同时又是一个好的开发人员。通常,做出一个良好的架构抉择,须要衡量现实的架构状态与软件系统的以后状态。例如,如果一个问题更适宜采纳关系型数据库来解决,那么将文档数据库引入到零碎中的做法就是毫无道理的。架构师如果不思考技术选型与问题域之间的匹配度,就会很容易受到各种技术的引诱——也就是常见的“象牙塔式架构师”的行为模式。缓解这种状况的最佳形式是架构师多与开发人员待在一起,花一些工夫在代码上。理解零碎的构建形式及零碎的束缚,将帮忙架构师做出正确的抉择。
最初,架构师应该学着像 CEO 一样思考问题。所有的技术选型都有相干的老本和收益,一个好的架构师须要从这两个角度思考问题。胜利的企业家违心承担风险,不过也会寻求疾速学习和疾速失败的办法。架构师也能够用相似的形式做出技术选型,收集真实世界中无关短期和长期老本的信息,以及它们可能带来的益处。
对于刚在文章或会议上理解的工具,架构师防止承诺立刻应用,相同,他们会试图通过架构调研来理解工具在其环境中的相关性,以便收集更多信息。他们对于工具的抉择不是基于销售量,而是思考本身的须要以及这个工具自身所能提供的价值。他们还会思考这些工具背地的隐性老本,例如工具的反对状况,如文档化水平、社区应用状况等,还有工具可能带来的束缚或长期来看可能引入的额定危险等。
文章起源:极客工夫《极客热点》