此文章是我16年在个人公众号上发表的一篇文章。刚开始玩简书,拿来当个存货......
前一阵,看了罗振宇推荐的智能时代,第一次知道了吴军博士(当前Google中日韩文搜索算法的主要设计者)。吴军博士是一名工程师、一名技术人员,但在数学、计算机科学、IT行业、历史、艺术、风险投资等多个领域都有研究。我买了他全套的书籍来研读,忍不住心生爱意。无论是内容还是文字,阐述描绘的都非常的精彩,真是佩服!其中,我特别推荐大家读的一部是《浪潮之巅》,主要讲述了一百多年来IT产业发展的历史脉络和美国硅谷明星公司的兴衰沉浮,值得每一个IT从业人员研读。
言归正专,吴军博士在他的《硅谷之谜》中将工程师分为五个等级。相信对大家都有很好的参考意义,特别是我等广大程序员,可以以此标准来衡量下自己在哪一方面做的还不够好。
注:以下橙色字体部分引用自吴军博士的《硅谷之谜》一书。
第五等工程师,能够独立设计和实现一项功能的人。
这是对工程师的基本要求,如果一个人只是懂一点工程实现的手段,需要别人(比如产品经理)告诉他怎么做,那最多算是助理工程师或者技工,技工是说的好听,其实就是“码农”级别的,算不上工程师,虽然“码农”带有调侃和贬义的味道,但有时想想诸多自称工程师的人,实际上用“码农”来称呼更为合适一些。
因为缺少独立解决问题的能力和把一件事做到极致的耐心,主管很难放心的将一件工作全权交予你负责。这里想多嘴一句,之前我工作在对日外包企业,每天按照“式样书”写代码,所谓“式样书”就是别人把功能的整个逻辑都设计好,详细到每一行代码的实现,然后再用伪代码写出来。那么作为码农,你的主要工作就是把式样书的伪代码翻译成代码,这种程序员是码农中的码农,整个过程基本无脑开发,如果你也是其中一员,那么早日跳槽吧,早走早脱身!
第四等的工程师就需要有点产品头脑了,也就是说他们在做一件事之前,要知道所做出来的东西是否有用 、易用,是否便于维护,是否性能稳定,等等。除了要具备产品设计方面的基本知识,还要具有一定的领导才能,能在整个产品的生命周期从头到尾将一个产品负责到底。
成为这类工程师,的确需要长时间的积累和锻炼,再加上一定的悟性。这个阶段的工程师类似于组内的系统架构师之类的角色,对技术使用纯熟,并且具有产品经理的素质,会从用户角度考虑产品的易用性,会从运维工程师角度考虑系统的可维护性,会从下批搞二次开发的程序员角度考虑系统的可读性与可扩展性等。这个确实需要时间和精力去锤炼技术水平和产品意识。
技术水平与产品意识兼具,是很难得的。其一,是做好这两方面所需要的能力要求有很大区别。其二,在实际操作中,这两方面是有一定程度的相互矛盾。虽然看起来有些怪异,但这点其实不难理解,正常的国内互联网公司都会配有技术经理与产品经理,而我们说的四等工程师在这可以理解成这两者的完美结合,我试着从这两种职业的性质做出一些分析。首先从产品经理的角度来看,产品经理关心的是产品的商业价值,用户体验、产品的生命周期。所以必须要规划产品的架构和发展路线,确定产品的定位和受众,能够预计产品的价值。而技术经理关心的是按照产品的规划,在规定时间内顺利的完成产品开发,并通过检验测试。不难看出,两个职位关注的重点不一样,前者关注产品的价值,后者关注是否按目标完成项目。有时,要把用户体验做的好一点,就要增加开发任务,可能造成项目逾期,这样矛盾就产生了。所以即使你具备了两方面的能力,也不见得会发挥的很好,这是一个1+1<2的问题,重要的是你要在两者之间找到一个平衡点。由此可见,真的不简单,但是这才是四等工程师啊。
第三等的工程师可以做出行业里最好的产品。他们与第四等工程师有着质的差别,这不仅反映在技术水平、对市场的了解 、对用户心理的了解以及组织能力等诸方面,而且也反映在悟性的差异上。当然这种悟性很多是后天培养出来的,但这就需要更长的时间了。有些人从工作一开始,可能需要十年八年,经过多次失败,不断总结,终于在某个时间点豁然开朗。而另一些人可能非常幸运,在一开始就有幸和最优秀的人一起工作,加上善于学习,五六年下来就能达到第三等的水平。
这一级别的工程师,在我看来,已经是很成功了。坚定的信念加上长期的刻苦努力再加上个人的天赋和一些机遇,终于走上了人生巅峰。都说机会是留给有准备的人的,这类人其实就是被机会垂青的一类人,因为他们的确有所准备,而且准备的很充分。他们是行业内的佼佼者,对技术、产品都有自己的一套感觉,都有自己独到的认识,并做出过业内称赞的产品。
“微信之父”张小龙,应该算是这类拔尖的人物之一(虽然吴军博士认为微信是国内的爆品),符合能做出行业内最好的产品。但大多数人可能不知道,张小龙也是一名工程师,他早期开发了一款国产最好的邮件客户端Foxmail,后来他以1200万元的价格把Foxmail卖给博大公司,并任其公司副总裁。直到2005年腾讯收购Foxmail软件,张小龙加盟腾讯公司,再后来你们都知道了...
第二等的工程师,是那些刻意给世界带来惊喜的人,比如实现第一台实用化个人电脑的沃兹尼亚克、DSL之父约翰西奥菲、iPhone和Google Glass的总设计师,以及前面提到的鲁宾、迪恩等。他们与第三、四等工程师的差别在于其工作的原创性以及对世界的影响力。当然他们的工作不是科学研究,这一点和科学家毕竟不同。
个人觉得到这个等级的工程师,是要看天赋的,不是谁努力就能达到的。毕竟历史上给这个世界带来惊喜的人不多。这里忍不住想说下沃兹尼亚克,大多数人一听到到苹果公司,就会想到乔布斯,很少有人提及沃兹尼亚克这个名字,但 第一代苹果个人电脑——Apple I 就是他老人家在惠普工作时利用业余时间设计并制作的。
沃兹尼亚克(左)与乔布斯(右)
在乔布斯眼中,世界上就只存在两种工程师,要么就是最好的,要么就是一坨屎,沃兹尼亚克就是乔布斯眼中世界上最好的电路工程师,甚至在沃兹尼亚克为Apple II 8个扩展槽的设计上坚持时,乔布斯还为此妥协,要知道乔布斯为产品设计的妥协次数用十个手指就能数的过来(在乔布斯唯一授权由沃尔特编写的乔布斯传里是这样的 )。早期苹果公司取得的成功,的确离不开乔布斯,但同样也离不开沃兹尼亚克,两者缺一不可。
第一等的工程师是开创一个全新行业的人,历史上有爱迪生、特斯拉、福特,二战后有保时捷博士、本田宗一郎和硅谷的诺伊斯(集成电路等)等人。这些工程师不仅在技术和产品等各个方向与第二等工程师有质的差别,而且在经验和管理上也是好手,他们通常是企业家,并通过自己的产品改变了世界。
第一等的工程师,是百年不遇的天才,是开创时代的。他们推动了人类文明进步,是时代的先行者,处于时代的浪潮之巅。这里就不多介绍了,看到上面列举的那几个名字,相信你也经知道他们是何等人物了。
总的来说,
第一等工程师, 开创全新行业
第二等工程师,刻意改变世界
第三等工程师, 行业最优
第四等工程师, 技术与产品兼具
第五等工程师,独立完成任务。
个人觉得自己还算不上是一名工程师,只能算是一名正在努力成为五等工程师的程序猿,希望能和大家一同进步,与君共勉!