一个优秀的程序员,要相信世界是由技术驱动的

新闻 前端
一位工程师,如何才能称得上优秀?除了写得一手好 Code,什么样的工作态度和方法才是一个优秀工程师的必备?

  一位工程师,如何才能称得上优秀?除了写得一手好 Code,什么样的工作态度和方法才是一个优秀工程师的必备?

  2017 年 7 月 11 日,陆奇出席百度内部 Engineering Leadership Talk。作为计算机科学博士及优秀的管理者,他提出的五点要求,对每一位百度工程师都适用。

  “我们一定要有一个坚定不移的深刻的理念,相信整个世界终究是为技术所驱动的。”

  “有没有其他人已经解决这个问题?然后你可以把你的时间放在更好的创新上。” 

  “做什么事情一定要做***,一定要是做业界***的。”

  “我把自己想象是一个软件、一个代码,今天的版本一定要比昨天版本好,明天的版本肯定会比今天好。”

  “看到问题也不要去问别人,就把它 Fix。”

[[230075]]

  欲知是哪五点要求?请往下看

  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 到了吗?

责任编辑:张燕妮 来源: 云头条微信公众号
相关推荐

2015-04-23 15:37:24

程序员优秀编程风格

2010-12-27 09:24:45

JSP程序员

2009-07-02 09:42:34

JSP程序员

2013-04-22 09:05:11

程序员

2020-02-22 21:51:43

程序员Microsoft SServerSQL

2015-09-24 10:21:39

程序员未来

2013-12-24 09:59:48

程序员管理

2014-02-18 13:45:39

bug程序员

2014-01-06 09:33:32

程序员管理

2012-11-28 13:25:27

程序员

2015-04-16 13:02:50

程序员编程选择编程技术书

2013-04-15 09:44:01

程序员

2009-01-08 09:04:18

2012-11-09 13:44:48

ScalaJVMJava

2009-11-19 10:21:02

2009-03-18 13:12:36

程序员技术IT行业

2011-02-14 13:05:17

PythonWeb

2015-06-08 10:48:39

程序员程序员自白

2016-04-21 17:50:26

程序员优秀程序员

2015-06-16 10:31:36

程序员
点赞
收藏

51CTO技术栈公众号