曾经听一个面试者说过:因为觉得自己不够聪明所以选择了工程,如果自己足够聪明的话就去做算法了。对于他这段话我思考的很久,最后的结论是:Are you kidding me?
09年也是经济不景气的年代,我加入了一个当时招来很多牛人的互联网公司。因为当时这个公司当时非常火,又接受了一笔巨大的投资,在外企纷纷倒闭的年代,招人对个人背景有比较高的准入门槛。在公司4年,一群smart boys探索了一个又一个垂直领域,都没有成功。
原因智者见智。个人观点:
1.有保底策略,做出来的东西靠着主站人口红利+影响力,又是初探阶段,做不成也是可以卖出去的。
2.总是试图寻找一块青海,但是互联网这个圈子,已经过去的青海时代。任何一个新的领域、新的技术,由于初期学习和理解的低成本,很快会成为红海。在红海中奋战的深度和方法不足。
工程如今就是红海遍地,想要成功,要求自然也更高,绝不是调几个参数验证一下收敛性解决的了的。如果只是想混口饭吃,当然门槛会比算法略低。因为需求量更大嘛,可以做些苦力活。
新技术兴起了一波又一波:ios、andrioid、搜索、大数据、区块链、算法、AI。最终他们就像拼图的一个小块,成为整个工程中中一个小工具。
做工程需要非常全面的能力和知识。包括但不限于:市场经济和心理学,因为工程首先是从价值和收益出发,来决定产品的。弯道超车的某多是其中的典范。软素质要高,因为想在红海中胜出,自然要面对应有的压力和困难。
今天主要说说技术深度。
架构:静儿的目标是希望花至少6年时间精心打磨一个系统,改良和完善其架构。
上图算是一个比较通用的架构演进模式。基于上述模式,想做出一个还OK的架构,一般要经过几次迭代才能达到一定深度。
在架构方法上,静儿比较常用的是立体研究分析,即:纵向迭代、横向竞品与业务边界分析。
链路:对链路的理解需要功力。这个功力的空间近似于无限。两个系统之间交互都经过了哪些服务、哪些服务器、哪些协议,cpu绑到了哪几个核上,时间分片是怎么划分的,硬件资源有哪些影响。研究深了,有些痛点解决不了了,很可能一个新的语言就诞生了。
团队:互联网界已经过去了一个hero可以拯救地球的年代。拯救地球至少需要一个复仇者联盟。团队中的每个成员都需要能解决关键时刻的凝聚力,沟通时候的表达力。现代很多成功的企业家都是老师出身,前期职业奠定的好口才为其打下了基础。
静儿此文并不说算法不好,在AI如此火的年代,这样说是没天理的。但是算法发展下去总归是工程,这是更长远和根本的东西。