他,北大毕业,学的是化学专业,却执迷不悔地走上了程序员的职业生涯;他学习了五门语言,擅长的却是计算机语言;他几乎和互联网界的所有大佬都曾有过接触,却十几年如一日混迹于程序员一线而乐此不疲。他见证了程序员这个职业发展的起起落落,也引领着互联网发展的技术潮流和趋势。认识他的人都称他是天才,而他总是谦卑地称自己是“苦才”,也许就像他自己所说:“程序员的世界不承认天才,如果我是天才,早就死翘了”。他叫鲍金龙,暴风影音首席架构师,混迹于互联网程序界资深元老。
程序员就像一个不按常理出招的棋子,它走得每一步都会让我们费解很久,始终不能理解。比如几乎全部职业的优秀员工都很勤奋、工作努力,不过程序员例外,那些优秀出色的程序员都有点懒。这可能是唯一把懒惰当做优秀品质来对待的职业。再比如,几乎全部的职业都欢迎天才,孕育天才,不过程序员例外。天才在这个行当里很快就会死去,只有苦才才能生存下来,而且活得更久。
图:暴风影音首席架构师 鲍金龙
功利心进,再没回头
鲍金龙走进这个行业的理由最初很简单,很也实际。他毕业后在一个外企公司任职销售代表,当时很想找一个赚钱多,容易上升的行业。那时候就看中软件行业,因为那时软件行业的工资是销售行业好几倍,就想去做程序员。那时候,要做到顶级的销售,才有一个程序员的薪水。这10年的变化很大,95、96年的时候程序员的薪水是相当高的,因为那时候他是在纯软件的公司,给的薪水是4倍于干销售的行业。于是他就回家自己学习程序员的东西,3年之后鲍金龙觉得自己可以转行了。转行之后,先去了做数据库的公司,主要负责做MIS系统。之后去了阜国数字做软件研发工作。期间业绩表现突出,先后升任项目组长,研发经理,技术总监。在任期间主导开发了《中国国家高清晰度激光数字光盘标准》。
在阜国数字鲍金龙一人带3个团队,那时候比任何时候都残酷。鲍金龙讲道:“程序员想进来的都可以来,我告诉你我要做什么,然后给你一个本书MPEG2的国际标准,我不管你以前做什么的,一个月的时间看你能不能看出东西来。然而最终留下的比例是40:1。”
在这期间他也见过各路高手和奇葩,自认为是天下能敌的程序员,跑到北京来混,2000年的时候要8000块的工资,干了2周就走人了,这样的人见得太多 。那时候是“狼”一样的使用方法,如果你觉得你能看出来一些东西的时候,立马就要开始干活,没有任何的缓冲。那时候很残酷,比现在残酷10倍。也让鲍金龙第一次认识到天才在这个世界是活不久的。
鲍金龙还举了一个例子EVD项目的例子。当时这个项目在国家研究院下做了一年半,做到最后连一个demo也没有做出来。最后他们接手,6个月的时间做出来。很多计算机专业的,专门做多媒体的,这种环境下都没做出来。“我们要的就是能干活的人!”包括现在各个公司有很多技术总监,或者创业的人,很多人跟阜国有渊源,有清华大学学物理的,北京大学学地球物理的,都不是踏踏实实干活的人。鲍金龙这样的是学化工的,完全是实战出身。这是他第二次认识到这个行当唯“苦才”能干。
“苦才”是怎样活下来的?
从阜国出来,鲍金龙又去了金山,当时雷军和求伯君都是程序员出身,对写代码的人都非常看重。每一个人都要自己亲自面试的。 金山所有的程序员都是按照百分之一的比例挑到的,所有的程序员在雷军眼里都是宝贝,所有的程序员不允许不成才。金山当年要求一年要出10个创新的产品,最终会留下2款 ,最后10年只留下一款。写代码对程序员来说,是一个永恒不变的自我否定的过程。不光是你写完、运行完就行了。自己的工作是垃圾还是黄金并不清楚。
写代码跟几零后关系不大,鲍金龙在金山的时候,很多人都比他小。鲍金龙去金山的时候,就30岁了,有的人少年得志到只有25就写不动代码了。代码对他来说,其实没什么难度,他就愿意干。很多人写代码会遇到门槛,身体不行。写代码的心理压力很大。
写代码的人,要选择一个方向,比如鲍金龙选择了去暴风影音。他指出:我坚持用暴风这个平台来做很多事情,一开始也遇到反对,不认可这个方向。但根据自己多年的经验和经历反过来看就不一样了。很多人都会有自己的看法。有些人老是看错,所以最后不会做很长时间,如果你做的基本是靠谱的,你会持续地做下去,做任何事情都需要正反馈,写代码尤其如此。比如手机暴风影音“左眼”做对了,用户认了,我们就更有信心做好“3D”,最近做的“省电功能”也是这样,就是这种“正反馈”,老打胜仗的人,下次打胜仗的几率会更大。
近几年鲍金龙主要的精力是在移动端的极端优化和实现上,相继在手机上推出的左眼、3D、硬解++等都是移动端极端优化的表现。左眼的移动版本比PC快了20倍。3D更是在没有显卡计算支持的情况下完成。此外还有一系列创造性的算法将结合到2014年的超高清分辨率,2D转3D等技术中去。
做一件事情的时候,只有两个选择,接着做或者放弃做。通常老大说这么选择,就按照他的意思接着做下去,很多事情是没有对错的。鲍金龙认为:雷老大可能做小米是对了,你看到他之前投资了20多个公司,这些公司不都是像小米这样风光的,这个是有代价的。再厉害的人,也有看歪的时候。当时认为不行,坚持也许就对了。
天才不愿把自己生命浪费在简单的事情上,所以他死掉了
“死掉的人,都是有天分的人。我这里否认天才,只有苦才。”——鲍金龙。功夫不到是百分之百不行的,个人能力的差距在庞大的工程面前,不值一提。人和人的差距可能是90到100的差距,但一个工程是100万,所以你那10分就不值一提。鲍金龙在金山的时候强调“方法”!好的方法,可以让一个傻子做成事情。比如我们小学学数学的时候,有些人很聪明,用数学方法解决应用题。到初中的时候发现,这有规律的,傻子列一个方程,做出来的结果一样,而且保证不错。 这是人类社会的一种进步,不需要用天才解决,我们用方法来解决。鲍金龙说:我见到的最多的,死掉的都是天才,因为天才大部分都相信自己很聪明,可以用很少一点力气去做成一件事情,当大家在拼体力拼功夫的时候,天才不愿把自己生命浪费在简单的事情上,所以他死掉了,而做成的都是那种愿意干这种事情的人。
程序员要有意识地锻炼身体
锻炼身体是程序员要做的最重要的事。鲍金龙认为,编写程序的时候,大脑的高压负荷不是一般的强度,为什么程序员的特点是要么没头发,要么头发上全部都是油。而且一般比人看起来老十岁。大脑是贪婪的器官,会在工作的时候,吸干你身体里的全部养分。所以没有好身体,不锻炼,你定会死掉的。他曾经和同事开玩笑说:你天天熬夜,你还抽烟,你还喝酒,你很容易死掉的。所以有很多程序员会在瞬间死掉,包括我认识的程序员都有猝死的,负荷太大。
鲍金龙认为自己从来都不是一个只写代码的人,他一直在推出产品,同时是一个技术总监和架构师的角色。他跟行业里的人经常联系,每隔一两年都会碰一下,关注互联网应用市场前沿动态,了解最新趋势。作为架构师,他需要对相关框架和工具等都很熟悉,‘完成功能’、‘稳定性’、‘性能’这些已经不再是他现在的追求。他认为:代码不需要优美,稳定就行。架构没有合理不合理,甚至可以没有架构。但有三点是却是非常重要的:第一是开发速度,第二是更新速度,第三是产品的极限性能。只有更早地推出可用的产品,更快地进行产品的时代更替才是现代互联网界的追求,也是用户真正关心的。作为一个过来人金语玉言,希望鲍总说的这些东西能给苦才们一些鼓励,给天才们一些提醒。(责编/张宁)