Google 员工经常面临一个典型的两难困境:因为许多同事早早离开 Google 去融资、创业、上市、发财,像我这样安心在 Google 工作了十年的普通工程师就变成了另类——当面问我“为什么还没离开 Google”的人,他们眼睛里鄙夷的目光藏都藏不住;反过来,在家人眼中,我打算离开 Google 的举动无异于自己砸碎金饭碗,放着稳定的收入和丰厚的福利不要,非要和不确定性为伍。
再比如,像 MapReduce、Bigtable、TensorFlow 之类由 Google 原创、对业界影响深远的技术,在 Google 内部可不仅仅是身外的工具,它们都是 Google 工程师这个大集体的作品和骄傲。因为大家都是主人,对哪些东西不爽,可以去鼓捣源代码,可以去提交自己的补丁或者新功能,甚至推翻重做。
别小瞧这推翻重做,虽然很难很难,因为你得一边说服老板和用户,一边找到足够的开发人手,但事实上, Google 内部重新发明一遍、两遍、三遍的框架、工具、库、接口、服务比比皆是。一言不合就动手做个新版本、新系统,这毛病既带来数不清的流程混乱,也带来一山又比一山高的良性竞争——表面的混乱之下,良性竞争引发的技术飞跃常常超出想象。
在 Google,工程师有好几万,不能说每个人都渴望做技术的主人,但踌躇满志的大有人在。因为 Google 走在技术最前沿,有追求的工程师确实没脸当个纯粹的技术追随者。当然,我的意思不是说 Google 里没人去做那些不那么酷的“苦力活儿”,而是说大多数人都有个争强好胜的心态,即便是做相对简单的技术工作,也时常会想想怎么能做出世界一流的效果来。
说到管理,在 Google 带技术团队的其实都苦哈哈的。我就先后两次把团队交给别人带,自己乐得去做些单纯的代码工作。道理很简单,头衔是 Manager,可你没法高高在上指手画脚,Google 最好的团队带头人都是冲在第一线带着大家一起干,除了主动包揽大家不想干的脏活、累活、杂活之外,还要做管理者必须的非技术工作,比如给每个人写评语、定奖金,帮每个人申请升职,跟心理负担重的谈心……