今天的文章发的有点晚,因为我又翻译了一期很长的优质内容。现在每天信息真是太多了,我最近把一些群全部折叠,减少干扰。要不然,每天开着微信,朋友圈、微信群、公众号、视频号,这些小红点把人的时间切的稀巴烂。
我仍然保持每周听一个英文播客的习惯。周末听的是一期关于工程师成长的内容,嘉宾叫 Philip Su,他曾任 Meta 和 OpenAI 顶级工程师(相当于阿里 P12 这个级别)。
在播客中他分享了自己在微软、Meta、OpenAI 等大厂的成长经历,我听的特别过瘾。下面是精彩观点的摘录,再往下是具体内容:
- 工程师快速成长主要依赖三点:运气(遇到对的人和机会)、天赋(适合的能力和特质)、以及努力(投入大量时间和精力)。他坦言自己曾经极度拼命,但也提醒大家要注意平衡生活与工作。
- 所一个团队如果能朝着大致正确的方向齐心协力,比起团队成员各自追求完美、却意见分歧要高效得多。即使方向有小偏差,只要大家步调一致,整体进步会更快。这种“同意大方向、不同意但服从”的团队精神,是高效协作的关键。
- 职业生涯中,过早专注于某一领域可能带来风险。技术和行业变化很快,过度专精可能导致技能过时。广泛涉猎、保持学习能力,可以让人在面对行业变革时更有适应力和选择空间。
- 术人员不仅要有硬技能,还要重视写作和沟通能力。良好的表达可以放大个人影响力,帮助团队理解复杂问题,也有助于职业发展。写作能力可以通过多读好书、反复修改和主动练习来提升。
- 拼命追求某个目标(比如晋升或成为专家)前,要先想清楚自己是否真的想要那种生活,以及能否接受为此牺牲的其他重要东西。比如,过度投入工作可能影响健康和家庭关系,达成目标后也可能出现迷茫或抑郁,所以目标设定要结合长期幸福感和个人价值观。
以下是全部译文。
#01
快速晋升的原因是什么?
主持人:我们从你在微软的经历聊起吧。据我了解,你在微软晋升很快,最后升到 E7 级别,你觉得你这么快晋升的原因是什么?
Philip Su:我觉得快速成长有几个原因。第一是我遇到了几个非常好的经理和同事,从他们身上学到了很多。比如我刚加入微软的平板电脑团队时,团队只有 20 个人,但有 3 位杰出工程师,这在微软是很罕见的。我就是在这样的人身边很快成长起来的。
还有一个原因是我真的工作时间很长。说实话,我在微软第一年,办公室里还放了个睡袋,经常就睡在公司。
我会设置凌晨 3 点的闹钟醒来,因为我想实践达·芬奇的那种 “睡四小时就起床,然后再睡四小时再起床” 的作息。所以凌晨3点醒来写代码,写到 6 点再睡,然后 10 点再起床继续写。
所以我经常和别人说,我觉得快速成长其实就靠三样东西。
- 第一个当然是运气,比如你刚好在对的时间遇到对的人,比如你在斯坦福上学,拉里和谢尔盖刚好找你加入谷歌,这就是运气。
- 第二是天赋。大家喜欢说 “人人都能当宇航员”,但其实不是,比如我永远不可能成为篮球高手。有些事情就是天赋决定的。比如,有些人天生不擅长公开演讲,虽然通过练习可以有所进步,但很难练成像西塞罗那样的演讲家。
- 第三,我觉得是努力。如果你足够努力,和同样有天赋、同样有运气的人比,你就会走得更远。当然,我不建议每个人都这样做。其实那几年我的工作和生活严重失衡,我并不推荐大家这样,但我确实觉得比别人更努力,确实会有很大帮助。
主持人:你刚入行的时候特别拼。当你这么拼命工作的时候,难免影响健康,反过来也会影响你的效率。你亲身经历过之后,如果以 “全力以赴成长” 为目标,你觉得这样做真的最优吗?
Philip Su:这是个好问题。很多人会引用 “福特当年研究工人,发现每多工作一小时,产出反而降低” 这种例子。确实,工作时间太长,每多一小时,效率就会下降。但我觉得对于大多数人来说,这个曲线其实还挺长,真正到负产出之前,还是有正回报的。
比如你每周工作 50、60 小时,虽然后面每小时的效率会递减,但总体你做的事会比只工作 40 小时的人多。
但还有一点大家没怎么讨论过,比如为什么外科医生现在还有 36 小时的连轴转?一方面有点 “新手必须吃苦” 的意思,但另一方面,外科医生说,最快积累经验的方法就是大量上手。如果你能把六年的手术经验压缩到四年里,你出来的时候一定更厉害。
当然没人愿意被刚工作 36 小时的医生动手术,但你又希望这个医生见识过足够多的病例。所以虽然我不推荐我当年那种疯狂工作方式,但也正是这种拼命,让我比一般刚进微软的新人见识更多。
主持人:确实,虽然会有递减,但多干一点就是多收获。如果你真的是 “成长优先”,那确实应该多投入时间,当然其他方面也要平衡。
Philip Su:如果你真的铁了心觉得事业最重要,哪怕牺牲人际关系、生活这些,我觉得多工作确实会让你走得更快。
主持人:你后来升到微软的 E7 级,听说这个是高级员工?你们团队里有三位杰出工程师,他们大概是 E9 级吗?
Philip Su:在微软,大概可以这么理解。E9 差不多相当于公司里的副总裁级别。
主持人:E6 到 E7 这些级别我知道。那你在微软升到 E7 的时候,是做管理者还是做个人贡献者?有什么故事吗?
Philip Su:好问题。那时候我是作为管理者升的,但后来也以个人贡献者的身份在新级别上工作过。
主持人:你当初为什么决定做管理岗?
Philip Su:我年轻的时候对自己挺有信心,而且我深受华人文化影响,大家普遍觉得当管理者更受尊重,职业发展也更顺。所以我一开始就有点 “误以为” 在软件工程师这行,做管理就是下一个进阶,所以我才转去做了管理。
但在我职业生涯里,我其实在管理和个人贡献者之间反复切换过至少六次。主要原因是我很喜欢做个人贡献者,但有时候团队临时需要一个管理者时会让我管一阵子;或者团队管理得不好时,我更愿意自己来带团队。
简单说,我最喜欢做个人贡献者,如果团队没有更好的管理者,我愿意暂时带团队,但一般情况下,如果可以选择,我还是更喜欢不去管理别人。
主持人:你刚才说,如果团队管理得不好,你就会去做管理,这种情况在你的职业生涯里有发生过吗?是你主动提出的,还是有上级来找你,让你帮忙带队?
Philip Su:这两种情况我都经历过。比如说,我职业生涯里有四次,原本是我上级的经理后来要转到我的团队,成为我的下属,由我来带他们。我觉得,这部分原因是我从很多好经理身上学到过不少东西,虽然我本人不是很喜欢做管理,但我学到的那些管理经验有时还是挺有用的。
所以我也经常被邀请去做管理者。早年我自己还会主动去争取管理的机会,但后来我更多是主动选择个人贡献者的岗位。
主持人:我还真没听说过有经理会让你带他,怎么会发生这种事呢?
Philip Su:其实每次的情况都不太一样。有几次是在同一个团队里,他们直接转为我的下属。有时候是过了几年,我们各自换了岗位之后,对方主动提出想来我的团队。在同一团队那次,是因为那位经理更想做个人贡献者,而我那时正好想做管理者,我们就有点像互换了角色。
还有好几次,是我去别的团队工作,原来的经理也想跟着我一起做事,就愿意来做我的下属。这是大部分情况的原因。
主持人:职业发展到一定阶段,大家都要面临选择,是继续做个人贡献者还是转去做管理。你觉得对于正在思考这个问题的人,有什么决策框架可以参考?
Philip Su:这是个很好的问题。我的性格是比较喜欢尝试新鲜事物,所以我会建议如果你对管理感兴趣或者觉得自己可能适合,不妨去试一试。不过我会提醒几点。首先,你要警惕,别让自己走进 “单行道”,就是一旦做了管理,之后很难回头。
比如我刚才说过,我一生切换了六次个人贡献者和管理者的角色。但很多人其实做不到这样切换。一旦做了管理者,特别是做了带管理者的管理者(比如管理经理),离写代码就越来越远。有的人不愿意降级去做个人贡献者,而我自己则很愿意。
另外,有的人做了管理,回到个人贡献者时,反而达不到同级别的要求。所以你得非常小心,别走上一条回不了头的路。
对我来说,因为经常切换,所以一直保持 “双向通道” 畅通。管理团队时我也喜欢自己写代码,尽量保证两边的技能都不过时。但大多数人其实很难做到这一点。所以你在考虑转型时,一定要确定自己真的想好了,不要随便踏进一条单行道。
另外,大家说到想做管理时,往往只是考虑自己,但我常跟别人讲:你什么时候适合带队?就是当你的团队成员也希望你来带他们的时候。换句话说,你愿意为自己工作吗?如果你的答案不是非常肯定的 “愿意”,那说明你还有些地方可以提升。
其实名义上你可以被任命为领导,但在软件开发领域,团队成员可以消极对抗、拖延,或者阳奉阴违。所以,团队成员真心想跟你一起工作才最重要。
所以,想做管理前,最好认真想想:如果我是我的下属,我愿意为自己工作吗?如果不是,就先提升自己,让大家都愿意和你一起。等你提升到位了,大家自然会请你来当管理。
主持人:你刚刚提到 “双向通道”,我也挺有同感。我自己也面临过管理和个人贡献者的选择,但我一直以为,到了某个层级就会更专精,比如你已经带一个很大的团队,再转回技术专家,两个岗位的工作内容完全不一样。
我认为来回切换会让自己之前的积累白费。你怎么看?你会觉得切换角色会损失掉之前的积累和工作吗?
Philip Su:肯定会有损失,而且我是主动接受和愿意去承担这种损失的。比如我从 Facebook 伦敦分公司的负责人转到 Oculus 做个人贡献者,职位也从 E9 降到了 E7。
这完全是我自己愿意的,因为我在伦敦当负责人时的管理能力,和做 Oculus 代码开发者所需的能力完全不同,所以重新定级也是必须的,我也认可这一点。
很多人其实接受不了这种切换。一方面是面子问题,觉得地位降低了接受不了;还有的则是经济压力,生活方式和收入水平已经习惯了高工资,如果降薪他们就不愿意接受。结果就把自己困在一个越来越难以选择的局里。
所以,角色切换时确实可能需要接受一定的降级。有些阶段转换起来会容易一点,有些阶段就很难。
有个挺有意思的现象。比如职业早期,干了一两年软件开发后,想去做产品经理,这时候横向转型很容易。你是初级开发,可以转成初级产品经理,大家也乐意培养你。
但如果到了 E5 这种中高阶段,想从 E5 的开发转成 E5 的产品经理,就会很难赶上同级别的同事,除非你原本开发工作就和产品经理很相关。
但有趣的是,这种变化是 “菱形” 的:等你再往上走,比如 E8 这种更高级别时,技能又会重新重叠起来。
当然,也有天才型的极客开发者,他们就是能高产高效写很多难代码。但大部分资深的个人贡献者,实际上都是擅长带队的人。他们能对技术方向有清晰判断,知道产品该怎么做,理解架构和薄弱环节,能有步骤地推进更好的设计。
大家都喜欢和他们合作,因为他们有能力辅导别人。这就是 E8 级别的个人贡献者的典型特征。所以到了这个级别,两边的技能又有很大重叠。
到了高级别,像沟通能力、全局视野、对业务和技术结合的理解这些都会同时变得很重要。所以在职业发展的中段是最难转换的时候。
主持人:你说的这个 “菱形” 模型我觉得很有意思,尤其是那些高级别的技术专家,比如技术 Leader,带项目的那种,他们的领导能力和总监其实很像。但我想问,有没有那种 “专才型” 的人,比如特别钻 AI 或数据库优化,这种人是不是技能就很难回归重叠?
Philip Su:确实有。有些人会非常深耕某一个领域,比如只做 SQL 查询优化,这种技术路线可以钻得很深,这种情况下他们其实不需要也不一定擅长团队管理相关的那些能力。所以并不是所有类型的人都能既懂技术又擅长管理,有的就是一直专精技术。
#02
为什么从 E7 降到 E9
主持人:你刚刚说过,你曾经是 E9,然后主动要求降级到 E7。E9 是杰出工程师,E7 是高级员工工程师,这两个级别都很高。当时你是怎么跟公司沟通,主动要求降级的?
Philip Su:其实我在从 E8 升到 E9、担任伦敦站点总监时就已经有点担心。我当时跟 Facebook 的 CTO Schroepfer 说过,我很喜欢做个人贡献者,但如果以后想回去做个人贡献者,我怕自己没法继续保持 E9 级别的表现。
当时 CTO 的回复是:“等真的到那天再说吧,不要因为你以后可能会回去写代码就不提拔你。” 所以,当我真的回去做代码开发时,我也很清楚自己已经不可能达到 E9 的标准了。
在这种情况下,我其实很高兴主动要求降到 E7,因为这是我能胜任的级别。其实 E7 也是我八年前刚进公司的级别,我很确定自己在这个级别能表现得很好。
而且我真的不想拿超过自己贡献水平的薪酬,尤其是和团队里的同事相比。我觉得,比起勉强混在一个自己都觉得是 “冒牌货” 的级别,能在合适的级别做得好、做得踏实要舒服得多,而且你自己也更有信心能长期胜任。
所以我其实很欢迎这种降级的变化。但大部分人其实很少会主动做这么大的转变。还有一点,很多人其实也不愿意接受这种变化带来的所有影响。比如,我是从一个 4、500 人的大站点总监,变成了要向自己的上级的上级汇报的普通工程师。你必须真的能放下自己的 “面子”,甘愿回到普通团队成员的角色,安心做自己的工作。
还有一点很重要,你要小心别总用自己以前的管理经验去发表意见,因为你要支持新的管理者,让他们顺利带队,而不是靠以前的 “影响力” 去插手团队决策。所以,这些变化都是我愿意努力适应的,我也很高兴公司能根据我的实际贡献给我合适的级别。
主持人:很有道理。你说 E9 的要求太高了。能不能大致说一下,E7、E8、E9 这些级别的人一般都在做些什么?
Philip Su:我需要提前说明一下,我是十五年前加入 Meta 的,所以我的理解可能不够最新,但大致可以参考一下。总体来说,最核心的区别就是 “影响范围”。也就是说,你能独立负责的项目有多大、多复杂、多有价值。
比如一个实习生,可能连一个完整的功能都未必能独立完成,或者只能独立完成一个小功能。一个高级开发,比如公司里的 E5、E6,应该能影响到 10 到 15 个人的工作。如果你能稳定带领 10~15 人的团队,独立把这样规模的项目做成,无论是技术交付还是产品功能推进,这就是这个级别的表现。
到 E7,我记得的话,应该能影响到大约 50 个人的工作。也就是说,你会负责一个大约 50 人的团队的技术方向,产品经理、技术经理遇到重大决策都会来请教你,团队成员也都认可你的影响力。
你还要能独立推进持续六个月的项目,比如给你一个目标,你可以六个月不用领导管,自己带团队把项目完整做出来。这就是我对 E7 级别“作用范围”的预期。
到了 E8、E9,这些要求会进一步扩大。比如,一个技术总监要能经常性影响到 100 人左右的团队,这就是他们应有的 “影响力” 规模。
从个人贡献者(IC)这条线来看,“大” 可以有不同的表现方式。有的人在某一领域特别 “深”,比如有很深的专业技术,是别人做不到的。这种人就算是 E8,只有他能做,别的 E6 多请几个也做不了。这就叫 “定性上的不可替代”。
也有的人是 “面广型” 的,什么都能做一点,这种人在初创团队特别有价值。因为你没法招三四个 E6 把一个万能型 E8 替代掉。
所以这里既有 “定量” 的差别,也有 “定性” 的差别。而 “定性” 上的区别,其实很难用 HR 制定的条目来明确描述。如果你试图照着某个清单努力去做,最后可能会很疑惑,觉得自己明明做到了,为啥还升不上去。
其实就是因为到了这个层级,每个人成功的原因都不一样,需要更高层的管理者做主观判断。这种判断很难。比如你从 E8 升到 E9。其实我刚升到 E8 的时候,公司还没有 E9 这个级别,后来才有的。比如像 John Carmack 这种超级技术大牛,公司就不得不设立新的级别来匹配他们的能力。
我记得当时公司讨论第一次 E9 晋升时,公司规模只有几千人,计划晋升三个人进 E9。这么小的样本量,根本没法靠一张清单来筛选。每个人类型都不一样,都是不同方向的佼佼者。
所以越到高层,越像是大学教授评审一样,不是说你发表够十篇论文就一定能晋升,而是全体教授都认可你才行。
在 E8 及以上级别,很多晋升其实就是同级别的人都觉得你已经到这个高度了,无论你擅长什么方向,大家都认同你。这些原因很难用语言描述清楚,所以也很难用标准化流程去卡。
主持人:在这种情况下,我会想到会不会有 “先有鸡还是先有蛋” 的问题。假设你是一个非常优秀的 E7,但你身边没有 E8 或 E9,那你怎么知道自己已经做到了 E7 级别之外的事情?会不会只是因为你在团队里已经是最强的那个人了?
Philip Su:完全有可能,尤其是在小公司。这种事经常发生在去小公司或者弱团队的人身上。我们先说弱团队的情况。
微软是一家超级大的公司,我工作的时候有十四万人,裁员之前是二十四万。十四万人比世界上四十个国家的人口都多,所以你可以想象在这样一个大公司的感觉。在这么大的公司里,一定有一些弱团队。
问题就在于,如果你在弱团队里,可能会觉得自己很厉害,其实只是因为你的同事都很差。这会导致有的人被定了过高的级别,或者根本没人能让你学习,因为整个团队都不强。
就像买房子一样,你永远不想成为小区里最贵的那套房,因为这样你就没有上升空间了,你已经是天花板了。当然,你也不想做最差的那套。最理想的是当中等那套。所以在晋升高级别时,也要找一个你能处于 “中间水平” 的环境。
我同意高级别确实很难找到好的榜样,而且那些榜样擅长的方向可能和你不一样,未必适合你学习。但我觉得,到了高层级,比起找榜样,最重要的是能有一个很好的教练或导师,能给你反馈。
最好是那种在晋升决策中有话语权的人,比如负责决定 E8 能不能升到 E9 的人。他们会直接告诉你,你和下一级的差距在哪里,这样你们可以就如何提升有有意义的讨论。所以,我觉得得到这种 “质性” 意见比单纯找对标对象更重要。
#03
E9 需要负责什么事情?
主持人:那你当时升到 E9,负责的项目或范围是什么?能不能举个例子,让大家知道到底做到什么事能升到 E9?
Philip Su:我当时带着 12 个人一起创办了 Meta 伦敦的工程部门。最开始我们只有十几个人,经过四五年时间,团队规模扩张到了四五百人。在这个增长过程中,我管理了很多关键的转型。刚开始 12 人的团队很简单,一个 E6 级别的优秀经理就可以带好。
但每次团队规模翻一倍,问题的复杂度都会急剧增加,解决方案也不再是非黑即白,经常都是灰色地带。所以我之所以能升到 E9,主要是因为我能处理更广、更关键的事务和决策。
举个具体例子,我作为伦敦站点负责人最后开的一次会,是跟门洛帕克总部沟通,今年伦敦到底要招多少实习生、配多少人头。因为我根据下一年 H1B 预计发放数量,推算出了未来全职转正人数,所以我们必须提前 18 个月做决定。这个推算是基于数据来的,需要提前一年半做准备,而当时没有其他人会这么想。
我在伦敦团队还是 E8 时,也是第一个去关注所有工程师晋升层级、梳理 “能力金字塔” 结构的人,思考团队成员的晋升和成长速度是否匹配公司的技术发展需求。这类事情其实是很有战略性的大事,不是具体交付一个功能,而是着眼于长期和全局。所以随着级别提升,决策的影响范围和时间跨度也会越来越大。
#04
建立强大的工程团队文化
主持人:你有没有什么特别的经验,可以让团队的工程文化一直保持强大?你其实有点像是在公司内部创业。有没有什么做法真正起到了关键作用?
Philip Su:我觉得一个很大帮助是,在创建伦敦站点之前,我不仅观察了其他团队。我是 Meta 西雅图团队的第二个员工,那时西雅图是 Meta 总部以外的第一个分部。我亲历了团队从 4 张桌子扩展到 120 张桌子的全过程,也从中吸取了很多教训。
更重要的是,在真正开始创建伦敦办公室之前,我去采访了其他公司的分部负责人。比如,Google 伦敦前站点负责人 David Singleton,后来成了 Stripe 的 CTO,他就给了我很大帮助。
他给我最好的建议之一就是 Google 曾经做过一个叫 “落地团队” 的实验:也就是派多少人到新分部,来建立初始文化。我们对 “落地团队” 的安排主要受两个建议影响。
一是 Schroepfer 说必须有两组完整的面试官,大概需要 10 到 12 个工程师;另一个是 David Singleton 的建议,他说 Google 试过后发现,“落地团队” 至少要承诺在新站点工作两年。很多公司会让 “落地团队” 只待三个月、六个月,然后就走了。
但我觉得这是个大错,因为在早期,新老成员比例特别高,很容易导致文化失控。所以我带的 12 人团队,全部都承诺至少待满两年,这对文化传承帮助非常大。
还有一个关键点,我面试了公司里差不多 50 个自愿来伦敦的人,最后选了这 12 个。面试时不仅考察本人,还问了他们的同事、上级,看他们是不是公司文化的积极传播者,是否适合做新站点的种子成员。
老实说我也挺幸运,选中的这 12 个人都非常棒,非常适合建设和传承公司文化。他们在公司待得足够久,深刻理解公司文化。我还要求他们每个人最好都能带一个项目过来,这样不仅能落地文化,还能带动业务。
像 Ben Matthews 这样的个人贡献者,什么都能做,非常高效,而且很会招人。可以说团队最后能建设得这么好,很大程度上得益于吸取了前人的经验。
主持人:你刚刚说让大家承诺至少待两年,这个承诺只是口头的吗?有没有额外的股票激励或者类似的东西?
Philip Su:没有额外补偿,大家的工资也和原来一样。我们也没让他们签什么文件,只是我会很认真地跟他们谈:“我只希望找那些愿意至少待两年的人。如果这和你的人生计划不符,这份工作可能不适合你。” 所以有些人会自己选择不加入。
确实有一两个人因为有合理的原因,提前回去了,我们沟通得很顺利,我也很支持他们的选择。但让我惊喜的是,实际上大多数人都待得比两年还久。
其实,最早那批 “落地团队” 里,现在大概还有四个人还在伦敦,十五年后都快成英国人了。他们刚来伦敦的时候根本没这个打算,也不是想着移民才来的。只是后来爱上了伦敦,也喜欢这个办公室,所以就一直留下来了。
我觉得我们真的很幸运,能有这些人发自内心地愿意承诺、留下来,而不是靠强制。
#05
与 Zuckerberg 一起工作
主持人:你刚才提到Schroepfer 曾经是你的经理。我在查资料的时候看到你也和 Bos 合作过,应该也跟 Mark Zuckerberg 有过接触。能不能分享一些和他们共事的小故事?毕竟他们都是传奇人物,很好奇你的体会。
Philip Su:我觉得自己很幸运,在 Facebook 遇到了很多优秀的人。我第一个经理是 Bos,后来成了 CTO。后来我在伦敦带团队的时候,Schroepfer 是我的经理,他那时是 CTO。这两个人都给过我很多指导和建议。
Zuckerberg 我只和他一对一聊过几次,所以没太多深入的了解,但他给我的感觉是真心带团队,很真诚。有一点让我很佩服 Zuckerberg 和 Bos,就是他们个人成长的意愿和能力。
当我进公司的时候,我33岁,公司员工的平均年龄才27岁。我在西雅图分部的前七个月,33岁就是办公室里年纪最大的人。我的很多上级其实都比我年轻。
但不管是 Bos 还是 Zuckerberg,他们都非常愿意自我成长。你去问跟他们一起工作八到十年的人,或者跟 Zuckerberg 一起共事多年的同事,都能明显感受到他们在不断进步。不光是有人指导他们,他们自己也很主动地在努力提升自己。
举个很小的例子,比如 Zuckerberg 一开始做全员问答(AMA)时和两年后的变化就很大。我猜那时候他大概 28 岁左右。他在公开场合的表达、沟通进步很明显。我甚至发现,他后来讲话时都会有意调整自己的站姿和头的角度。刚进 Facebook 的时候,他的习惯是稍微抬头看大家,几年后就变成正视大家,很明显是有人专门指导他怎么在公开场合更得体。
所以我一直都很佩服他们愿意主动成长、不断努力的样子。
#06
优秀的合作者
主持人:你刚刚提到高级别的个人贡献者,周围人的反馈很重要。你和那么多 Meta 顶级技术大牛共事,有没有谁特别让你印象深刻?
Philip Su:我跟 John Carmack 其实很少直接合作,但他真的是传奇人物。在 Oculus 工作时能体会到,他写代码非常高效,而且可以隔了半年都没碰某个项目,突然回来就能给出特别具体的建议。
比如我当时负责 Oculus 360 Photos 这样的小项目,有一天 John 突然来了,他用了一下,就直接说出了照片边缘有畸变的问题,还提了怎么提升性能的想法。这些都是他主动发现的,没人请他帮忙,而且他的建议都是团队里没人想到的。非常厉害。
还有一个让我印象深刻的人是 Scott Renfro,我和他共事得更多。他曾经在伦敦团队轮岗六个月。
Scott 有个特点就是团队同事对他的反馈都特别好。他审代码时,就算你写得很差,他也不会让你难堪,总是用很委婉的方式指出可以改进的地方,从不当众让人尴尬。大家对他的评价几乎都是:Scott 花时间帮我成长,有他在团队,整个团队都变强了。他是那种能 “放大团队战斗力” 的人。
后来他还带领了很多公司级别的大项目,比如和 GDPR 相关的一些重要基础设施升级。他不仅自己能独立负责很大的项目,而且带团队也很厉害,所以他能拿到那么高级别,是实至名归的。
主持人:说到你在 Facebook 的最后一段时间,我记得我 2018 年刚加入不久,就听说有个人请全公司喝了一天咖啡,后来看到你的帖子才知道是你。是什么让你花两万三千多美元请公司所有人喝咖啡?
Philip Su:我先说下最早的故事。在 Facebook 工作了几年后,公司搬去了现在的门洛帕克总部,当时还没完全装修好。那年圣诞节我就想着,给大家买杯咖啡好了,于是那天全公司每个人都可以免费喝一杯咖啡。那天看到大家拿到免费咖啡那么开心,我自己也很开心。
后来 Philz Coffee 的老板还专门给我写信,说他们的员工从来没遇到过这种事,觉得特别开心。所以我觉得这是种 “正向传递”,让别人开心,自己也很开心。当我要离开公司的时候,我真的很爱这家公司,它给了我很多机会、让我做了很多有意思的事情,也有很多人带我、教我成长。
刚进公司的时候,我就像是突然中了大奖。我进 Facebook 时,外面都在说 “朋友网要回归”、“Google+ 要干掉 Facebook”,还有人说 Facebook 在移动端永远赚不到钱,大家都很不看好。当时我对未来完全没啥期待。
我离开微软的时候,微软的股价12年才涨了15美分,我把没到期的股票卖了也就1600美元,买了个 Xbox 360 和方向盘,挺开心的。结果进了 Facebook,运气好就赚了一大笔钱,这完全是运气,不是自己有多厉害。
Facebook 上市那天,我把所有 IPO 得到的钱全捐给了慈善,因为我觉得这不是我应得的。
不是谦虚,真的就是运气好。刚好学了计算机,碰到时代红利,如果我生在几百年前,可能只能当个铁匠,哪有这些机会。能移民到美国,赶上这样的时代,我觉得自己非常幸运。所以我一直想着回馈公司,尤其是那年圣诞节看到大家喝咖啡时的快乐。公司给了我这么多,我也想留点什么。
所以我跟当时有员工的主要分部都沟通了,大概有五个站点吧,我联系了那里的咖啡店老板,协调好怎么付钱,让大家那天都能免费喝咖啡。这件事我做得很开心,也很值得,我很庆幸自己当时做了这个决定。
#07
为什么离开 Facebook?
主持人:后来决定离开 Facebook,其实公司一切都挺好,你是怎么考虑的?
Philip Su:那时我最关心的是美国收入差距越来越大。我想创办一家B Corp,希望能帮忙缩小收入差距。我当时有几个想法,2018 年说出来可能没啥,但那会儿我就经常跟同事抱怨,说以后技术会导致失业,那个时候 “技术性失业” 这个词还没流行,但我很确定机器人会替代人类,所以社会需要快速适应。
大多数同事不同意,但我很担忧,所以想自己做点什么,创办 B Corp 去试试看。
还有一个原因是,我觉得 Facebook 发展到那时,哪怕没有我,也完全没问题,甚至会更好,公司已经很强大了。我反而更担心美国社会发生的这些变化。
再自我反思一下——我离开时职位和刚进公司时一样。我觉得自己在 Facebook 规模小的时候更有用。刚去西雅图分部时,公司全球才 500 个工程师。我和另外两个人能在六个月内从零做出整个视频通话功能。我属于 “万金油” 类型,不是专家型。比如我还参与谈判 Skype 合同,帮忙招聘和管理测试人员,能做很多杂活。
但八年后,公司已经有几千名工程师。这个阶段,像我这样的 “万金油” 其实用处小多了,公司更需要专家。所以我也觉得,自己能创造的独特价值没那么大了。我只是个普通的程序员,并没有什么特别出众的贡献,对公司帮助变小了。
主持人:那你觉得是不是都这样?比如离开大公司去创业,初创公司是不是更需要 “通才”,而大公司更需要 “专才”?
Philip Su:我觉得确实是这样。大多数小公司更看重 “通才”,虽然不管做什么领域,你可能都需要有一个真正懂行的专家。但在小公司,最常见的情况是有些工作量太小,根本没法单独请一个全职的人来做,所以只能让团队里会的人兼职干。
比如公司够大了,你能专门请一个公关全职做 40 小时,但在早期公司,不可能只雇个每周干三小时的公关,于是只好让团队里沟通能力好的产品经理暂时兼着。
所以因为这种 “碎片化” 需求,小公司更需要通才,能让一个人兼好几个角色。但等公司大到每一个细分领域都值得专人负责时,通才的作用反而浪费了,因为他只有 15% 的能力能用在某项工作上。
#08
为什么加入 OpenAI?
主持人:那你离开 Facebook 去做B Corp之后,又回到行业,加入了 OpenAI,讲讲这中间的故事?
Philip Su:离开 Facebook 后,我在西雅图创办了一个本地非营利组织 Outer Ay,专门做全球健康领域的免费软件,这个项目由盖茨基金会资助,软件现在部署在尼日利亚、肯尼亚和南非,用于帮助快速检测疟疾。
我当时没想到会拿到盖茨基金会的资助,觉得非常幸运,所以就专心做全球健康软件,我很喜欢那段经历。
那之后我休息了一阵子没工作。那段时间,我用 GitHub Copilot 写代码,在 VScode 里也用得挺多,还经常跟朋友安利说 “这 AI 挺好用”,但当时很难说服大家去付费用它。
后来 AI 开始爆发,大概是 ChatGPT-3.5 或 4 发布的时候,我就觉得,这是整个行业的大转折点。
我在微软时错过了两次大变革:一次是整个 .com 互联网浪潮(微软错过了互联网革命),还有一次是移动互联网革命(微软同样没赶上)。
我很幸运赶上了社交网络革命,但我越来越觉得,AI 对人类的影响可能比互联网还大。因为从宇宙的角度看,我们可能是第一个创造出比自己更聪明物种的文明,这简直不可思议。如果 AI 出现了,还可能解答 “费米悖论” 这种终极问题。所以,我不想再错过这个机会。
我之所以选择加入 OpenAI,是因为在 Facebook 的经历让我明白,我要不就加入行业里最领先的公司,要不就不加入。原因是:头部公司有余力去做各种尝试,即使失败几个项目也没关系,这点我在 Facebook 很有体会。
只要领先足够多,就能勇敢去试错。Facebook 其实也有很多大失败,但有优势可以承担。反过来,“追赶者”(比如 Google+)就只能跟着 “老大” 去复制各项功能,然后再想一个自己独有的东西,比如 Google+ 就主打 “圈子” 功能。
但你要做社交网络,首先得把基础功能全做好。二三名公司可以赌一把,但他们的节奏其实都被行业第一牵着走,得跟着别人跑。而行业第一可以随便折腾。我就喜欢这种“能折腾”的感觉,所以找工作时只投了 OpenAI,进不去就自己写代码。
#09
在 OpenAI 和在 Facebook 工作有什么不同?
主持人:那你加入 OpenAI 后,和 Facebook 有什么不一样的体验?
Philip Su:有很大的不同。我加入 Facebook 的时候,公司才 500 个工程师,而去 OpenAI 时,大概只有 120 个工程师。所以两个公司的阶段完全不一样。就我自己的体验来说,OpenAI 是我遇到过工程师人才密度最高的地方,非常厉害。
当时我从微软跳到 Facebook,就觉得工程师整体素质一下提升了很多,尤其是早期 Facebook 简直是 “牛人集中营”。而 OpenAI 又比那种 “牛人集中营” 更上一个台阶。我真的很开心能和这些人一起工作、一起学习。
主持人:你觉得让你觉得 “这帮人太厉害了” 的原因,主要是技术能力特别强吗?还是还有其他什么地方特别突出?
Philip Su:是的,大家的技术能力都很强。我觉得 Facebook 一直有一个特别强的点,也是我相信 OpenAI 未来会越来越好的,就是他们非常重视产品。
什么是产品?为什么用户要用你的产品?其实 Facebook 真没什么特别神奇的 “魔法”,它就是靠网络效应和让人喜欢的好产品。这种产品力,会吸引大家投入。
但比如 ChatGPT 刚出来的时候,因为没有真正的竞争对手,哪怕产品做得一般,用户还是会用。你可能还记得,一两年前,经常用着用着就报错,比如每聊四轮就遇到一次服务器出错,你得刷新页面再跑一遍。
只要没有人能做出同样吸引人的产品,你就可以 “凑合” 下去。但随着竞争加剧,大家会发现,最终比拼的还是产品本身,不是纯粹的研究,而是真正做出来、交付出去的产品。所以,只有把好产品做出来、推向市场,才能获得真正的成功。
#10
写作经验
主持人:还有个问题想问你,因为我一直很喜欢你的文章,觉得你写作很厉害,写作对程序员来说也很重要,能放大你的影响力。你是从小就写得好吗,还是进微软之后练出来的?能不能分享点写作上的经验?
Philip Su:我小时候写作其实很差。一直到大学写作都不好,原因是我根本没重视沟通能力。我成长环境特别重视成绩,我也觉得只有理工科才是真本事,其他都是 “水课”。比如历史、英语这些,我觉得都是浪费时间,没标准答案,全是观点,所以我看不上软技能,也不去练,写作自然也不好。
后来比较幸运,进微软后有点空余时间,我开始重读一些经典作品。这些都是我高中时候最讨厌的书,比如海明威、《了不起的盖茨比》之类。现在年纪大点再看,能看懂里面的内容,也能欣赏那些表达。我也开始喜欢上语言本身。
我记得弗吉尼亚·伍尔夫说过,“想写得好,得先读得好”。所以首先要多读好书。比如 David Foster Wallace,他写的句子真的很棒。Alice Munro 的短篇小说,语言也特别美。还有《汀克溪的朝圣者》这些好书,读了会让你觉得文字可以这么美。
所以我慢慢开始重视这项技能,意识到它和 “硬本事” 一样重要。然后我就开始专门练写作。我觉得写作变好不仅要多读,还得愿意反复修改。你们看到的那些文章,其实我很多都改了好几遍才发出来。舍得把写得不好的删掉也很关键。
现在我读别人的文章,有时看到特别巧妙的表达,我也会记下来,下次用到。所以这也很有帮助。但最重要的,还是我后来不再轻视写作,把它当成一项核心能力,哪怕是搞技术的理工科,也必须会。
主持人:真的有共鸣。我小时候也觉得软学科没啥用,现在才发现写作多重要,所以也在练。你写的那篇《As Good as It Gets》很有创意,结构跳跃,不按时间顺序写,但能传达很多感受。你写这些有请编辑帮你润色吗,还是全靠自己反复修改?
Philip Su:那篇文章其实是灵感来了才写的。我当时在想,这个故事要怎么讲才有意思。大多数时候,按时间顺序写其实最合理,但有些故事反而用非线性顺序更合适,因为能体现人生不同的线索。所以那篇我就是串起来写的。
我这些文章其实都没有请编辑帮忙。唯一一次请编辑,是我做播客 Peak Salvation 的时候,请了 Rebecca Ambrose。那次我想做一个小系列,想让故事结构更好、表达更顺畅,我知道专业编辑能帮很大忙。和 Rebecca 合作后,我学到很多。如果你听那个播客,会发现确实有专业人士的参与。除此之外,我公开发的内容都没有人帮我编辑。
主持人:明白,你的文章真是很有名。我现在偶尔还会去翻看,还有很多新评论和老粉。非常感谢你愿意把这些好东西分享出来。对了,你做的 Great Post Explorer 工具我也很喜欢,两年前还能用,现在好像被下线了。当初怎么想到做这个项目的?
Philip Su:我在 Facebook 内部做了个叫 Great Post Explorer 的工具,是为了把公司内部评论最多、互动最多的帖子整理出来。我自己经常会偶然看到前辈写的很棒的帖子,就很希望这些内容能被好好归档,不仅要存下来,还要靠大家来归类,这样方便大家查找。
整个项目其实就是因为我发现,Slack 问题更严重,Facebook 也是这样,帖子只要一过时就没人看了。但其实有些内容是常见的,就像有些播客永不过时,有些只是聊新闻。所以我做这个工具,是希望大家都能挖到那些历久弥新的好内容。
#11
职业感悟
主持人:最后我想请你聊聊自己职业生涯的一些感悟,这对大家可能很有帮助。首先我想问的是,你年轻的时候,以执行速度快而自豪,这是你的一大优势。我也在你的文章里看到过这一点。
但后来你做了管理者,节奏变慢了。你觉得软件工程师是不是也像运动员那样,有所谓的 “巅峰期”,比如运动员一般在二十多岁、三十岁左右就达到巅峰,然后就开始走下坡路了?还是说软件工程师其实经验一直可以累积,没有天花板?
Philip Su:我觉得,软件工程师是可以随着时间越来越有价值的。当然,每个人都有自己的 “极限”,大家的成长曲线其实有点像渐进线。就是说,你的职业生涯中会有一段时间成长特别快,但最终都会遇到一个属于自己的 “上限”。
当你快接近这个极限时,会明显感觉成长变慢了,就像你每周工时超过五六十小时后,效率会递减一样。但我相信,每增加一点点努力,还是会有收获。所以我不觉得自己会一直停在某个水平线上,变成一条平线。
打个比方,年轻时我能 “跑” 得比所有人都快,但其实是走 “蛇形路线”。现在经验多了,反而会 “直线跑”。那有经验的人怎么做到直线跑呢?
有经验的人往往能很快看出事情是不是在往对的方向走。如果发现不对,他要么不去做,要么说服团队早点停下来。这样就能为整个团队节省大量时间,因为他会说,“我感觉我们现在这样走不对,我以前见过类似情况,往往是这样收场。”
举个具体例子,我有个朋友在微软工作,他说他们团队每周都有副总裁来参加 “缺陷修复会”,就是为了确保产品能按时上线。我跟他说,如果你们副总裁每周都要亲自来修 bug、盯上线,说明你们这个项目根本离上线还差得远,整个项目其实已经 “起火” 了。
这其实是个很明显的信号,说明项目出了大问题。我不知道为什么有经验的人能经历这样的事,却没发现问题本质。慢慢地,你会养成一种 “这个值得投时间,那个不值得投时间” 的判断。
还有,随着经验增长,你会越来越在意 “团队是不是朝一个方向努力”,哪怕方向偏了三度也没关系。
年轻时,我是理想主义,觉得做事要完全对,偏两度都不行。但实际上,如果一个团队能朝 98% 的正确方向一起发力,远比一半人 100% 正确、另一半人在辩论要有效。团队一起努力,往往走得更远。这就是随着时间积累下来的智慧。
就像亚马逊常说的 “不同意但服从”,有时候你必须同意大方向,哪怕不是 100% 认同,这本身就是价值。所以这些年我还在持续成长。
但比如说,比体力,年轻人肯定比我强多了。我现在再让我凌晨三点起来写代码,肯定很慢;可我二十三岁时,凌晨三点叫醒我写代码,完全没问题,直接能写进去。我觉得,人有些能力会变弱,但希望还有其他能力能变强。
主持人:你职业早期,好像晋升得特别快。你很年轻就做了管理岗,通常管理岗位需要下属认可你。可如果有比你年纪大的下属,会不会有些微妙?你是怎么赢得他们的尊重的?
Philip Su:这个确实挺难的。我觉得我年轻时既不够谦虚,也太看重自己的野心。举个例子,我 24 岁那会儿,我自己都不会愿意给当时的自己打工。但我太想晋升了,而且当时也是团队里最强的工程师之一。所以我主动申请当管理者,大家也觉得,“反正他是好工程师,不让他管人怕他不开心”,于是就让我管团队了。
我 24 岁那年,还要开掉一个 40 岁的员工,这真的特别难。开人这事儿,后来会变得容易些,当然,希望没人喜欢开人这件事。但那次真的很难受,而且我自己也很清楚我其实比对方资历浅得多。虽然他确实不达标,需要被开,但他是比我高两级的人,而我是他主管。
当时我根本不懂怎么管理比自己更资深的人,这其实需要很高的成熟度,怎么带比自己强的人,这其实很难。我也确实管理得很差,是个挺糟糕的管理者。但我非常渴望成长,就成了个 “海绵”,一直请教导师、不断学习,问别人怎么做得更好。
我也读了很多非虚构类的书,比如团队管理、怎么谈话之类的,什么都学。就是不断自我提升。所以确实成长了不少,但起步那几年确实很难。
而且就算到后面,我做管理也常常犯大错。比如我最大的问题是,不擅长给反馈。我总是下不去狠心说实话,遇到要给人负面反馈的时候总是想逃避,因为我不喜欢尴尬的场面。所以就算要给反馈,也总是把问题说得很轻,别人就意识不到事情有多严重,所以这方面我一直做得不好。
这些年,我从很差进步到 “勉强及格” 吧,但这块不是我能成为专家的领域。不过我更擅长的是激励大家行动。无论是我做经理还是做普通成员,我只会加入我真正相信的团队。只要是我认同的目标,我就会很有激情。我觉得,把这种热情和愿景传递给团队,能带动大家一起做好事。我这方面还算行,但还是有很多要提升的地方。
主持人:我们刚才聊了 “通才” 和 “专才”。你更像通才。那你觉得这对你职业有啥影响?比如现在有刚毕业的新人,他们该怎么选,是做通才还是专才?
Philip Su:这个问题很难,取决于你对自己有多了解。有少数极其特殊的人,比如象棋神童那种,八九岁就展现出超强天赋,这种人当然应该专攻自己的强项,因为那是 “非自然” 的独特天赋。
但大多数人其实不是这样,大部分人不会七岁就知道自己特别擅长什么。所以我一般会劝大家不要太早决定要专注于某个领域,早绑定风险挺大。
- 第一个风险,你没做过通才,怎么知道自己到底适不适合做专才?
- 第二个风险,是 “白痴型天才” 的情况。比如有个著名的数学家 Erdős,他哪怕成年了都不会自己用刀切葡萄柚,都是他妈妈帮他切。虽然他是数学大牛,发了很多论文,但因为太早专攻数学,其他生活技能几乎没有。这种就是“过度专精”。当然,他在数学上成就很大。所以如果你是二十二三岁的新人,我建议最好先广泛涉猎一些方向,别太早就死磕一个领域。
- 还有最后一个风险,就是你专攻的领域可能会消失。特别是现在 AI 时代,你加入一家公司死磕某项技术,结果三年后这技术没人用了,你就成了只会COBOL 的人,只能指望再来个 “千禧虫危机” 才有人找你。因为COBOL 已经没人用,但那是你的唯一技能。所以专业化有这个风险,而通才就不会遇到这样的问题。
#12
给年轻时自己的建议
主持人:我最后还有个问题挺好奇的,就是你经历了这么长的职业生涯,如果你能回到刚入行的时候,能给当时的自己一些建议——基于你现在知道的一切,你会给什么建议?
Philip Su:这个问题问得真好。我有几点想法可以分享。
首先,Roy Disney 说过一句话:“如果你的价值观很明确,做决定就变得更简单了。” 我很多时候觉得做选择难,是因为自己的价值观不够清楚。如果你很清楚自己想去哪,朝着那个方向的每一步选择都会更容易。所以我会建议年轻时候的自己,在投入做一件事前,多花点时间想想自己到底想要什么。
还有一个体会是,我经常觉得自己像 “追到了车的狗(指达到目标却不知道下一步怎么做的人)”。比如我刚进微软时,一心想成为开发经理。前八年,我做任何决定都是看这份工作能不能帮我往那个目标更近一步。能,那我就做。
可一旦你 “追到那辆车” 了,比如我真的做到了开发经理,比如我的级别升到 E7,可能这就是我职业生涯的 “终点站”。问题就在于,如果你太早达到巅峰,就像童星一样——你一直以演戏为目标,可没人再找你演戏时,剩下的人生怎么办?
你会觉得工作接下来的几十年都没什么意思。所以我当时完全没准备好怎么面对 “已经抓到目标” 之后的日子。
我在很年轻的时候就做到了开发经理、升到了 6、7 级,但随之而来的是一段很严重的抑郁期,因为我觉得人生突然没有了方向感。之前有目标时,生活特别有意义、有动力。可一旦目标实现了,下一步干嘛?所以我会提醒年轻的自己,一定要想清楚,自己是不是真的想要那个目标。
比如我现在会跟人说:你真的想成为沃伦·巴菲特那样的人吗?大家都觉得几百亿很诱人,可巴菲特已经九十多岁了——你愿意用九十多岁的身体去换几百亿美元吗?这真的值得吗?这是个值得好好想的问题。所以我现在更常想的是,等到达目标时,那真的是我想要的生活吗?
最后还想说个 “睡袋” 的故事。人生有时候是 “柳条能弯”,有时候 “柳条会断”。有些事撑得太狠真的会断。我那会儿办公室放着睡袋,未婚妻从马里兰来看我,每天我都要到晚上 11 点下班才见她。
我们每天就去 Denny's 吃个很晚的夜宵,这就是我陪未婚妻的全部计划。现在她成了我老婆我很幸运,但我跟别人讲这个故事,十有八九大家都会说:“所以你未婚妻最后把戒指还你了?”
通常这类故事的结局就是订婚戒指被退回了。我当时完全没意识到,有些 “柳条” 撑一撑没事,有些撑过头就真的断了。回到你的问题:如果一个人全力只追求事业,最快的方法是什么?
我的建议是,首先,想清楚你是不是真的想要那个东西。别成了“追到车的狗”,抓到了目标却后悔。第二,就是你要想好,能不能承受其他东西因此破坏。因为如果你真的拼命去追那个目标,代价往往是其他方面会出问题。
回头看,那段时间如果让我再选一次,其实三十岁到三十八岁之间升到 E7,和三十八岁升到 E7,差别并不大。
因为三十八岁以后,我还有三十年的职业生涯。那我到底为什么要着急在三十岁前就 “到顶” 呢?其实更重要的是,我能不能把跟伴侣、跟孩子的关系处理好。这些才是当年应该想清楚的事。
主持人:是啊,其实这种建议回头看都很有道理,但你觉得如果现在的你能跟二十六七岁那个正在拼命的 Philip 对话,你会听进去吗?我觉得很多全身心投入工作的人其实是很难听进去的。
Philip Su:说实话,我觉得我当时是不会听进去的。因为这样,每个人都被告知 “钱买不到幸福”,对吧?
比如有人有三百万美元跟你说 “相信我,钱买不到幸福”。如果你本来就是不开心的人,哪怕十年后有了钱,你也只是个能花钱的不开心的人。可没人会相信,每个人都觉得自己会是那个例外。
大家都觉得 “等我有钱了我肯定会开心”,都觉得这条定律不会发生在自己身上。所以我完全同意你的说法,给建议的时候很有成就感,好像能救别人于水火。
但现实是,90%的时候,只有你真的准备好接受建议时,这些建议才有用。我那会儿还没成熟到能听进这些建议。所以我即便告诉了当时的自己,也不会有用。