收藏本站 The Best Quality of Power Equipment

​一位老工程师在谷歌作业十年后的总结

我 2006 年 3 月参加 Google,2016 年 9 月脱离。脱离时的头衔/职位是 Staff Software Engineer / Manager。前后 10.5 年,大致分三期:

前两年注重 Linux 桌面查找产品和 Google 的开源项目;中心三年花了许多力气在 Google 我国相关的产品上,比方输入法、谷歌音乐之类;后边四五年大致都在 Knowledge Graph 的领域内作业,这些作业和 Google 查找、Google Now 最近几回大幅度的革新密不可分。

其间,代码写了不少,团队也带过好几个。除此以外,这些年还长时刻在 Google Doodles 团队作为 20% 的开发人员帮忙开发那些好玩的主页涂鸦——嗯,这是真的,很多好玩的 Doodle 里边,都有我的一点小奉献。

学到了啥?
嗯,许多,很杂,拣最重要的四条来说说。
一位老工程师在谷歌作业十年后的总结

1.差异化

榜首次真实地日子在一个差异化的国际里国内教育空气向来是不喜爱差异化的,个人喜好、冒险精力、特立独行之类的语词,总会让家长、教师乃至领导、官员操碎了心。从小到大,我基本日子在一个企图将所有孩子圈养在尺子、框子、笼子里的国际;能够幻想,像我这样的 70 后一脚踏入 Google 时,会有怎样的感慨。

Google、Apple、Facebook、Twitter……对雇员来说,这些公司自身就是一种鼓舞差异化生存的我们庭、大社会。其间,Google 又总是扮演引领者的角色,这是在 Google 作业很值得自豪的一件事。

差异化的最大优点,就是你有时机知道五花八门的独特人物,然后,当你和人生观、日子方式、个人喜好乃至行为习惯差异巨大的人一同作业时,你会真真切切地感受到,自己日子的这个国际一点儿也不单调,这儿有太多好玩的人、好玩的事等着你去发现。

在 Google,看见什么样的不同都不应奇怪。

往小了说,身边既有缩在角落里闷头写代码,厌烦和人沟通的交际恐惧症患者,也有精力焕发的交际明星。作业室里,有带狗上班的爱心族,有注重家庭的好爸好妈,有整夜整夜斗争的梦想家,有痴迷独特喜好的技能极客……

就拿喜好来说,跟我一同作业过的搭档里,说起来好玩的喜好就包括:天天在车库里打造奇形怪状的自行车,休一个无薪假日去帮他人竞选总统,每个周末都跑到一个从没去过的当地留下到此一游照,研讨古音韵学,出远海查询海洋生物,长时刻倒卖二手摄影器件,写科幻小说,测验大气层外跳伞并打破国际纪录……

当然,要尊重差异化,你就无法阻挠任何人从早睡到晚然后每天只花两个小时干完他人十二个小时才干干完的活儿。
往大了说,Google 对 LGBT 集体的支撑众所皆知。我当初更多地将这种支撑了解为“政治正确”层面的东西。没过多少时刻,我就知道我的了解有多么肤浅。有一次,Google 旧金山作业室一对男同在公司餐厅的浪漫求婚视频广为传达,感动了许多搭档。过后我才想起,自己曾在硅谷一次会议上,见过那对美好恋人中的一个。

还有一次,自己地点的整个团队收到了一位高管宣布自己性别改动的邮件,说从那天开端,我们需求称号他为“她”。与许多人了解的相反,这些发作在身边的事情并没有不时提示你 LGBT 集体的存在,反之,阅历愈多,你会更加淡化对他们的留意——他们或她们就是人类的一般成员,与你我并没有太大的别离。

去年在 YouTube 上追看 Google 推介的纪录片 HUMAN 时,我现已很清楚,Diversity 这个词早已是自己血液的一部分,我的大脑与纪录片制造者的大脑之间,彻底没有任何隔阂。那时,我会对着屏幕上一张张生疏的面孔堕入冥想。

我觉得,这个国际最可笑的一件事就是人类进化分明得益于基因与性格的差异,许多人竟会讪笑他人与自己的不同之处,并极力迫使他人改动,恨不能全国际的人都如自己一般顽固、愚蠢。性取向如此,爱情、婚姻、家庭、作业、事业无不如此。

Google 职工常常面临一个典型的两难窘境:由于许多搭档早早脱离 Google 去融资、创业、上市、发财,像我这样安心在 Google 作业了十年的一般工程师就变成了另类——当面问我“为什么还没脱离 Google”的人,他们眼睛里鄙夷的目光藏都藏不住;反过来,在家人眼中,我计划脱离 Google 的行为无异于自己砸碎金饭碗,放着安稳的收入和丰厚的福利不要,非要和不确定性为伍。

其实,如果懂得“多样性”的重要,这种左右两难的困局就不再建立。已然有人挑选快节奏和尘俗日子,为什么我就不能辞了职,慢吞吞地跟着自己的爱好,由着性质,从不同的视点了解这个国际与自我的联系?为什么“慢日子”就有必要是一种躲避?
宇宙很大,人很藐小。安全感是扯淡,特立独行地活着才最重要。

2.改动看技能心态

到 Google 曾经,我在国内做银行业的事务软件研制,给工行、中行之类的大企业做软件。这和 Google 这种面向最终用户的互联网布景是有大相径庭的。

曾经看待技能,觉得是身外之物,是东西,是砖木,是用来处理用户需求的必需品。这个心态其实也没什么错,但不自觉地就把自己放在技能追随者的位置上了。

那时的我,许多时刻都拼命在了解、学习和追逐新技能,生怕掉队。从这个言语追到那个言语,从这个结构追到那个结构,从这个形式追到那个形式,从这个渠道追到那个渠道……底子停不下来。

那时的我仅仅个技能的“用户”,就像搬砖盖房子,如果不天天关心今年盛行什么材质的砖,下一年盛行什么样的房子架构,后年盛行什么样的房子外观,那必定被客户和其他程序员骂“老土”。

到 Google 撸臂膀挽袖子一忙活,才发现曾经的自己狭窄了,小气了,坐井观天了。本来曾经追的很多顶尖技能,底子就是 Google 工程师主导或参加鼓捣出来的。并且,Google 内部还藏着许多外界不大知道的独特玩意儿。最最重要的不同是——自己现在是引领技能潮流的大团队中的一员了。

曾经是不断学他人怎样规划房子,看他人引荐什么资料盖房子。现在,最顶尖的房屋规划专家、资料专家就在身边,自己也很快就能和他们一样辅导他人盖房子了。这种感觉,就像跳进了一个大瑰宝,还清楚地知道自己并非响马,而是瑰宝的主人。偷盗瑰宝 vs. 创建瑰宝,这两者间的不同很奇妙。

心态一下子大不一样了,从技能的“用户”变成了技能的“主人”。

比方,有段时刻要处理 C++ 的 ABI 相关问题,猛想起 C++ 标准委员会的适当一部分人都是在 Google 作业的,有一年的全体大会仍是在 Google 总部开的——那直接拉着既是搭档也是 C++ 威望决策人的家伙一同开会评论不就是了?

相似的,Linux 内核的维护者、Python 的创造人、UNIX 的元老、Google Brain 的创建者……跟那么多牛人在一个公司里作业,你必定不好意思仅仅单方面地跟人请教,凡是有时机,你总会期望自己也像那些牛人一样,为技能发展做点儿奉献,哪怕仅仅一丁点儿。

再比方,像 MapReduce、Bigtable、TensorFlow 之类由 Google 原创、对业界影响深远的技能,在 Google 内部可不仅仅是身外的东西,它们都是 Google 工程师这个大集体的著作和自豪。由于我们都是主人,对哪些东西不爽,能够去鼓捣源代码,能够去提交自己的补丁或许新功能,乃至推翻重做。

别小瞧这推翻重做,尽管很难很难,由于你得一边压服老板和用户,一边找到满意的开发人手,但事实上, Google 内部从头创造一遍、两遍、三遍的结构、东西、库、接口、服务举目皆是。一言不合就着手做个新版本、新体系,这缺点既带来数不清的流程紊乱,也带来一山又比一山高的良性竞赛——外表的紊乱之下,良性竞赛引发的技能腾跃常常超出幻想。

在 Google,工程师有好几万,不能说每个人都巴望做技能的主人,但趾高气扬的大有人在。由于 Google 走在技能最前沿,有寻求的工程师确实没脸当个朴实的技能追随者。当然,我的意思不是说 Google 里没人去做那些不那么酷的“苦力活儿”,而是说大多数人都有个争强好胜的心态,即便是做相对简略的技能作业,也经常会想想怎样能做出国际一流的作用来。

拿面试来说,有个工程师想出了一道与月球相关的面试题,把算法、编程、规划、维护问题放在太阳系的大布景下,层层诘问。我在一次内部面试技能培训时拿这道题当过样例。成果,参加评论的工程师表达了截然相反的两种定见,有人说这题规划精妙如天马行空,另一些人则批判这题目远离实践如水月镜像。

其实,Google 的技能宅们简直每天都在深入实践与憧憬未来这两个极点的对位、对立、转化中作业。常说的“仰视星空、脚踏实地”远不能描绘 Google 工程师的两面性。

一方面,工程师们深知自己的代码是怎么参加了这个地球乃至这个星系里最前卫、最斗胆的计算机体系,怎么为比方十年后的查找引擎、具有人工智能的手机或机器人、量子计算机、基因工程、无人驾驶轿车等奉献力气;

另一方面,工程师们“极客”和“宅”的一面常常在外人难以留意的作业细节里表露无遗——这儿有十数年如一日致力于优化编译器的言语高手,有规划最好的代码审读体系的东西专家,有亲身着手完结软硬件原型的技能总监,有坚持为地球上每一种人类言语供给输入输出处理方案的国际化团队……

这是心态的不同,或许说,是技能境地的不同,烙在 Google 工程师的基因里,旁人想学也未必学得到。

3.“办理”二字的含义

有时候工程师很难办理,由于大多数人都主意新、主意多、眼光高、特性强。在 Google,有时候工程师也很容易办理,只需鼓舞他们把一件看似一般的事儿做出国际级的水准,他们自己就有满意优异的履行力,用不着督促。

在 Google 做技能司理带团队,和我曾经在其他公司带团队,彻底是两码事。这或许和技能团队的平均水平有关,但底子仍是办理境地的问题。

记住曾经在别的公司,花大力气搞开发流程办理,现在想想,大多是繁文缛节,程式化,教条化,最极点的像 ISO9000 之类的流程认证,弄得所有人筋疲力尽,作用未必有多好。

到了 Google,发现一个秘诀,再多的规章准则,再多的流程,不如一套好用的东西来得有用。比方 Code Style 和 Code Review,曾经能把技能司理烦死,千叮万嘱也履行不下去,顶多三天热度之后,我们就两面三刀了。在 Google,这件事不彻底是个准则的问题。

刚进来的工程师没有过 Readability Review,他就无法便利地自主提交代码,这是代码办理东西设置的硬性约束。这直接把工程师们送到评审委员会那里承受“再教育”,没错,真的是“再教育”,连 Python 之父 Guido van Rossum 也花了挺大力气才通过了 Python 言语代码的 Readability Review。

接下来,提交新代码前,各种静态、动态检查东西自动运转,帮你报出一系列风格过错、编译过错、单元测试过错和简略的逻辑过错,你得先依着东西的提示,把这些低等级过错改一遍,然后才进入 Peer Review 的环节。整个 Code Review 都在十分便利的网页东西里完结,写代码的和审理代码的人能够便利地交互、评论,乃至在线修正代码。

东西的“强制性”确保了准则的履行,东西的“快捷性”最大程度减轻了工程师履行准则的负担,二者相得益彰。当然,Google 内部也不乏对准则敷衍了事的,但相对其他公司,Google 确实做得更好些。

提到办理,在 Google 带技能团队的其实都苦哈哈的。我就先后两次把团队交给他人带,自己乐得去做些单纯的代码作业。道理很简略,头衔是 Manager,可你无法居高临下评头论足,Google 最好的团队带头人都是冲在榜首线带着我们一同干,除了自动包办我们不想干的脏活、累活、杂活之外,还要做办理者有必要的非技能作业,比方给每个人写评语、定奖金,帮每个人请求升职,跟心思负担重的谈心……

一个人做两份工,费劲不讨好,对团队成员的提升也没有决定权(这事儿也挺神的),这种 Manager 的活儿,谁情愿干谁干去,我是不大喜爱干的。不过,不喜爱归不喜爱,Google 这种挺不一样的办理既明显紊乱无序,又运转杰出,确实很独特。

严格地说,聪明人在一同,只需求鼓励,不需求办理,Google 的办法首要也是着重这一点。

有必要率直,我参加 Google 时,工程师才三千人上下,无序办理、自发办理、扁平办理占干流。Google 越来越大今后,大公司病也践约而至。流程越来越杂乱,层级越来越多,职权重叠和含糊越来越严峻,不同团队之间办理风格的差异也越来越大。
但即便如此,Google 基因里那种鄙视陈规、抵抗作业室政治、抵抗繁文缛节的办理风格仍是能在许多团队带头人的身上找到——这是 Google 肌体里的健康要素,生机因子,弥足珍贵。

顺便说一句,最近中文圈子热传不写代码/不会写代码的 CTO 一事,许多 Google 工程师出身的 CEO/CTO 都在朋友圈里晒自己写的代码,以表明态度。我自己对技能办理者写不写代码没啥倾向,写不写都能够是好的办理者,但如果“不会写代码”还以此为荣,就彻底无法承受,这个是底线。

我在 Google 面试了不少 Manager 和 Director 的提名人,都考过对方写代码或许至少评论一段代码的才能——不是要他一定在办理进程中写代码,而是怕他和 Google 工程师无法沟通,和 Google 技能基因无法共存。

在 Google 做技能办理,学不到啥成文的规则,能学到的其实首要靠“悟”。

4.看待职业生涯的心态

许多人来 Google 仍是奔着一份优胜的薪资待遇来的。所以,这儿只谈我自己。

有一种感觉是我开端在 Google 作业才有的。并且,那感觉越来越清晰,越来越吸引人,以至于十年下来,我简直把这种感觉视为我作业时的榜首推动力了。怎样说呢,这种感觉可能许多人都有,描绘出来大约是:

在整个职业生涯里,至少要有一部分(哪怕是一小部分)时刻,能够比较朴实地为了开心而作业。一家公司是否适宜自己,首要就是看这家公司能不能,或许在多大程度上能满意这个需求。

我在 Google 做不同项目,有时很费劲,有时很苦楚,有时很紧张,当然有时也会开心。但一般项目无法让我比较朴实地享用那种开心、愉悦的美好感,于是乎,我在最近五六年里,把我的 20% 时刻,都投入到了 Google Doodles 这个既风趣,也适宜我的项目里。

Doodle,嗯,主页涂鸦,朴实为了让用户开心而建立的项目。这项目既需求画画的艺术家,也需求写动画、音效和游戏代码的成员,不光好玩,还特别有品,特别有文化。由于参加其间,我有时机跟 Google 总部那些凶猛的艺术家一同协作,真的开心。

有一次做 Google 生日的 Doodle,我们选中的是美国小孩子在生日常玩的一种叫 Piñata 的游戏。在电脑里完结这样的游戏,需求简洁的美术风格,支撑 JavaScript 的物理引擎,还有滑润、高效的动画引擎,这些是技能细节,不打开谈。

可在技能之外,我们这群寻求开心的人硬是嚷着要亲身玩一次实际里的 Piñata。那次在 Mountain View,就在 Google 总部有一只霸王龙骨架的那片空地上,我们把一个真的 Piñata 挂在树上,轮流用竹竿去打,直到打出一地的糖块来。十几个艺术家和工程师开心得像小孩子。

就是很朴实的,很简略的,很开心的那种体会。无论作业里有多少烦恼,至少要给自己保存这样一块空间,叫心境家乡也好,叫随意什么名字也好,哪怕再小,也得有那么一个。

对我来说,在参加 Doodles 项目的进程里,能够和 Doodles 留念的巨大科学家、艺术家们跨时空沟通,能够和正在规划、制造的小动画、小游戏随时互动,能够预测到最终用户看到每个 Doodle 时的高兴,这确实是一件超赞的事。

很走运,Google 能够为我这样寻求开心的人供给适宜的时机。很不幸,(我切当地知道)不少公司从不考虑职工的这种需求。这大约也是公司基因决定的事,无法强求。正由于有了在 Google 的十年作业阅历,我才会毫不犹豫地将职业生涯中最重要的寻求界说为“开心”。

十年职业生涯,除了高兴,还有前史的厚重感。特别是 Google 我国这十年,我有幸亲历前史,可算人生里的大风波。不幸,许多前史是不能翔实言说或评估的,所谓春秋笔法,绝不仅仅是史官的政治退让,更多情况下也是从更高维度审视前史的一种大智慧。

总的说来,我喜爱一种本质上不是消沉避世的“慢日子”,“高兴”和“多样化”是这种日子的力气源泉。脱离 Google 后,我深信这种日子就是自己的未来。主意渐多,身心渐老。下一个十年,请慢一些到来吧。

相关文章

在线留言

*

*

◎欢迎您的留言,您也可以通过以下方式联系我们:

◎客户服务热线:021-51095123

◎邮箱:xin021@126.com

021-51095123
扫描二维码关注我们

扫描二维码 关注我们