他,北大毕业,学的是化学专业,却执迷不悔地走上了程序员的职业生涯;他学习了五门语言,擅长的却是计算机语言;他几乎和互联网界的所有大佬都曾有过接触,却十几年如一日混迹于程序员一线而乐此不疲。他见证了程序员这个职业发展的起起落落,也引领着互联网发展的技术潮流和趋势。认识他的人都称他是天才,而他总是谦卑地称自己是“苦才”,也许就像他自己所说:“程序员的世界不承认天才,如果我是天才,早就死翘了”。他叫鲍金龙,暴风影音首席架构师,混迹于互联网程序界资深元老。

程序员就像一个不按常理出招的棋子,它走得每一步都会让我们费解很久,始终不能理解。比如几乎全部职业的优秀员工都很勤奋、工作努力,不过程序员例外,那些优秀出色的程序员都有点懒。这可能是唯一把懒惰当做优秀品质来对待的职业。再比如,几乎全部的职业都欢迎天才,孕育天才,不过程序员例外。天才在这个行当里很快就会死去,只有苦才才能生存下来,而且活得更久。

图:暴风影音首席架构师 鲍金龙

功利心进,再没回头

鲍金龙走进这个行业的理由最初很简单,很也实际。他毕业后在一个外企公司任职销售代表,当时很想找一个赚钱多,容易上升的行业。那时候就看中软件行业,因为那时软件行业的工资是销售行业好几倍,就想去做程序员。那时候,要做到顶级的销售,才有一个程序员的薪水。这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分就不值一提。鲍金龙在金山的时候强调“方法”!好的方法,可以让一个傻子做成事情。比如我们小学学数学的时候,有些人很聪明,用数学方法解决应用题。到初中的时候发现,这有规律的,傻子列一个方程,做出来的结果一样,而且保证不错。 这是人类社会的一种进步,不需要用天才解决,我们用方法来解决。鲍金龙说:我见到的最多的,死掉的都是天才,因为天才大部分都相信自己很聪明,可以用很少一点力气去做成一件事情,当大家在拼体力拼功夫的时候,天才不愿把自己生命浪费在简单的事情上,所以他死掉了,而做成的都是那种愿意干这种事情的人。

程序员要有意识地锻炼身体

锻炼身体是程序员要做的最重要的事。鲍金龙认为,编写程序的时候,大脑的高压负荷不是一般的强度,为什么程序员的特点是要么没头发,要么头发上全部都是油。而且一般比人看起来老十岁。大脑是贪婪的器官,会在工作的时候,吸干你身体里的全部养分。所以没有好身体,不锻炼,你定会死掉的。他曾经和同事开玩笑说:你天天熬夜,你还抽烟,你还喝酒,你很容易死掉的。所以有很多程序员会在瞬间死掉,包括我认识的程序员都有猝死的,负荷太大。

鲍金龙认为自己从来都不是一个只写代码的人,他一直在推出产品,同时是一个技术总监和架构师的角色。他跟行业里的人经常联系,每隔一两年都会碰一下,关注互联网应用市场前沿动态,了解最新趋势。作为架构师,他需要对相关框架和工具等都很熟悉,‘完成功能’、‘稳定性’、‘性能’这些已经不再是他现在的追求。他认为:代码不需要优美,稳定就行。架构没有合理不合理,甚至可以没有架构。但有三点是却是非常重要的:第一是开发速度,第二是更新速度,第三是产品的极限性能。只有更早地推出可用的产品,更快地进行产品的时代更替才是现代互联网界的追求,也是用户真正关心的。作为一个过来人金语玉言,希望鲍总说的这些东西能给苦才们一些鼓励,给天才们一些提醒。

转载于:https://blog.51cto.com/justdoitwyj/1352051

程序员没有天才:暴风影音首席架构师鲍金龙访谈相关推荐

  1. 30kJava程序员升为全栈架构师的晋升之路

    当下当一个Java程序员是有前途的,你对这句话不持反对的意见吧.Java作为市场上最流行.应用最广泛的编程语言之一,当下学Java成为一个Java程序员当然是有前途的.但是作为一个Java程序员,也有 ...

  2. Java程序员如何成为优秀的架构师

    怎样学习才能从一名Java初级程序员成长为一名合格的架构师,或者说一名合格的架构师应该有怎样的技术知识体系,这是不仅一个刚刚踏入职场的初级程序员也是工作三五年之后开始迷茫的老程序员经常会问到的问题. ...

  3. 程序员好几年才能成为架构师_成为更好的企业架构师

    程序员好几年才能成为架构师 企业架构师似乎越来越多地参与"尝试新事物"或推翻技术或实施建议(否定命令),而不必费劲或无需编写任何代码. 我已经在很多地方观察到了这一点,无论是与建筑 ...

  4. 零架构项目经验的程序员,如何升级成架构师

    先说目前关于架构师的一些是实际情况. 1 要成为Java架构师,单纯靠学知识一定不行,得靠在项目里积累经验. 2 如何判断程序员是否已经成为java架构师?不是看程序员掌握的技能,更不是看程序员干的活 ...

  5. 5分钟弄懂程序员的如何升级到架构师。

    对我们程序员来说,发展的途径要么是走管理岗,从开发升级到项目经理甚至是部门经理:要么走技术升级路线.不过在技术路线方面,无法升级到架构师的程序员不在少数.一方面,在不少公司的高级开发岗位上,无法让程序 ...

  6. 年薪35W+ 的程序员看过来!百万架构师第3期招生

    前言:<百万架构师>前两期课程已经圆满结课,第一期学员中,目前已经有60%的同学实现加薪.调级升职.在大家的认可下,我们开始了第三期的课程. 本期课程继续保持迭代,新增优化了MQ延时消息设 ...

  7. 程序员怎样成为一名架构师?

    在今天的技术圈,可能随便遇到一个人递给你一张名片,title 就是某某架构师.架构师多如过江之鲫,也正是眼下业内一个有趣的现象.对于架构师,你有什么看法? 什么是架构师? 随便打开某招聘网站:系统架构 ...

  8. java程序员推荐轻薄笔记本,移动架构师成长路线

    正文 在写这个文章之前,我花了点时间,自己臆想了一个电商系统,基本上算是麻雀虽小五脏俱全,我今天就用它开刀,一步步剖析,我会讲一下我们可能会接触的技术栈可能不全,但是够用,最后给个学习路线. Tip: ...

  9. 高级程序员、研发Leader、技术总监、首席架构师、CTO的区别

    一.高级程序员 如果你是一个刚刚创业的公司,公司没有专职产品经理和项目经理,你就是公司的产品经理,你如果对你现在的开发员能力不满,那么你只需要的是一个高级程序员. 你定义功能.你做计划推进和管理,他可 ...

最新文章

  1. 云计算机机房怎么样,如何知道云电脑配置多少?怎么选择云电脑机房?
  2. 调控微生物改善土壤,生物制剂能否开启农业新篇章?
  3. 冷热分离和直接使用大数据库_中台有“数”:大数据技术为苏宁818保驾护航
  4. HP服务器350g5怎么安装系统,HP ML350 G5服务器安装SCO 5.0.7流程
  5. Mac安装brew包管理工具
  6. 方立勋_30天掌握JavaWeb_MySQL和表约束
  7. 自定义异常禁用异常堆栈_如何在Mac上禁用或自定义自动更正
  8. html 圆环实现多种颜色,SVG实现多彩圆环倒计时效果的示例代码
  9. 四、比特币的基本原理
  10. Nodejs ORM框架Sequelize
  11. 第十章:XAML标记扩展(三)
  12. Python使用property函数和使用@property装饰器定义属性访问方法的异同点分析
  13. appium之定位方式
  14. zebradesigner2教程_ZebraDesigner快速使用说明
  15. 关于iOS端引入Myscript 的爬坑过程(pod install error)
  16. WinRAR分割超大文件
  17. 单片机MCU学习方法总结
  18. vue + echarts 之饼形图
  19. 基于ASP的房屋租售信息管理系统的设计与实现
  20. Kali无线渗透加油破解无线

热门文章

  1. Home Server诠释
  2. Generalized Linear Models
  3. POJ2594 Treasure Exploration[DAG的最小可相交路径覆盖]
  4. 安装配置postgreSQL+pgcli+pgadmin3
  5. C#forUnity快速入门(连载2)-C#语言入门
  6. **Apache Options指令详解
  7. Effective Java实作toString() - 就是爱Java
  8. 你离高级工程师有多远
  9. 参加微软新技术预览大会
  10. 我的Chrome常用快捷键