卓越的程序员
一个优秀的软件架构师,首先一定是一个出色的程序员,不编程的架构师的职业生涯是短暂的。
抽象思维
人们往往发现优秀的数学家、物理学家以及软件架构师有着很多相似的素质。
技术前瞻性
有人谈到技术高手与架构师的区别就在于,架构师不光是着眼于现在,不仅仅局限于开发细节,比如如何调用,如何并发等等。而是跳出三界外,考虑一下面向未来问题和潜在风险的应对之道。
问题解决大师
看到问题的本质,是架构师所必须具备的素质。抽象思维是往高层次的升华,透过问题看本质则是往深层次的挖掘。
多领域知识
首先,作为一名卓越的程序员,架构师肯定不欠缺开发方面的知识。从架构到方法论,从数据处理到安全监控。可以说IT开发层面上,架构师可以做到炉火纯青的地步。但是这仅仅是一名卓越程序员的能力级别,离架构师那还有很大的一段距离。
架构师身为一名技术领袖,需要通过发散知识的光芒来统御开发团队的。如果只是对本行业知识做到烂熟于心,那还仅仅是一名熟练工的水平。要想晋升更高的层次,还需要跳出“只缘身在此山中”的困惑。
内力
架构师的技术经验应该是开发团队中的最高点,需要跨越不同的开发环境与运行环境。
沟通与交流
沟通能力被排在架构师能力的第一位,它既是架构师入门能力,也是最难用量化标准来的能力。
权衡取舍
没有一个人可以建造一个没有缺陷的架构。这个项目可能缺乏时间,缺乏金钱,缺乏人手,或者缺乏合适的技术。在项目从开始到进行中的每时每刻,架构师都需要对这些架构的“缺陷”有明确的了解。
管控能力
一直以来,开发团队的管理似乎都是项目经理的事情,从生命周期管理到人力资源的配置,从进度管理到客户关系管理。其实在开发团队中,还有另一位默默无闻的管理大师——架构师。
艺术气息
系统应当是优美的,而这优美体现在系统的伸缩性、安全性、可维护性、可靠性和可移植性等健康因素。如果没有对艺术的追求,那么架构师则往往会被商业需求迷住眼睛,放任系统被滥用而落入不健康的悲哀。因此,好的架构师需要有艺术气质,有对系统之美的追求。
网友评论