网络通信 频道

一场关于“攻城狮”秒变架构师的争论

  【IT168 评论】工程师是怎样一群群体?工程师遵照一般性既定原则,在数学和科学上,解决一些技术问题;工程师建立事物,探索出了原理就想实现其应用;通俗点来说就是工程师是在架构师把架子搭好之后编代码的一群人。

  那为什么总说工程师很苦逼?为了满足互联网快节奏的变化,工程师需要快速开发实现相关功能,而为了能够满足这样快速的开发进度,开发人员一般要加班加点完成工作。低薪、心累以及时间被占用,是每个工程师心中的苦。但最重要的,大概还源于每个工程师心中都有一个架构师的梦吧。

  工程师离架构师是一步之遥还是可望不可及?架构师群体默默地表示:不是每一个程序员都能够成为一个架构师。近日IT168论坛进行的一项名为《SACC2015:从攻城狮秒变架构师》(http://www.itpub.net/thread-1928274-1-1.html)的话题讨论中,工程师到底能不能成为架构师,而且还是一名好的架构师?许多网友提出了自己的观点。

一场关于“攻城狮”秒变架构师的争论

  我和你之间究竟相差多少?

  谈起工程师与架构师的区别,也许是男神和屌丝的距离。架构师洋气高大上,起点高,掌握全局,名利双收;工程师脚踏实地,脏活累活一兜揽,有苦自己咽。但凡以架构师为最终目标的工程师,都对常年奋战在一线的开发工作坚持不懈,干得不爽却不离不弃。

  而很多网友对工程师与架构师的比喻简直一针见血:

  ·建筑界的隐喻

  “(这两者)是泥瓦匠和建筑设计师的区别。工程师是个服从者,没太多想法,或者太多的想法用在了如何挣工资上,唯命令是技术。架构师是有想法,而且敢设计出来,能够从总体上进行考虑,非命令论,是结构论。”网友linkenpark说。

  “工程师就是建筑物的施工人员,你的主要工作是以最少的材料把建筑做的足够完美、稳定、结实。架构师建筑物的主体设计人员,你要做的就是把建筑物设计好,要让工程师能顺利掌握,快速工作,并完美施工。”网友cgx_4说。

  ·军事界的隐喻

  “高级工程师和架构师之间,觉得就像过去军队中将与帅之间的差别。除了技能之外,战略眼光以及对未来各种风险的预见也是很重要的因素;如果能打破这层壁垒,(工程师)应该就可以称为是一个架构师了。”网友liuhuoxingkong说。

  “从我目前的工作经历来看,工程师与架构师就好比士兵与将军的这种关系。仅有士兵而没有将军,这不是一个军队,是一群乌河之众;如果仅仅是一个平凡的将军,那这个队伍也很难打胜仗。而仅有万人敌的将军,而没有团结协作的士兵,那这个队伍很难服务指挥。”网友baijiong998堪称孙子在世。

  其实,从具体的工作层面看,以上这些比喻都有道理。架构师确实集技术业务于一身,知识面广,对设计得心应手,且在审美方面有自己的理解。工程师一般只做开发测试,架构师已经铺好了架子,留给工程师的工作已定,工程师能自由发挥的余地已经很少了。

  但除了这些,在技术层面,又涉及到一个深度与广度的问题。

  网友will009认为工程师只有深度,而架构师在深度的基础上拓宽了广度:“架构师需精通一两门开发语言,对整个系统架构有个全局的把握力度。架构师负责设计系统整体架构,从需求到设计的每个细节都要考虑到,把握整个项目,使设计的项目尽量效率高,开发容易、维护方便、升级简单等。架构师的主要任务不是从事具体的软件程序的编写,而是从事更高层次的开发构架工作。他必须对开发技术非常了解,并且需要有良好的组织管理能力。”

  纵观以上这些评论,可见技术能力不是唯一的决定因素,架构师之所以是架构师,精英的全局眼光及领导力是秒杀工程师的决胜武器。

  “他们之间的区别在于技术领导力。架构师的角色需要理解最重要的架构驱动力是什么,架构师提供的设计需要考虑这些因素。架构师还要控制技术风险,在需要的时候积极演化架构,并且负责技术质量保证。从根本上讲,架构师是一个技术领导者的角色,这就是最大的区别。”网友shenlanyouyu说。

  工程师秒变架构师,真有那么难?

  有一种论调是“好的架构师一定是一个好的工程师”,但是“一个好的工程师不一定能成为一个好的架构师”。这种论调甚嚣尘上,几乎占据所有架构师的主流思想。

  网友linkenpark作为工程师的直属上司,直言工程师想秒变架构师真的不容易,问题还是出在工程师自身身上。“我觉得不是所有的工程师都能成为架构师,架构师是个有思想的人。我带过很多人,企图让他转为架构师,但是他就是没那个思路,不入门。需要有悟性,不断思考,最重要的是进取。”

  网友wangwenan6认为:“工程师是手7脑3,而架构师是手3脑7;如果对架构有比较高的要求的话,对能力和天赋也有一定要求。”这番言论对工程师又是会心一击,技术宅或许是很厉害,但仅有动手能力不足以支撑架构师的全部工作,因为架构师在构建的过程中实施的是一整套流程,从公司的政策到客户的需求,再到产品的流程,系统的架构需要多方面去考虑,这就需要经历与客户交流,对流程及产品的熟悉等一整个完整的体系,脑子只有3成的工程师该如何去应付?

  然而,事实果真如此吗?架构师也不是一蹴而就的,底层的历练也必不可少,不少工程师默默无闻地修炼一番,最终也踏上了通往架构师的星光大道。而且,习惯了从全局去部署整个架构的架构师,还能做好工程师的工作吗,一个好的架构师必然就会是一个优秀的工程师吗?网友baijiong998(以下简称998)的一席话深得笔者之心。

  “架构师的工作,更多的是顶层设计,合理利用已有的各类资源(包括硬件资源,人力资源)。因为只有这样,你的设计才能落地,才能有人帮你实施,才有可能被变现。一个再优秀的架构设计,如果公司没有相应的人力资源帮你实现,那么它永远也只能是一个雕塑,可远观而不可用。”

  这只是一个引子,998的核心观点还在后面。他向我们解释了架构师所处的一个实际情况,这和伟大的爱因斯坦是一样的。爱因斯坦提出了很多理论,但最终实现这些理论的不是诸如爱因斯坦这一类的物理学家。998与笔者有一样的价值观:

  “架构师不一定是一个好的工程师,他更多的是一种理念的构想。就像当初关系数据库理念的提出一样,但我肯定,关系数据库肯定不是那两个(提出理念的)博士开发出来的。计算机的发明,当初也不是由计算机方面的专家提出的,而是由数学家提出的。这一切都说明了,其实架构的设计无需过多的考虑技术实现的细节,技术细节是由技术经理考虑的事情。”

  听到这里,如果你觉得998是赞成工程师能成为一个优秀的架构师的话,那你就大错特错了。因为这段话其实是一箭双雕,既批驳了流传于架构师间的主流论调,又给想展翅成鹄的工程师一记闷棍。

  “因此,工程师很难成长为合格的架构师,其主要的原因也在此,因为工程师,不论做什么事情,总是会想到应该怎么实现的问题上。这样,很难站在全局的角度设计出合理的架构。”

  然而,笔者一直秉持中庸之道,相信工程师不一定这么生不逢时凄惶人生。显然998的话术造诣也深谙此道,他话峰一转,给工程师指出了一条明路:“工程师到架构师,最主要的在于理念的改变,思想的转型。应该是站在天空上看整片森林,而不是在一片森林里面找一棵树。如果一个合格的工程师,能做到这种转变,那么,他一定可以成为一个合格的架构师。但一个合格的架构师,未必能成为一个合格的工程师。”

  俗话说得好:不想当将军的士兵,不是一个好的士兵;那么,不想当合格架构师的工程师,自然也不是一个优秀的工程师。但是工程师们必须警觉,梦想是要追求,但打江山容易坐江山难。因为从工程师到架构师的转变,是一种从实到虚的转变,很多工程师都没有办法真正做到这一点。

  “就好比,你做工程师的时候,天天都有代码让你写,你由此而觉得你很忙,技术攻关了,你的价值很大。但当你做架构师以后,没有代码给你写了,也没有什么太多的技术是需要你单独去攻关的了,这时,你是否会觉得你的价值没有了呢?”

  写在最后

  谈到这里,工程师们是不是也不用再自怨自艾了呢?至于为了成为架构师而进行长时间的自我完善到底值不值得,完全看其本人。升华与境界的追求是自己所得,正所谓:鸿鹄不知燕雀之志,志乎高哉?愿曳尾于涂中,寻向来怡然之己。

3
相关文章