架构师是一个神秘而又神圣的名词,作为软件开发领域的设计师,架构师承
载着太多的责任和挑战。对于一个程序员或者工程师来说,架构师就像是一个目
标,一条道路,抑或是一座山峰。如何能够成为一名合格的架构师?架构师应该
具备何种素质?而架构师又是如何做到持续不断的成长和提高的呢?带着这些
问题,我们请到了五位 InfoQ 中文站的编辑,同时也是各领域出色的架构师或者
咨询师,来谈谈他们心中的“架构师修炼之道”。他们是:
王瑜珩:InfoQ 中文站.NET 社区编辑,ThoughtWorks 咨询师
赵劼:InfoQ 中文站.NET 社区编辑,微软最有价值专家,现任某创业团队
架构师
张龙:InfoQ 中文站 Java 社区编辑
李明:InfoQ 中文站 Ruby 社区首席编辑,现任某通信公司架构师
张龙:架构师是一个项目组的灵魂人物,他决定着整个系统的技术选型、整体架
构以及模块划分,同时还可能担当与领导层的沟通角色,从某种意义上来说,架
构师在很大程度上决定着项目的成败与否,正所谓火车跑得快,全靠车头带。
王瑜珩:对我来说,架构师一直是一个很迷惑人的词,似乎每个人的理解都多少
有些不一样。我认为架构师更像是一个投资家,需要权衡各方面的利益和风险,
反复思量,最后给出一个现实可行的方案,争取用最小的风险获得最大的利益。
李明:我觉得,架构师不仅仅是一个头衔,更是一份责任。所谓“在其位,谋其
政”,我倒是觉得架构师更像是父母,而系统和项目则如同子女一般,需要架构
师耐心的呵护和培养。完成一个项目,绝不是架构师工作的全部。通过代码重构
和架构改造,让这个项目如同有了生命一般逐渐成长起来,这才是架构师最终的
目标。
宋玮:架构师应该具备一定的业务知识和业务分析能力,能够准确地把握需求。
要有较强的学习能力,对于新出现的技术、框架和工具,能够快速掌握。扎实的
基本功,能够把握住技术方向。良好的沟通能力,能够清楚地表达自己的意图和
想法。
李明:代码能力绝对是很必要的。我见过太多只懂得画图的架构师了,“识大体
不拘小节”这个说法,在架构师身上并不适用。作为一名架构师,在系统的性能
和可扩展性上,要有足够的敏感性,既要充分利用现有资源,又要为长远做好打