文章
架构师修炼之道
作者 InfoQ中文站发布于 2009年11月4日上午1时7分
社区 Ruby, Architecture 主题企业架构标签《架构师》月刊, 架构评估, 采访
架构师是一个神秘而又神圣的名词,作为软件开发领域的设计师,架构师承载着太多的责任和挑战。对于一个程序员或
者工程师来说,架构师就像是一个目标,一条道路,抑或是一座山峰。如何能够成为一名合格的架构师?架构师应该具
备何种素质?而架构师又是如何做到持续不断的成长和提高的呢?带着这些问题,我们请到了五位InfoQ中文站的编辑,同时也是各领
域出色的架构师或者咨询师,来谈谈他们心中的“架构师修炼之道”。他们是:
l 宋玮:InfoQ中文站Java社区首席编辑
l 王瑜珩:社区编辑,ThoughtWorks咨询师
l 赵劼:社区编辑,微软最有价值专家,现任某创业团队架构师
l 张龙:InfoQ中文站Java社区编辑
l 李明:InfoQ中文站Ruby社区首席编辑,现任某通信公司架构师
1)在你的心目中,架构师意味着什么?
张龙:架构师是一个项目组的灵魂人物,他决定着整个系统的技术选型、整体架构以及模块划分,同时还可能担当与领导层的沟
通角色,从某种意义上来说,架构师在很大程度上决定着项目的成败与否,正所谓火车跑得快,全靠车头带。

王瑜珩:对我来说,架构师一直是一个很迷惑人的词,似乎每个人的理解都多少有些不一样。我认为架构师更像是一个投资家,
需要权衡各方面的利益和风险,反复思量,最后给出一个现实可行的方案,争取用最小的风险获得最大的利益。

李明:我觉得,架构师不仅仅是一个头衔,更是一份责任。所谓“在其位,谋其政”,我倒是觉得架构师更像是父母,而系统和
项目则如同子女一般,需要架构师耐心的呵护和培养。完成一个项目,绝不是架构师工作的全部。通过代码重构和架构改造,让
这个项目如同有了生命一般逐渐成长起来,这才是架构师最终的目标。
2)架构师应该具备何种技能或者素质?
宋玮:架构师应该具备一定的业务知识和业务分析能力,能够准确地把握需求。要有较强的学****能力,对于新出现的技术、框架
和工具,能够快速掌握。扎实的基本功,能够把握住技术方向。良好的沟通能力,能够清楚地表达自己的意图和想法。

李明:代码能力绝对是很必要的。我见过太多只懂得画图的架构师了,“识大体不拘小节”这个说法,在架构师身上并不适用。
作为一名架构师,在系统的性能和可扩展性上,要有足够的敏感性,既要充分利用现有资源,又要为长远做好打算。另外,对业
务的理解是很多技术架构师所忽视的地方,只要彻底了解业务需求,技术才能派得上用场。

赵劼:在我看来,一个合格的架构师需要具备开放的眼光,各种平台、系统、项目随手拈来皆可组合,唯一的目标则是针对合适
的环境选择合适的做法,这显然需要在成本和质量之间进行权衡。作为一个架构师,应该具有很好的“弹性”,在真正的环境
中,很少会遇见与过去一模一样的情况,因此也需要架构师能够大胆尝试,灵活应对,使用踏实而严谨的做法来进行推测。一个
架构师也必须有着足够的沟通和交流能力,把自己的想法使用合适的方式告诉别人,并且根据别人的反馈进行不断调整自己的观