除了写得一手好Code,什么样的工作态度和方法才是一个优秀工程师的必备?
2017年7月11日,陆奇出席百度内部Engineering Leadership Talk。作为计算机科学博士及优秀的管理者,他提出的五点要求,对每一位百度工程师都适用。
“我们一定要有一个坚定不移的深刻的理念,相信整个世界终究是为技术所驱动的。”
“有没有其他人已经解决这个问题?然后你可以把你的时间放在更好的创新上。”
“做什么事情一定要做最好,一定要是做业界最强的。”
“我把自己想象是一个软件、一个代码,今天的版本一定要比昨天版本好,明天的版本肯定会比今天好。”
“看到问题也不要去问别人,就把它Fix。”
1、Believe in 技术
首先要相信技术,我刚才已经讲了,整个我们工业界,特别是像百度这样的公司,对技术坚定的、不动摇的信念特别重要。
我也分享一下,盖茨提到微软公司的宗旨就是:写软件代表的是世界的将来。
为什么?未来任何一个工业都会变成软件工业。盖茨是对的,因为任何工业任何行业自动化的程度会越来越高,最后你所处理的就是信息和知识。
但现在软件的做法又往前提了一次,因为在人工智能时代,不光是写代码,你必须懂算法,懂硬件,懂数据,整个人工智能的开发过程有一个很大程度的提高,但是,技术,特别是我们这个工业所代表的技术一定是将来任何工业的前沿。
所以我们一定要有一个坚定不移的深刻的理念,相信整个世界终究是为技术所驱动的。
2、站在巨人的肩膀上做创新
我们观察一下,在美国硅谷、在中国,互联网创业公司也好,大型公司也好,大家的起点是越来越高的。为什么现在创新速度那么快?主要是起点高了。我们可以使用的代码模块,使用的服务的能力,都是大大的提升。
在内部我想强调这一点,很多大公司包括微软在内,内部的Code都重做了无数遍。
我现在的要求是,每一次你写一行新的代码,第一要做的,先想一想你这行代码值得不值得写,是不是有人已经做了同样的工作,可能做得比你还好一点。有没有其他人已经解决这个问题,然后你可以把你的时间放在更好的创新上。
特别是大公司里面重复或者是几乎重复的Code实在太多,浪费太多的资源,对每个人的职业生涯都不是好事情。
我再强调,在大公司内部,你写代码之前想一想,你这行代码要不要写,是不是别人已经有了,站在别人的肩膀上去做这件事情。
3、追求Engineering Excellence
我要另外强调的一点就是Engineering Excellence,工程的技术的卓越性和能力。
任何市场上竞争就像打仗一样,就看你的部队体能、质量,每一个士兵他的训练的程度,和你给他使机关枪、坦克,还是什么样的武器。
所以Engineering Excellence跟这个类比,我们要建的是一支世界上最强的部队,每一个士兵,每一个领军人,每个人的能力,他的训练都是超强的,然后我们给每个人提供的工具和武器都是一流的。
所以Engineering Excellence是一个永无止境的、个人的、团队的,能力的追求和工具平台的创新,综合在一起可以给我们带来的长期的、核心的竞争力,为社会创造价值,最终的目的是给每个用户、每个企业、整个社会创造价值。
我另外还要在这里强调的一点就是Relentless pursuit of excellence:永无止境的不断的持续的追求。
我们要么不做,要做的事情一定做最好,这是我对大家的要求。数据库也好,做大平台也好,大数据也好,我们要做什么事情,我们一定要下决心,这是我对你们每个人的要求,做什么事情一定要做最好,一定要是做业界最强的。
4、每天学习
每天学习,可能是对每个人都是最最重要的。
我今天分享一下,我自己怎么想我自己的。就很简单一个概念,我把自己想象是一个软件、一个代码,今天的版本一定要比昨天版本好,明天的版本肯定会比今天好,因为即使犯了错误,我里面有If statement,说如果见到这个错误,绝对不要再犯。
英语,另外有一句说法就是Life is too short, don’t live the same day twice. 同样一天不要重活两次。每天都是不一样,每天为什么不一样,因为每天都变成最好,每天都变得更好。今天的版本一定要比昨天好,每个好的、杰出的工程师,杰出的技术领袖,一定要保持自己学习的能力,特别是学习的范围。
在这上面我也稍微引申一下,做Computer science的,如果只学Computer science,不去学一些其他的行业,肯定不够。我举个例子,经济学必须要学。为什么这样讲?Computer science它有个很大的限制,他是假定你有输入以后有输出,这种解决问题的方式有它的好处,但有它的限制性。
我给大家举个例子,地图导航,如果你纯粹用这个方式去做,你只是把一个拥挤的地方移到另外一个拥挤的地方。经济学,它对问题的建模是不一样的。它起点是假定是一个整体的一个生态,每个人的输入都是另外一个人的输出,你要用经济学的方式来描述地图导航的问题,你就会去算一个Equilibrium,市场也是这样。
如果把深度学习真的要想彻底,必须把物理重学一遍,把生物学看一遍,再把进化论再看一遍。因为深度学习跟这些东西完全相关,自己肯定想不清楚,要彻底想清楚,必须学。
另外,学产品,我以前跟所有的工程师都讲,如果不懂产品,你不可能成为一个最好的工程师。真正要做世界一流的工程师不光要懂产品,还要懂整个商业,懂生态。因为你的工作的责任,是能够看到将来,把技术展望到将来的需求,把平台、把开发流程、把你的团队为将来做准备。所以学习是非常非常重要的。
5、Ownership
最后是从我做起。
我们公司有个非常大的使命,用科技让复杂的世界更简单。整个世界非常非常复杂,人其实所做的事情基本上都是Reduce entropy。
因为从热力学第二定律来讲,世界是会变得越来越乱的,我们想做的事情就是把它变的更简单,让我们生活变得更美好。
而且具体的,我们可以通过人工智能技术来做到唤醒万物,但是这一切是通过每一个人的一点一滴的行为累计起来,从我做起。还有Ownership,看到机会不需要问别人,有机会就去做,看到问题也不要去问别人,就把它Fix。
把我们的使命、把我们的公司当成我们自己每个人的事业来做,我可以坦诚的给每个人讲,如果你把公司的使命,把公司的事业,当成你自己个人的事业,Own everything,你在职业生涯一定是走得最快。从我做起,从身边的每一件事情做起。
Believe in 技术、站在巨人的肩膀上做创新、追求Engineering Excellence、每天学习、Ownership,陆奇送给每一位工程师的建议,你get到了吗?