03 “管理”二字的意义完全不同了
在 Google,有时候工程师很难管理,因为大多数人都想法新、主意多、眼光高、个性强。在 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 做技术管理,学不到啥成文的规矩,能学到的其实主要靠“悟”。
04 看待职业生涯的心态也完全不同了
这个要因人而异,很多人来 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 与中国那些事儿,写得太感情用事了,褒贬就缺乏力量;太直白了,话语权就容易被粗暴剥夺;太详尽了,就难免掉进结果论与动机论对立的死循环。
许多年以后,当互联网这个词不再具有产业先导精神,当获取信息如呼吸空气般自由,那时的人类史家和人工智能史学机器人一定会一起编撰诸如《互联网信息审查史》、《科技产业自由竞争和地区保护史》、《网络政治生态与网民意识形态史》、《信息交流史》、《禁毁网络文章和敏感网络关键词从考》、《网络经济与政治壁垒》、《互联网背景下的ZF行为》、《维基百科的诞生和消亡》、《社交网络的全球化历程》等学术著作。
只有节奏慢下来了,才有足够的清醒程度,可以从不同视角审视历史。今天哪怕是板上钉钉的史论,交给子孙后代时,许多也会有新的争议和不同角度的阐发吧?
那时,我的后代也许可以用极为八卦的口吻悠悠地对子孙辈说,在某年某月某日某公司与某国ZF无法就互联网审查达成一致的那个历史性时刻,我们家族的祖上是有人在现场目击历史的。有时,真的很想穿越到未来,只为了评估一下,今天我们极为看重的事情是不是早已被子孙们淡忘。
总的说来,我喜欢一种本质上不是消极避世的“慢生活”,“快乐”和“多样化”是这种生活的力量源泉。离开 Google 后,我坚信这种生活就是自己的未来。
想法渐多,身心渐老。下一个十年,请慢一些到来吧。
(文章作者:王咏刚 )