专栏名称: CSDN
CSDN精彩内容每日推荐。我们关注IT产品研发背后的那些人、技术和故事。
目录
相关文章推荐
凤凰网科技  ·  骚扰你的影院按摩椅,9个月赚了1个亿 ·  16 小时前  
常观  ·  直冲24℃!常州下周要入春? ·  昨天  
常观  ·  直冲24℃!常州下周要入春? ·  昨天  
DeepTech深科技  ·  AI仅用两天攻克超级细菌“十年难题”,内含六 ... ·  3 天前  
极客公园  ·  2025 年,开发者如何抓住 AI 这波「开门红」 ·  3 天前  
51好读  ›  专栏  ›  CSDN

架构师的必备素质和成长途径

CSDN  · 公众号  · 科技媒体  · 2017-01-09 10:14

正文

作者: 陈斌,一直专注于互联网技术领域的探索和创新,拥有丰富的海外经历、多年的架构经验,深谙移动互联网对传统行业的影响。作为业界最前沿技术的实践者和布道者,致力于推动移动互联网技术引领行业变革,译著《架构即未来》已于2016年5月上市。
责编: 钱曙光,关注架构和算法领域,寻求报道或者投稿请发邮件[email protected]

它山之石可以攻玉,尽管每个架构师都有自己的成长路径,但是了解其他架构师的成长之路,对未来想成为架构师的人有一定的借鉴价值。首先以我自己的成长过程为例,描述一下我的架构师之路。

图1 我的架构师之路


1989年研究生毕业后进入政府机构工作了三年,随后加入新加坡国际航空公司,从事IBM主机系统的汇编语言研发。顺应互联网技术的发展,航空公司开始把订票业务从传统的主机终端转向现代化的彩色PC客户端。为此需要在IBM主机系统和UNIX/Oracle数据库之间来回传输数据,所以我就开始研究Unix/Oracle,取得了Sun、HP和Oracle的认证,并由此进入了互联网技术领域。2000年以前,很多系统都是采用两位数字来标识年份,比如02代表1902,一个客户的出生年份是1902,系统会把他的年龄当成是两岁,这就是所谓的世纪之虫。很多医院、铁路、银行、政府机构都面临着这个问题,采用新的基于Unix/Oracle和互联网技术的新系统成为一个有效的解决方案。美国在这个方面有大量的需求,因此我就去了美国,专门做主机系统和Unix/Oracle以及互联网上的信息交互,这让我有机会接触大量不同的架构和系统,从而积累了丰富的经验,为后期的架构师之路奠定了坚实的基础。

日本工程师的特点是专、深、细,但是缺乏把所有的要素整合到一起解决一个问题的系统集成能力,所以我就成为负责系统集成的总体架构师,大量的系统集成业务为我提供了丰富的锻炼机会,把业务需求转换成技术解决方案,并进一步设计成各种系统,这些工作为我积累了丰富的架构经验。2004年,加入Abacus任首席架构师,开始协调其他的架构师一起做航空订票方面的互联网技术架构工作。2008年开始在eBay和PayPal任移动应用的高级架构师,从互联网时代进入移动互联时代。

纵观自己的架构师成长之路,我认为必须要踏踏实实地做好当下的事情,保持好奇心,不断地学习新技术、积累新经验和掌握新技能。紧跟时代的发展和技术的进步,不断地扩大自己的业务和技术领域,那么成长成为架构师就是水到渠成的事情。

建筑设计与软件架构

图2 古玛雅金字塔建筑设计之美


要了解架构师的成长之路,就要先清楚什么是架构。架构一词不是软件行业的专有名词,而是从古老的建筑行业借来的。在墨西哥有个很出名的古代玛雅金字塔,叫ChiChen Itza。塔的四个面分别代表春夏秋冬四个季节,每个面上有91级台阶,代表每个季节91天,4X91=364,再加上塔顶共365,代表一年有三百六十五天。在每年的冬至和夏至,塔身因为阳光照射会出现神奇的蛇影,准确地预测季节变化。古玛雅人的架构设计形神兼具,甚为奇妙,充分体现了架构之美。我们今天的软件系统架构设计与之相比,相形见绌。

图3 建筑师如何做架构设计


在日常工作中,架构师在设计系统的时候会画一张图,HP的服务器,思科的路由器,Palo Alto的防火墙,Tomcat的应用容器,mySQL的数据库等,把各种产品拼凑在一起叫架构设计。这是很棒的产品宣传。如果这是一部电影,可以售卖植入式广告。每个解决方案的供应商都肯定会对这个架构设计表示由衷的感激。 对建筑物,最好的建筑师从来不用供应商的名称来描述桁架、梁和支撑,而是用这些部件的大小、负载能力和组成等。这是因为建筑师会基于价格、信誉和质量选择不同供应商的解决方案。建筑师心里很清楚,用供应商的名字描述的是实施,而通过规范和要求来描述,这才是架构设计。

实施代表着你已经作出了选择性的决策,这些决策包括成本的考虑、自建与外购、投资回报率、团队的技能等等。用C++、Java或PHP作为编程语言并不代表你的架构;相反,这些只是为实施架构的组成部分而选择的工具和材料。选择微软数据库,还是Sybase、MySQL或者Oracle数据库,这并不是架构,而是实施架构中的数据库组件。选择使用开源系统还是由供应商提供的解决方案是另一个实施决策的例子,这与使用微软的操作系统还是Linux的某个版本同样是实施决策。

假设现在某个业务需要一个解决方案,架构师负责把业务解决方案转换成技术解决方案,如果把所有产品罗列起来或许可以解决问题,但是也肯定不会有什么创新的机会。相反,如果从事情的本源或本质出发,往往有机会创造新工具或新方法,这就是非技术设计的概念。例如,当我们要解决近实时的动态交易量统计的时候,可以利用传统的数据库来做累加。也可以写一套类似Storm的工具,既轻松优雅地解决了问题,同时也带来了创新。做为一个合格的架构师,就要有能力从事情的本源出发去独立思考问题并做出各种分析和设计,最后拿出一个非常合适的解决方案。

架构师的必备素质

图4 架构师的八个素质


做为一个合格的架构师必须具备八个重要的素质,包括业务理解、技术广度、技术深度、丰富经验、美学素养、动手能力和沟通能力。架构师的业务素质就是指要懂业务,对业务有足够的敏感度,能够清楚地知道自己的设计能给公司带来多大的业务影响。对技术素质最基本的要求是深度和广度。美学素质是要求架构师有美感和艺术感,所以易宝经常安排技术人员听音乐会,看艺术表演,因为艺术和设计是相通的。动手能力是指在适当的时候架构师能够上手实际操作,需要写代码的时候动手写代码,尤其是底层的关键代码。沟通能力也极为关键,因为架构师水平再高,如果沟通能力很差,花半天时间说不清楚自己的方案,那么再好的方案又有什么用途?在易宝每个周五的下午请架构师进行内部分享,讲讲最近都设计了什么有价值的系统,把自己做的解决方案用一句或几句话清楚地表达出来。因为能简洁地表达清楚意味着架构师已经深刻地思考和提炼了自己的设计思想。

在美国工作时,曾经有一位CTO跟我说:我不希望架构师有太多的协作,希望架构师都是孤单的鹰。你什么时候看见过鹰是一群一群飞的?真正的雄鹰都是飞得很高很孤独的,架构师也是这样。这里并不是说架构师不需要交流,而是在正常的情况下,架构师应该有足够的智慧和独立思考能力去做出最优的技术与业务判断。架构师的位置越高这种孤独性就越大。假如你是CTO,整个公司的技术问题都要你自己去规划,并对结果负责,根本没有人可以商量。要求有鹰飞的高度还有一个原因,就是只有飞到一定的高度才能够看到全面和整体。另外,除了飞得高,还要求架构师要有鹰一样敏锐的眼睛,能够观察到设计中不为人知而又很重要的细节。架构师还要具备有艺术的品位,设计出的系统足够优雅,那么,应该怎么理解这个品位呢?每个系统研发人员,如果做研发的唯一目的是实现一些代码,做出某些满足业务需求的功能,那么就没有什么艺术品位。所谓的品位是指有个人独特的风格。做出的解决方案,具有不同于常人的地方,是经过架构师充分的独立思考提出来的。我们非常看重有独立思考和个人风格的艺术品味。

图5 架构师的三商


架构师要怎么做才能具备鹰飞的高度、鹰眼的敏锐和艺术的品味呢?首先架构师要有较高的智商,其次,架构师要有一定的的情商,做为一个高级的技术人员,拥有开放的心态、谦虚的态度、幽默的气质会帮助他传播自己的设计理念,形成自己的设计风格,赢得广泛的影响力。再次,还有另外一个不常为人知的悟商亦至关重要。这是百悟科技的负责人张总从老子《道德经》里领悟出来的,我有幸为该书作序。所谓的悟商是指足够快速感应并适应周边环境变化的学习能力。做为一个架构师,要能跟随技术发展的脚步,该做主机系统的时候学习主机系统,该做分步式计算的时候能适应分布式处理,该做移动应用时能设计移动服务。技术在不断地演进,业务在不断地变化,在这个世界上唯有变化是永恒的,特别是互联网技术领域,架构师的悟商有多高,学习和适应能力有多强,基本上决定了这个人能在架构师之路上能够走多远。







请到「今天看啥」查看全文