阅读版 · RyanLPeterman

工程判断力书库

一本关于职场政治、领导力、能见度和职业成长的实战手册。

保留了 73 节:24 个核心章节和 49 个精选章节;从上一版的 106 节中省略了 33 节。

职业生涯的成长,靠的是有用的工作,也靠的是那些认可它、支持它、依赖它的人。这一版聚焦于如何应对职场政治、与经理和赞助人共事、让影响力被看见,以及跨团队领导。

七个主题部分把晋升决策、组织变动、艰难的对话、指导、授权,以及让职责范围和判断力变得清晰的故事联系在一起。综合性的访谈保留了相关段落,以及足以理解其中例子的背景。数学理论、编程练习、实现教程,以及无关的财务或生活方式内容均已省略。

讲述者的建议仍然标明出处,反映的是他们所记录的经历。时间戳链接会回到原始的讨论,自动生成的字幕可能有错误。请用这些例子来理解一种情形,而不要以为每家公司或每位经理的行为都一样。

部分

看懂权力与职场政治

读懂决策背后的激励,守住你的职责范围,并在面对政治压力时不放弃自己的判断。

第 01 节 · 访谈

伊森·埃文斯(Ethan Evans):亚马逊的企业政治、重组、晋升与筹码

前亚马逊副总裁伊森·埃文斯讲解造王国、重组、职责范围之争、解雇和晋升到底是如何运作的,以及如何运用影响力、时机和谨慎的措辞来得到你所需要的东西。

政治是一项技能:动机、叙事、筹码与关系(伊森的观点)

伊森·埃文斯是前亚马逊副总裁,他第二次来到瑞安的节目,主张企业政治是一套可以学习的技能,而不是可有可无的附加项。按伊森的说法,重组、晋升、职责范围之争和解雇,既受技术能力的影响,也同样受激励、故事和关系的塑造。他的建议是:读懂别人的动机;在一场艰难的对话之前准备好谨慎的措辞;建立筹码,让你的请求难以被拒绝;并把桌子对面的人当作一个活生生的人,而不是障碍。书中的例子是伊森自己在亚马逊以及与他辅导的客户的经历。数字、法律要点和关于其他公司的说法,是他的回忆或二手转述,并非经过核实的事实。

什么是“造王国”(empire building),为什么它在大公司里一直存在?

伊森·埃文斯

伊森把“造王国”定义为只关注原始的人头数,而不关注一个团队做了什么或产生了什么影响。他说,它之所以存在,是因为它受到奖励,而它受到奖励,是因为数人头是最容易做的事。影响力是主观的:一位领导可能觉得某个项目很难,另一位可能觉得很容易。没有人能反驳“一位经理有 42 个人,另一位有 17 个人”这个事实。

伊森补充说,有些公司把人头数的门槛写进了晋升标准。得到这样一个目标的高绩效者会想办法达成,包括声称自己需要人手,或接管其他团队,并且会对自己把这一切合理化。

经理能否依据影响力,而不是依据有多少层下属来晋升?
伊森·埃文斯

伊森说,这是可能的,但需要付出更多努力,因为经理的影响力是模糊的。领导必须判断什么最重要:运营表现、交付的功能,还是这些功能是否赚钱。他举了一个例子:一个产品直接创造收入,另一个是维持系统运转的基础设施。要比较这两者很难。

价值判断也比人头数更难辩护。告诉某人,他的同级更有影响力,往往会让对方生气,除非他恰好同意。伊森说,这就是为什么评估影响力是危险的,也做得比应该做的少。

在亚马逊,高级经理、总监和副总裁有没有书面的人头数门槛?
伊森·埃文斯

伊森说,他在职期间,没有任何门槛被写下来。它们是以悄悄流传的数字存在的。他离开之后,他在亚马逊辅导过的人告诉他,在一些组织里,总监的数字已经变成 90 了。伊森早年当总监时,手下有 22 个人。到他职业生涯的末期,他感觉公司想要的是大约 75 或 80 个人。

伊森指出一个讽刺之处:亚马逊的一条领导力准则说,增加人头没有奖金,然而一旦写下了一个数字,达到它就会带来薪酬上的回报,他形容那是每年几十万美元。他听说有的老板把人安插到某位领导名下待上六个月,让他越过门槛,然后再把人调回去。伊森称这简直是疯了。

晋升之后,这位领导必须一直保留这些下属吗?
伊森·埃文斯

伊森说,并非严格如此。在亚马逊,如果领导能讲出一个团队将如何重新壮大的故事,有六到九个月的宽限期。他不知道有哪家公司会系统性地降级。相反,如果一位领导的团队已经不到总监的规模,会被告知去找一个总监级别的职位,老板可以在同一个组织里安排,或者把这个人调走。伊森在亚马逊和其他地方都见过这样调整人头的做法。

重组往往带有第二个未说出口的动机吗,比如让某个人得到晋升?

伊森·埃文斯

伊森说,总是有别的事情在背后进行。领导们知道,重组太多会让他们失去人才,所以会尽可能拖着。等他们终于行动时,会问怎样才能把想要的全部拿到:怎样少给一个他们希望离开的人一些,给一位高绩效者铺路,并留住关键人物。他说,一旦业务理由敲定,问题就变成:在船离开码头之前,还能往上面再装些什么。他指出,经常有人来找他,说老板告诉他们,他们被安排到一位同级名下,是为了让那位同级有足够的职责范围去争取晋升。

伊森说,因为一次重组通常规模大到会有人来审查,所以领导必须构建一套叙事:这次重组奖励了值得奖励的人,达成了业务目标,而任何痛苦都落在不是顶尖绩效者的人身上。他回忆自己做过的重组,大多是为了留住人才,问的是他必须留住谁、又能接受失去谁。他想不起来自己曾把某人放进一个岗位、却预期他们会辞职,但他记得自己用重组给一位有离职风险的人更有吸引力的东西。

通常是什么触发了重组?
伊森·埃文斯

伊森列举了两个主要的触发因素。第一是业务的变化,比如进入新市场、有一家被收购的公司要融合,或者一个新项目。第二是连锁反应:别人辞职或被调走了。他职业生涯中好几次遇到自己的老板离开,这时他可以升上去(如果被认为准备好了)、转到别人名下,或者由别人来补这个岗位。他说在亚马逊,他从没见过有人补缺;他总是被调到另一位领导名下。

当他的领导离开、而伊森当时负责 Prime Video 团队时,他从一位工程副总裁名下,被调到了一位业务领导名下。那位领导一开始就说他不想管工程。伊森担心最坏的情况,但他说这位领导后来成了他最好的经理之一,他们合作得很愉快。他补充说,给一位非技术领导当“小白鼠”可能会让人泄气,而且他很确定自己有时被安排到某些人名下,是为了让他们得到历练。

对经理来说,向不同的人推销重组的不同部分,这种隐藏的棋局能避免吗?
伊森·埃文斯

伊森说,经理可以完全依据业务目标来重组、不考虑人,从而绕开这个问题。他预计这会让经理失去人,因为有些员工比别人更有野心或更苛刻。领导清楚每一位利益相关者想听什么,以及方案的哪些部分可以向谁推销。

重组和晋升中,是不是“会哭的孩子有奶吃”?

伊森·埃文斯

伊森说,这句老话有道理,而人们不喜欢这个残酷的事实。如果两个人表现大致相当,其中一人明确表示在考虑离开,经理可能会推断那位忠诚的人会再等六个月。于是经理用这六个月去挽留另一个人。伊森说,这并不是为了伤害那个安静的员工,但那个人可能仅仅因为“人好”而落后。

他经常对辅导的客户说,他们人太好了,而在这种语境下,这不是一句夸奖。伊森并不是说人们需要变成混蛋。强势的人在一定限度内会得到更多,超过之后就会招人反感,得到的反而更少。他补充说,在重组中,领导可能会先照顾强势的人,因为这样能让整个团队保持完整,同时假设安静的人会没事。

面对一位明显为了晋升而造王国的经理,领导应该怎么回应?
伊森·埃文斯

伊森说,领导首先应该有一段互相信任的关系,然后私下坦诚地谈。他会说,他理解这位经理在造王国、在试图达成一个目标,但这个具体的请求太过分了。然后他会尝试把这场讨论变成解决问题:他们怎样才能通过一条站得住脚的路径达成目标?

伊森更喜欢这样,而不是一口回绝,那样会让这位经理受挫,并引发争吵。他承认自己并不总是成功,因为有些人想要的东西马上就要,毫无耐心。

伊森是怎样告诉自己的经理,他期望得到晋升的?
伊森·埃文斯

伊森当时是一位高级经理,手下有 22 个人,想在亚马逊升为总监。他对自己的经理尼尔(Neil)说,他的职业发展对他非常重要,他需要了解这对亚马逊有多重要,因为如果对亚马逊的重要性不及对他自己,他就需要考虑一下。伊森说,没有人能反驳“我的职业发展对我很重要”这样的陈述,而最后一句话暗示了他有其他选择,又不构成直接的威胁。他得到了晋升。

伊森的总体观点是,有一个中间地带,既能说清你想要什么、并且你会考虑其他选择,又不至于成为带威胁的混蛋。他补充说,合适的措辞取决于职场。亚马逊是个手肘尖利、竞争激烈的地方,所以这句话在那里并不冒犯,而在其他一些地方就会。他说,答案的一部分,是找到一个让你在人群里显得像个甜美的人的地方。

有没有哪位要求很高的高绩效者,让伊森恼火到拒绝他们?

伊森·埃文斯

伊森给出了两个回答。第一,如果一个要求很高的人已经成了净负资产,一口回绝通常会让他们辞职,哪怕是去一份更差的工作,因为他们被驱使着一定要得到想要的东西。这里有一个权衡:哪种回答能产生领导所需的结果。

第二,伊森更愿意做交易。他会告诉一位高绩效者,如果他们在他需要的事情上交出出色的成果,他会帮他们得到他们想要的。他说自己总是兑现承诺,只有一次职业生涯早期的例外,大约二十年过去了,他仍然为此后悔。

你能举一个你做过的交易的例子吗?
伊森·埃文斯

伊森的副总裁在他当总监时对他说,他的团队太贵了,他应该开设一个低成本的离岸开发中心。老板没有说哪个国家,所以整个问题都落到了伊森头上,而他并不想满世界跑去组建团队。

伊森去找了一位他认识的高级经理,这位经理想升任总监,是一位生活在美国的印度人。他问这位经理愿不愿意搬到印度去创办一个中心,并说这个中心可以成为晋升为总监的平台。这位经理去了三年,伊森随后用他独立完成的工作,写了一份展示总监级成就的材料,他得到了晋升。伊森强调,这个交易是在多年前就达成的,多年之后才见到回报。

如果情况发生变化,你再也无法兑现这样的交易,怎么办?
伊森·埃文斯

伊森说,如果他被重组或被解雇了,他会告诉对方,他已不再有能力兑现,不过会尽可能地支持他们。他想不起来有哪个案例是以这种方式失败的。他认为大多数领导是专业人士,能分辨“没做到”和“做不到”的区别。

经理们会不会保留一个“下一个轮到谁晋升”的队列?

伊森·埃文斯

伊森说,确实有一个队列,大公司往往对此有政策。在亚马逊,人力资源部按半年跟踪一份前瞻性的晋升名单,名字预计在六个月、十二个月、十八个月,有时是二十四个月之后。大家对轮到谁了有一种感觉,不过他说在他任职期间并没有严格的名额。

他说,他在谷歌辅导过的某个人,描述过一种严格的名额,比如在某个半年里,一个组织里有两个人从 L8 升到 L9。伊森指出,这是二手的转述。在他看来,名额主要出现在罕见而昂贵的高级别上,那里一个职位,比如资深工程师、首席工程师或杰出工程师,一年可能要花费约一百万美元。职业早期的级别通常没有名额。

当组织里有人试图从同事手里夺取职责范围时,领导应该怎么处理?

伊森·埃文斯

伊森说,随着增长放缓,这种情况变得越来越常见。当一家公司快速增长时,就像亚马逊在他任职的大部分时间那样,招新人比争夺现有的人容易。在人头数不变的公司里,他描述了更多的“同类相食”。他的回答是,领导不能让团队成员扮演一个夺取别人船只的海盗,因为这会让领导显得毫无头绪、不再掌控全局。领导必须为这个人找到出路、说服他们等待,或者,如果他们变得有毒,就让他们成为离开的那个。

伊森指出,赤裸裸的自私会被“被抓到”的风险所约束。他给想要更多的人的建议是,提前告诉自己的经理,你有兴趣,并且如果出现空缺,你准备好站出来,而且你打算留下来。重组会带来震动,而经理们担心把某个人放进岗位后,他又离开。伊森说,一个表示自己会留下的人,会成为最可靠的人选,不一定是最优秀的人选。

这是不是比说“把那个团队给我”更好的争取职责的方式?
伊森·埃文斯

伊森表示同意。他说,有一种礼貌的虚构,同时也可能是真的:这个人希望对组织最好,并明白向上走的最佳路径是对领导有价值。对经理说,无论重组带来什么,这个人都会在那里支持他们,听起来无私,尽管背后的信息可能是这个人想要更多职责,并且会接受任何可得的东西。一种听起来像海盗船,另一种像仆人,但两者表达的是同一个意思。

这难道不是有点算计吗?
伊森·埃文斯

伊森说,它可以是算计,但不一定是。一个人可以诚实地告诉经理,他们想成长,并愿意做成长所需要的一切,这既可以是诚实的,也可以是有策略的。

你自己也是这样争取职责范围的吗?
伊森·埃文斯

伊森描述了自己向着副总裁努力的经历:当时的领导手下没有其他工程经理,所以不断把工程方面的工作交给他。伊森与那位老板建立了信任,得到了所有的东西,最终大约掌管八个不同的职能和 200 个人。其中包括二手视频游戏逆向物流的技术工作、游戏下载、亚马逊 Appstore 的起步,以及一项批量销售办公用品的企业对企业业务。伊森说,他并不特别想去给视频游戏分级或者运送成托盘的纸,但对所有事情都说“好”是双赢。瑞安指出,这与离岸中心的故事相似:老板手里有他不想做的活,就交给了一位高绩效者。

获得晋升最简单的规则是什么?
伊森·埃文斯

伊森转述了一位前亚马逊高级副总裁(现在在沃尔玛)的建议:获得晋升最简单的办法,就是为你的老板解决问题。一位重视你的老板不想失去你,而大多数人只是在打卡上班。伊森说,即使是一位自私的老板,也会想留住帮助自己的人。

那些通过发现一个没人要求他们解决的问题,来创造职责范围的工程师呢?

伊森·埃文斯

伊森说,这也可以,并且他两条路都推荐:问你的经理你怎样才能帮上忙,同时也想想你自己能做点什么。他举的例子是定制印花 T 恤,他说亚马逊现在这项业务一年的销售额超过十亿美元。伊森帮助启动了这项业务,并从他的 Appstore 组织里出钱组建了第一支团队。他的老板问,T 恤印刷与 Appstore 有什么关系。

伊森告诉老板,他在那里看到了一个大生意,需要从 800 人里抽出 10 个人。伊森说,如果他不能把大约百分之一的资源花在自己相信的事情上,那就是微观管理。老板不同意,但还是答应了。伊森说,他的 800 人里大约有 790 人在做他的经理想要的事,10 人做他自己的押注;而一位运行副业项目的领导,必须迅速砍掉失败的项目,并保持较高的命中率。他的总结是,通往顶端有多条路径,他都试过:做乐于助人的人,也做发明家。

重组是如何被用来把某些领导劝退的?

伊森·埃文斯

伊森说,实际操作中,领导会把这个人放到他们不想做的事情上,并声称这是唯一的空位。他讲到亚马逊早期的一个小组,领导们分别负责 Prime Video、Prime Music、Kindle 和一条内容摄入管线。有一位领导被分到了数据库维护、质量保证和几项零碎的事,他开玩笑说自己的小组叫“其他”(Other)。那位副总裁反对称之为“垃圾桶”,但伊森相信这位副总裁预期那位领导会离开。据说,这位冷静而有团队精神的领导,二十年后仍在亚马逊。

伊森的观点是,给一个强势、野心过大的人安排“其他”这个座位,几周之内就能制造出一个空缺。他自己倾向于直接解雇人,但他称这种“坏座位”的招数是经典的,并非亚马逊独有。据伊森理解,在日本文化里(他说自己不是专家),靠窗的座位意味着被放逐出行动的中心,与美国人看待转角办公室的方式正相反。

一位副总裁能不能建立一个奖励那些耐心等待轮到自己的好人的组织?
伊森·埃文斯

伊森说,在某种程度上可以,但他指出,他所描述的那个庞大的组织本身就是一个他主动加入的垃圾桶,接下了所有剩余的工作。他看到只奖励好人有两个问题。有些好人并不想要更多,而有野心的人往往会更加高调。高调的人也不会因为他奖励“好”就变得安静;他们会去找一个立刻奖励自己的地方。他说,也许更好的领导能建立那样的文化,但他认为它不符合人性。

他通常的回应,是告诉那些“好人”客户,那么好对他们没有帮助。他们不需要变成混蛋。他们可以说,他们的职业发展对他们非常重要。他观察到,这对来自集体主义的非美国文化的人来说很难,他举了来自亚洲一些地方的女性为例,她们被期望在家里把家庭放在首位,却要在工作中发声。他传达的信息是,要求自己想要的东西是可以的,而且即使是好经理,也不干猜心思的活。每三天就来敲一次门的那个人,才是愿望清晰的人。

工程师对一位能力不足的经理该怎么办:可以去找这位经理的老板吗?

伊森·埃文斯

伊森说,这类升级上报总是找到他,而员工低估了隔级老板的想法。一位老板听到关于下属某个弱点的反映,面临两个选项。一是认定抱怨的人过于敏感、很难伺候,那么问题就在抱怨的人身上,老板可以把它甩回给那位经理。另一个是同意,而这会带来三个问题:决定怎么处理这位经理、招聘并培训一位接替者,以及在此期间代做这位经理的工作。他说,即使是下意识的,老板也有很多理由不轻易相信。

所以他的建议是,永远不要单独兵变。如果员工真的想要行动,他们应该带上两三位同事,或者依次去找。他描述了一位对团队里的女性很糟糕的领导。单独一位下属大概会被忽视,但当伊森询问了几位女性、她们都证实了此事,他意识到自己一直对一个问题视而不见,于是采取了行动。

工程师是不是应该先建立同盟,而不是直接去找隔级老板?
伊森·埃文斯

是的,伊森说。先和同事谈,是一种理智检验:如果他们与这位经理相处得很好,工程师也许能学到一些关于适应风格的东西。如果他们有同样的经历,下一道关卡就是他们是否愿意发声,而很多人不愿意。伊森建议工程师主动带头,作为带头人,告诉隔级老板,有三位点名的同事可以印证这件事。大多数经理,虽然不是全部,都会同意跟他们谈。

如果工程师只是说这次调动会对组织更有成效,而避免批评这位经理,会怎么样?
伊森·埃文斯

伊森给出了两种办法。第一,如果工程师能提出一个可信的理由,说明他们在别处会同样有价值或更有价值,那么根本不需要提到经理。第二,要想到好几步之后,并保持不指责任何一方:说与现任领导的契合度不行,问题可能出在任何一方,需要一个改变。

他在亚马逊用过一次。他的老板想让他留在一个他做得很好的岗位上,而伊森想在同一个组织里换一个新岗位。他解释说,真正的选择不是留下还是调走,而是在这位老板的组织内调动,还是调去别处。经过几周的抵制,第二天早上他就到了新岗位。

你是怎么措辞,才不让老板觉得被逼迫的?
伊森·埃文斯

伊森说,他是从老板会怎么做的角度来表达的。他当时从另一个组织的一位高级副总裁那里拿到了一份工作邀请,他对自己的副总裁说,一旦他对那位高管作出了承诺,他就必须去,因为换作那位老板处在他的位置,也会这样做。伊森说他想要另一份工作,已经被拒绝了好几次,并问老板希望他怎么做。老板明白,他绝不会对一位高级副总裁食言,所以明白了选择就是留下伊森,或者失去他。伊森没有以威胁的方式说出来。他说,他很小心,只说一旦自己作出承诺,就无法回头了。

人们怎样才能为这类对话找到谨慎的措辞,比如伊森描述过的那些礼貌的虚构?

伊森·埃文斯

伊森说,他不确定怎么教这个,但一个常见的错误,是进入房间之前没有想好措辞。这类对话大多不是临时起意的:它们在日程上,像绩效评估一样,或者是已知会发生的。他建议提前准备好一句关键的话,这样就能真诚地说出来。在他的例子里,没有一句是谎言,但他说话时很温和。他说,表达方式与内容同样重要:同样的话,语气生硬会引发敌意的反应,语气温暖则不会。

对那些说自己讨厌政治的工程师,伊森回答说,这不过是人与人之间的互动,伴随着别人的情绪、防御和压力,他们应该学会擅长它。

这种技能能被反向拆解吗?
伊森·埃文斯

伊森说,它适用于任何谈判或交易。他把自己的方法称为“人际上温暖,专业上坚定”:友好、微笑、不躁动,但清楚自己真正想要什么,没有怒气,也没有“你对我”的腔调。一个关键的说法是请求帮助,因为人们喜欢把自己看作乐于助人的人,而问“你能怎样帮我”,与问“你会为我做什么”是不同的。

他说,这种态度来自阿宾格学院(Arbinger Institute)的《领导力与自我欺骗》。按伊森的理解,它的教训是把对方看作一个在尽力而为的人,而不是障碍。这样他就可以说出自己需要什么,问对方需要什么,并提出帮忙。

当你需要另一个团队去做某件事时,这怎么适用?
伊森·埃文斯

伊森说,工程师常常把其他团队当作物件,像对待 API 一样:调用对了,就得到正确的结果。他建议改为承认对方团队的路线图很满,并问怎样帮他们腾出时间,或者怎样自己动手做这项改动。一旦人们觉得被关心,通常也会以同样的方式回应。

他补充说,没有什么方法每次都管用。最近他与一位大学室友就一个有争议的政治话题辩论,他最好的技巧也没能说服对方,不过两人分手时仍然友好。有时,对方的动机就是无法与你的对齐。

有没有一套简单的规则,还是最终取决于判断力?
伊森·埃文斯

瑞安认为,统一的思路是想象对方的感受。伊森打了个国际象棋的比方,并说明自己不是专家。好的棋手熟悉棋盘,也背过开局的走法。他说,在对话中,一个人可以准备开局的走法:第一次怎么提、什么时候提。他不会在周五经理匆匆要走、刚刚出过严重问题几分钟之后,去谈职业发展的话题。开局之后,适用一般的原则,比如朝着共同点靠拢,就像棋手向中心靠拢一样。

他补充说,职业生涯早期他脾气很大,被解雇过两次,还因为情绪不稳定、爱批评人而被列入裁员名单。他说,把脾气收起来带来了很大的差别,因为人们对愤怒或批评反应很差,即使说话的人是对的。

当一位经理或同事是影响力高手时,这是积极的信号还是警告?

伊森·埃文斯

伊森说,两者都是。他认为影响力和政治用的是同一套技能,区别在于动机。他教授高管气场(executive presence),并指出达斯·维达(Darth Vader)就有很多。当他遇到一位老练的操盘手时,他会问对方站在哪一边。有三种情况:动机良好的人,容易合作;完全只为自己的人,他把他们比作西斯(Sith);以及动机还可以谈得拢的中间群体。对第三类人,他可以做交易:他们不是利他的,但他们想要某样他能帮上忙的东西,两人可以一起交付某样东西或赚取某些收益,而不必成为朋友。

你还会与一位一旦对自己有利、就会立刻抛弃你的极端高绩效者结盟吗?
伊森·埃文斯

伊森说,如果能分开他会分开,但在工作中,人们往往无法选择自己需要哪些团队。有时一个团队由一个糟糕或自私自利的人领导。他建议尽可能减少接触,同时也要学会与那些极不道德的人共事,只要不触犯法律。

他列出的保护措施之一是带上盟友。圆滑的人喜欢在暗处行事,通常承受不起所有人都知道他们不道德的后果,因为那会被人排斥。所以他建议构造一种局面,让他们顺从比对抗更容易,比如有很多目击者在场的情况。他很抱歉这让工程师们沮丧,但他说,人类一直以来对彼此都很刻薄,工程师将不得不应对。

所以防止被背后捅刀的最好保护,是让你变得攻击起来代价太高的软实力?
伊森·埃文斯

伊森表示同意,并把它比作豪猪:许多动物都可以吃掉一只豪猪,但满嘴的刺不值得。他补充说,圆滑的人并不是一觉醒来就认为自己是恶棍。他们的自我叙事是:自己务实,而别人优柔寡断。他建议帮助他们完善这套叙事,告诉他们务实的做法是帮你,因为你是一颗正在上升的新星,会记得这份情。他说,关键在于,他所说的那些不道德的人,给自己讲了一个自己不是反派的故事,所以理解这个故事,就提供了一条把他们引向别处的路。

其他组织有没有试图从伊森的组织手里夺取职责范围?领导该如何防御?

伊森·埃文斯

伊森说,这种事他一直在见。据他的描述,试图夺取职责范围的人很少把自己看作掠夺者。他们很了解自己的使命,所以清楚地看到你的职责范围怎样对他们有帮助,却不了解你的使命,于是可以想象你的组织不重要。他引用了一位聪明的工程领导的话:两个工程团队之间的尊重,与它们之间的距离成反比。他举了亚马逊 S3 的例子,它存储着数百万亿个对象,有时却被轻视为一个大硬盘;越靠近,你看到的复杂性就越多。他说,很少有人打算作恶;他们想要某样东西,然后构建一条逻辑,来说明为什么这是好事。

他列出了防御的策略。“臭鼬招数”是让自己变得没有吸引力:列出你维护的那些不光鲜的事情,而对方团队并不知道,并让客户解释它们有多重要。另一招是带刺,让攻击者去找更软的目标,不过他警告说,做出损害自己信誉的行为,会让你更容易成为目标。第三招是在有力地说明自己工作价值的同时,揭露对方的动机,这在业绩出色的基础上更容易做到。第四招是拖延:重组要花掉大约六个月的生产力,所以一个正在达成目标的团队可以争辩说,现在不是时候。伊森说,共同的线索是叙事,因为人们先得出情绪化的结论,然后再合理化,所以更会讲故事的人获胜。

如果一位强势的经理认为应该吞并另一个组织,进攻方有哪些策略?
伊森·埃文斯

伊森开玩笑说,瑞安说要透明可不是说着玩的。他说,最好的进攻,是讲一个真实的故事,说明合并会如何创造更多价值,比如把发布频率翻倍,或者把收入翻倍,以及怎么做到。稍弱一些的论据,是关于资历、效率、节省成本、简化,或者让决策者的直接下属更少。伊森说,这些二阶的论据并非不真实,但它们让领导的日子更好过,而不是让业务增长。

第三种策略,他希望没人用,但知道有人在用,就是突出另一个组织的缺陷。如果这些问题是真的,他更愿意去找负责人或共同的老板,问有没有什么他可以帮忙的。他称这是他接管的开局招数。等他帮忙之后、情况有所改善,他可以不经意地提一句:现在我看到了其中的效率,我们可以整合一下。

对于另一个组织里一位人缘很好、却给自己的组织带来大麻烦的人,领导能做什么?

伊森·埃文斯

伊森说,他的一位经理曾经安排了一个他称为“肉盾”的人,其工作是在一个项目完成之前,让那位难缠的人远离团队的其他人。这位经理坦白说这是个糟糕的角色,并承诺日后补偿。伊森说,如果你想改变局面,最重要的一步,是理解这个人在他自己的组织里为什么受重视。他们的领导大概在想:这个人手肘尖,但能办成很多事,而别人都太软。

然后他描述了两种谈法。一种是说:我们想要这份价值,但不想要这份痛苦,并请对方给一个更好的办法。另一种是说,这个人在虐待团队,要么改变对接方式,要么合作就停止。伊森私下的版本是用拖延和流程来报复。他对外的版本则是礼貌的:这位同事是被重视的,但团队很吃力,伊森提出一个新的联系人,否则两个团队就要保持距离,这会产生摩擦,耗费两位领导的时间。他指出自己有人准备离开,并问另一位领导换作他会怎么做。伊森说,这是同一个信息,没有威胁,而那个级别的领导,不用听见就能感觉到未说出口的大棒。他把它比作对冰球场上一个粗野的对手说:我也有手肘。

工程师为什么需要一位能为组织挺身而出的经理?如果经理不愿意,工程师能做什么?

伊森·埃文斯

伊森说,经理不需要刻薄才能坚定,但需要有技巧。很多人只有把自己逼到生气之后,才能传达艰难的信息。他试着坚持自己的信念,而不把愤怒当燃料,同时承认朋友会告诉他什么时候他表现得像个混蛋。他重复了一个形象的说法:经理要么是一把伞,要么是一个漏斗,而漏斗会把压力传给团队。一位唯唯诺诺的经理,要在向自己的老板顶回去(感觉很危险)和向工程师施压(后者级别更低)之间做选择。

伊森说,工程师必须改变安全感的平衡:要么帮助经理觉得向自己的老板顶回去是安全的,要么让“要求第四个周末加班”变得不安全。瑞安觉得第一个选项听起来几乎不可能。伊森回答说,第二个选项恰恰就是经理长出脊梁骨的方式。他给了一个关于周末加班的示例话术:指出这个规律,给出数据,说家庭很重要,工程师不能再继续周末加班,并问下次该怎样规划顶回去,这样经理就不会陷入承诺了一件不会发生的工作的境地。

这样的话会让人觉得有威胁吗?该在什么时候提?
伊森·埃文斯

伊森同意这段话没有他其他的措辞那么圆润,他说五分钟就能改进。他的主要修正是时机。错误的时机是请求正在手头处理的时候。更好的时机是周二或周三,周末之后,下一次危机之前。工程师还必须让对方清楚自己容忍的极限,而这只有在工程师能接受听到“不喜欢你就走人”时才管用。伊森说,他当时找经理谈职业发展时,也在找外面的工作,并且已准备好离开。

如果这位工程师很容易被替换、没有多少筹码,怎么办?
伊森·埃文斯

伊森说,筹码是必需的,但好的工程师是有价值的,而不停地消耗人的团队并不高效。如果一家公司的态度是“招进来,榨干,再换掉”,他说这个人大概在错误的地方。他认为人们会被困住,以为不存在更好的选择,不过他并没有贬低艰难的求职,也没有轻视在 AI 时代入门级岗位的困难。

他的建议是不要当受害者。他提到乔科·威林克(Jocko Willink)的《极限责任》(Extreme Ownership)是一种思路。一个人可以在完成一个培训项目、或寻找另一份工作的同时,熬过一位糟糕的经理,而伊森相信,要想日后少工作,人们往往得先多工作。他以一个形象作结:足够长的杠杆只需要很小的力,所以筹码强的人,暗示时可以客气、温和。

什么是“私下沟通”(backchanneling),它什么时候有用?

伊森·埃文斯

伊森区分了好的私下沟通与操纵性的私下沟通。操纵性的私下沟通,是做一些你不会公开说的事,比如破坏一项提案,或者给另一位领导抹黑。他说那通常没必要,他想说永远没必要。积极的私下沟通,是给人们一个机会,不必公开地提问和分享顾虑。比如,一位担心预算的财务人员,可以私下问,而不是在会上问。

伊森说,它起作用,不仅因为交换了信息,还因为对方觉得被理解、被征求意见、被倾听,而这种情感上的认同会建立信任。他解释说,当一位高管在两份相似的提案之间做选择时,他们会问:我能依靠谁,这个决定会让我看起来怎样,冲突将如何解决?一位征求过他们意见的领导,即使另一份提案的回报稍高,也可能获胜。伊森将此与幕后交易(比如回扣)对比,他把后者描述为一方提议去做错事,因为双方都受益。他说,有些人会接受,因为他们对自己说,这是他们应得的,而如果你能了解他们的故事,就有更大的机会把它引向别处。

影响力能不能来自“下属层层累计的人数”之外的地方?

伊森·埃文斯

伊森说,他见过软实力来自想法。亚马逊做了一个名为 Cloud Drive 的存储产品,他把它比作 Dropbox 或 Box,这个提案来自一位刚毕业的工程师。这位工程师赢得了一张工程大会的邀请,给杰夫·贝佐斯(Jeff Bezos)发邮件,请他去看海报,并介绍了这个想法。贝佐斯喜欢,就给这位工程师的三级以上的经理发了邮件,那是一位副总裁,也是伊森自己的老板。那位副总裁不喜欢这个想法,但贝佐斯说过要研究一下,所以伊森为这个项目提供了资金,它也就建成了。伊森还提到一位资历稍高的同事,他在做了大量跑腿工作、建立人脉之后,帮助推出了亚马逊 Fire TV 的提案。

伊森说,共同的线索是一个故事:一个以易懂的短句讲述的愿景,没有人反对,比如拥有一个云存储系统,或者一个低成本的客厅设备。它通常始于真实的事实,带着热情讲述并反复讲述,并讲给有权力采取行动的人听。

除了绩效记录里写的,人们被解雇还有哪些最少被谈论的原因?

伊森·埃文斯

伊森说,关于什么时候、怎样可以解雇一个人,有法律规定,所以对外的说法几乎总是关于绩效。他说,未说出口的原因往往是风格不合:注重细节与着眼大局,或者技术优先与业务成果优先。一个小小的差异,可能变成一场争论,进而变成标签,比如“技术上一窍不通”或“只想着钱”。他说,一旦一个人被贴上标签,他们做的一切都会透过这个镜头去解读,人们就是在这里被解雇的,尽管总是被称为绩效问题。

他还描述了一个案例:一位新聘的、级别很高的高管,被几位女性包括一位人力资源代表举报性骚扰,随即被解雇。伊森解释了为什么这样的人可以在别处再次被聘用:公司没有法律证据,所以点名这个人有被起诉的风险,而前雇主通常只确认任职日期。伊森说,他后来看到这位高管把亚马逊的这份工作从简历上去掉了,而他不认为这是个例。

想解雇某人的经理,会被隔级老板推翻吗?
伊森·埃文斯

伊森说,他见过经理提出这个想法,而隔级老板提出把这个人调到别处。他会说,他知道这位员工在其他环境里表现不错,可以把他们从这位经理的视线里调走,而不会说这位员工在别处会很出色,那会暗示是经理的错。他说,这让人在社交上很容易同意,在他看来跟解雇一样有效。

伊森补充说,这有赖于隔级老板明白,问题可能是互不相容,经理和下属就像被装在一个袋子里的猫和狗。这不一定意味着经理很糟糕;而是意味着他们缺乏适应性。他说,有些人喜欢那些让他抓狂的经理,风格确实很重要。

组织是不是让人感觉,是靠胶带和措辞考究的话语拼在一起的?
伊森·埃文斯

伊森微笑着说,他也有这种感觉。他把它比作架构图:项目开始时,方框都很整齐,到上线时,有了特殊情况和被遗忘的事项。经理同样如此,起初想只凭绩效来管理、培养每一个人,然后现实带着日程、难缠的人、办公地点和休假出现,只要大体能运转,他们就心满意足了。他引用了军队里的说法“敌人也有一票”,以及迈克·泰森(Mike Tyson)的那句话:每个人在挨上一拳之前都有一套计划。

为什么解雇一位糟糕的经理,比解雇一位糟糕的工程师更难?伊森是怎么做的?

伊森·埃文斯

伊森说,他同意这更难,原因有三。第一,经理往往更有经验,所以他们的弱点很隐蔽。他解雇的第一个人是不再来上班了,这很容易。第二,经理的工作很难衡量:招聘、评审、交付的功能或 bug 数量都有局限,于是对话变成了“各说各话”的问题。第三,经理了解这套系统,能很快把自己放在难以被撤换的位置上。伊森仍然解雇了大量的经理。

他理想的办法,是他并不总能用的,即在社交层面提出事情可能行不通,并问这位经理是否希望获得帮助,去找一个更合适的地方。聪明的经理会听出老板不满意,并在为他们指一扇门,也许还给出时间去找工作,或者一笔遣散费。他避免使用“解雇”或“绩效”这样的词,因为据他理解,它们可能引发一个称为“推定解雇”(constructive termination)的法律问题。一位圆滑的经理会回答说,很遗憾老板不满意,并愿意接受改变,伊森把这解读为一场反向谈判的开始。另一条路是正式的绩效管理,有书面记录的期望和未达标之处。他说,几乎所有的经理在这个流程结束之前就辞职了,因为这个流程给了他们大约 90 天去找工作。

一个人在被解雇时有什么筹码?公司为什么要支付遣散费?
伊森·埃文斯

伊森说,这里有几个层面。第一,正式流程要花经理大量的时间:文件、书面材料和人力资源部的审查,而员工可以把事情拖长。第一个提议,就是帮经理省掉这些时间,换取一笔去找另一份工作的钱。第二是离职者将要讲的故事:是一段糟糕的经历,还是一次体面地离开并肯定经理。伊森的说法是,问经理希望哪一个故事被讲给同事们听。

他说,第三个层面是,经理想对自己感觉良好。他们可以花一点公司的钱,并告诉自己,虽然没成,但他们照顾了这个人。伊森还建议争取时间:如果一场艰难的绩效谈话在你状态不好的时候开始,就要求改到第二天早上。大多数经理会同意,而如果有人拒绝,人力资源部也许会同情员工。他补充说,你可能什么也得不到,但如果你不开口,那肯定什么也得不到。

一个人能从绩效改进计划中恢复过来吗?
伊森·埃文斯

伊森说,有客户在被放进计划之后给他写信,问怎样才能熬过去。他诚实地告诉他们,他们最有可能被解雇。他说,等到发出正式计划的时候,经理已经试过了其他一切办法,想让这个人悄悄离开。他说,经理讨厌解雇,会一拖再拖,而当他们终于行动时,是已经告诉自己别无选择了。人们往往几个月后回信说他是对的,不过他承认有例外。

大多数人能向一位已经对自己有负面看法的经理传达“遣散费”的信息吗?
伊森·埃文斯

瑞安怀疑他们做不到,尤其是“团队健康”那个版本,它更像是一种威胁。伊森同意,人际技能比工程师们愿意相信的更重要。他说,没有情商的智商是浪费,并指出一个讽刺之处:《优秀到不能被忽视》(So Good They Can't Ignore You)的作者卡尔·纽波特(Cal Newport)有足够的社交技能去普林斯顿教书和写书。伊森给了一个更温和的话术:这个消息很难说出口,他在团队里有很多朋友,他不希望他们觉得这是个不公平的地方,并请求帮助以便体面地离开。他说,艰难的信息不必冷冰冰地传达,因为可以争取时间来准备几句话。

许多人会卡在资深工程师或一线经理这个级别,怎样才能突破?

伊森·埃文斯

伊森说,这是他的老本行。人们被卡住,是因为他们一味把当前的技能做得更用力,而不是学习下一级别所需的技能。让人早期获得晋升的,是努力而有效的交付。后来他们需要放权、沟通,并放下硬技能,因为微观管理会赶走好的工程师。他推荐了马歇尔·戈德史密斯(Marshall Goldsmith)的《成功人士的 5 个坏习惯》(What Got You Here Won't Get You There)。

他实用的建议是,去和高一两级的人聊聊,问他们当年不得不放下什么、学到了什么,以及他们看到是什么在拖这个人的后腿。他更喜欢征求建议,而不是征求反馈,因为反馈是请别人批评,而建议则以更积极的方式邀请对方给出同样的信息。他看到很多人拼命地努力,却没有成效。

如果同一个团队里两个同样合格的人想争同一个晋升名额,其中一个怎样才能占得先机?
伊森·埃文斯

伊森说,差别在于关系和信任。一位资深领导没有时间去微观管理,需要把工作交出去,并相信它会被好好完成,不一定是按他们自己的做法完成。他说,信任更多是在糟糕的时候而不是顺利的时候赢得的,就像一起打过仗的士兵。在工作中,对应的是一场危机,比如宕机、丢了一个客户或者一场大的尴尬,有人以自己的付出为代价展示了奉献。领导会记得谁挺过来了。

第二个因素是领导喜不喜欢这个人。伊森说,如果两个人同样合格,领导会花更多时间在自己喜欢的那个人身上,这并不要求拍马屁,但确实会奖励讨人喜欢、乐于助人的人。他回忆说,他听亚马逊的领导层,他想是贝佐斯,讲过一个测试:当你走进一个房间时,你是把氧气吸走,还是人们希望你在那里?他的评判标准是:人们是否希望你在这个房间里。

伊森承认,工程师们可能不喜欢这样,并说他是在努力帮忙,而不是想让人喜欢。他不为这个世界的运作方式道歉,他希望人们知道这一点。

当你与需要的那些领导之间没有天然的合作关系时,你怎样为资深晋升材料争取到支持者?

伊森·埃文斯

伊森最喜欢的方法,要求经理站在你这一边。作为经理,他会给同级或隔级领导发邮件,说瑞安将在六个月后参加晋升,他们的团队与你们相邻,他会请他们提供反馈。这给了他们六个月的时间来观察,而且因为着眼于他们的时间,并不让人觉得是为自己谋利,六个月后,这位领导就不能说他几乎没怎么见过这个人。伊森说,他变得擅长让人晋升,这帮助他吸引和留住人才;有一个人错过了一轮,让他又多了六个月,晋升最终通过了。

如果经理不支持,次优的选择是由这个人自己去找那些领导,问怎样才能处于一个自然的位置,在六个月里给出反馈。伊森建议超额邀请,因为会有离职、重组和拒绝:如果你需要四位支持者,就请六七位。这个请求可以被表述为“提前、按规矩地做好”,而不是通常那种临时抱佛脚的请求。

一位忙碌的副总裁可能把这样的请求看作低优先级。你怎么提出来?
伊森·埃文斯

伊森同意这在他们的清单上排得靠后,但他说副总裁们自己的晋升也需要其他副总裁的支持,所以他们知道这是体系的一部分。要提高优先级,就找出与他们相关的某个点,回答“对他们有什么好处”,也许通过展示你的工作如何让他们的生活更轻松或更快捷。他说,这套体系之所以能运转,很大程度上是因为副总裁们明白,它是让一切顺畅流动的润滑剂,并且可以很快写出赞同的反馈。

对于一位支持你但很被动的经理,伊森建议去辅导这位经理,因为员工通常比经理更在乎自己的职业发展。折中的办法,是请经理发一份简短的介绍,请这位副总裁安排一次 15 分钟的会面。

工程师能在经理反对的情况下得到晋升吗?
伊森·埃文斯

伊森说,他从未见过有人在经理反对的情况下被晋升。一位大老板推翻经理的意见,会造成一团乱,因为这位经理将不得不与一位自己不支持的、更资深的人共事。他说,那些想象着即使经理不好也能被认可的工程师,是不会被认可的。他们必须争取到经理的支持,或者转到一位支持自己的经理手下。

他描述自己把“又快又公平地让人晋升”做成了一门专业,并说这成了他的招聘工具。他最好的员工从五级工程师起步,在八年的共事中经历了资深工程师、经理、高级经理和总监,直到他离开去创办一家公司。伊森说,他们互相成就了彼此的职业生涯,而这个例子也吸引了其他人。

一个鄙视政治的人,能做些什么来避开它?

伊森·埃文斯

伊森给出两个回答。第一,选一位同样鄙视政治的领导,最好有相似的技术背景,并且想奖励真正的工作。第二,在可得的最难的领域里工作,那里专业能力最重要,工程师也最突出。他回忆起当时担任 AWS 负责人的安迪·贾西(Andy Jassy)说过,有几位首席工程师在做最难的问题,被免除了审查架构和指导他人这样的常规职责,因为公司需要他们去解决那些问题。伊森指出,这样的工程师拥有完美的老板。

他补充说,一项独特而有价值的技能会带来例外。当其他人抱怨一位高级别员工的工作达不到亚马逊的水平时,贾西说他同意,但这个人处在公司需要的岗位上,并且他自己也清楚,所以公司会忍受。伊森的结论是,避开政治需要一项不可替代的技能和真正的筹码,这正是卡尔·纽波特《优秀到不能被忽视》的要点。

一家增长中的公司,政治会少一些吗?
伊森·埃文斯

伊森认为是的,并以邮局作为极端的例子:岗位就是送信或者当邮政局长,而在那个人离开之前,只有一位邮政局长。在一家增长的公司里,不是二十五个人争一个晋升,而是有许多空缺的机会。他说,他在亚马逊的 15 年里,员工数从 14,000 增长到 140 万,增长了一百倍。他的第一支团队有六个人,九年后他领导 800 人。他说,那样的增长打开的门,是每年 5% 或 10% 的增长打不开的,而他的建议是去找高增长。

对于如何应对企业政治,伊森会给年轻时的自己什么建议?

伊森·埃文斯

伊森希望能告诉早年的自己:正确和技术精湛是不够的,还有太多别的事情在发生。他说,他当时对此视而不见,或者把它当作“管理方面的杂事”而放在次要位置,但这些杂事控制着整个世界,即使对个人贡献者来说也是如此。他用一句话说,人们应当认真对待这一点:关系才是真正控制你进步的东西。

关于这份资料

亚马逊副总裁:企业政治如何运作,以及如何赢 | 伊森·埃文斯(Ethan Evans)

本节是对原始文字稿的转述。自动生成的字幕可能有错误。

观看原视频 ↗

开场的片段剪辑,以及重复了节目后面内容的预告(00:00.00 至 01:56.68),在概览和第一轮中只呈现一次。

已省略主持人的感谢、对伊森的课程和新闻简报的推荐(02:49:23 至 02:49:49)。

已省略主持人关于人体工学键盘项目、频道评论区,以及请求观众反馈的结束语(02:49:51 至 02:50:43)。

已省略全程的笑声、插科打诨和简短的对话应答。简短的题外话(比如伊森直接解雇自己的各级下属,01:30:11 至 01:30:48,以及 01:29:42 至 01:29:51 的“施虐”玩笑)已压缩或省略。

我的笔记在可使用本地存储时,笔记会保存在此浏览器中。
第 02 节 · 访谈

John White:晋升激励与选择团队文化

关于晋升激励、留任承诺、选择团队文化,以及向领导提出想法的精选段落。

在从内部工作过之后,John 对 Meta 和 MSL 还是看好吗?

John White

John 说,他对 Meta 这家公司非常看好,现在是以股东而不是员工的身份。对于作为一个几乎没有股权的员工,他就没那么看好了,他说这描述了大多数人,因为大多数员工的薪酬主要是现金。

他说,在 Meta 工作不如以前愉快,尽管从利润的角度看,公司运营得非常好。他继续投资这家公司,并预期会继续下去。他把在那里当员工,描述为比以前更有压力的一段时间。

现在当员工为什么更难了?
John White

John 说,工程师的劳动力市场,在整个硅谷都发生了转变。雇主曾经为了留住稀缺的工程师做出巨大的牺牲。他说,除了前沿实验室里少数的 AI 研究人员,大多数雇主现在把工程师看作供过于求,有些人还担心 AI 会让过剩更严重。

所以雇主在薪酬、福利和员工话语权上花得更少。John 说,这是一个普遍的模式,并非 Meta 独有,而且它让当员工整体上变得更艰难。

员工筹码的减弱,是否也会影响重组的决策?
John White

John 同意。早些时候,Meta 做了许多对业务不利、却对留住人才有意义的事,而现在公司这样做得少了。他说,对裁员的恐惧是大多数人最大的情绪压力来源,比食物之类的福利更甚。裁员之后,那些曾抱怨失去福利的人,对失去它们变得更宽容了。

他说,MSL 比其他一些前沿实验室更让人觉得有压力,因为那里似乎有可能裁员。字幕让他与 OpenAI 和 Anthropic 的对比很难理解,所以这里没有重述。

在 Meta,职业成长的承诺作为留任工具,有没有发生变化?

John White

John 说,Meta 的许多部门不再把薪酬、使命和享受工作作为留下的理由来谈。人们反而说,做任何事的唯一理由,是一个关于晋升的清晰故事。当他从数据基础设施转到 AI 基础设施时,他发现几乎没有人的首要目标不是晋升。

变现(Monetization)部门是最典型的例子。它从 AI 基础设施里招人,并附带详细的晋升计划。John 说,这对晋升有效,但搞垮了许多团队,包括好几个他后来管理、并不得不去修复的团队。那些团队里的人同意,这些工作不好,也不太可能成功,却为了达到他们的晋升门槛而把它交付了。

他说,这使得做出好的软件决策几乎不可能,并且最有助于职业发展的技能,变得与晋升脱钩。当市场转向不利于员工时,经理告诉人们,要更害怕裁员,而不是期待晋升。他不认为这是一种好的文化修复,不过他把它看作一种消除早先损害的尝试。

你有没有看到,即使人们看到了反常的行为,仍然继续玩这场晋升游戏?
John White

John 说,除非一位副总裁准备好修复这种文化并叫停,否则人们只能跟着玩。他说,不玩这个游戏是不理性的,因为一个人无法单方面解除武装。他说,这种文化在 AI 基础设施和变现部门占主导,对几乎所有人都不好,并让人们陷入令人沮丧的内卷。

面对这样的文化,人们能做什么?
John White

John 说,人们在选择自己团队的文化上,有很大的主动权。Meta 有许多没有“晋升优先”文化的团队,PyTorch 就是其中之一,那里的人是出于对手艺的热爱而工作。在系统之内,你仍然得遵守它的规则,但你并没有被迫留在那台机器里。并不是每个人都能达到那些团队的门槛,但很多人可以。

他选择了稳定的、会随时间变好并保持健康文化的团队,即使这意味着晋升更慢。他说,自己很矛盾。如果目标是终身收入,那么晋升快、解雇也快的团队,在经济上可能是理性的。对他来说,享受手艺更重要,而且他愿意接受大约 20% 的薪酬损失,去一个让自己更自豪的地方工作。

外界是否认为 PyTorch 的工程师被低估了级别?
John White

John 说,外界常常认为 PyTorch 的晋升门槛更高,这使得更容易让别人相信,PyTorch 的工程师已经为更高的级别做好了准备。在招聘的对话中,候选人有时会问 PyTorch 是不是被低估了级别。John 会说,也许是,或者说 PyTorch 的级别是对的,候选人得自己决定是否要冒险赌一把。他说,PyTorch 也培养出了变得出色的人。

你早期在 Facebook 做实验工具的那段时间怎么样,那时还没有晋升的压力?

John White

John 说,他在 Meta 的头两年是他最快乐的时光之一,但也是最可怕的时光之一。他曾申请了六个月的假期,去做 Julia 这门语言,他是核心贡献者之一。在他离开期间,招他进来的经理离职了,他加入的团队则拆分成核心数据科学和数据科学基础设施两部分。

他想加入核心数据科学,却与拥有实验工具的数据科学基础设施团队紧密合作。他说,那项工作是他作为个人贡献者做过的最有价值的事,而在 Meta 认识他的人,也因此记得他。核心数据科学当时动荡不安,有重组、新经理和人员更替。

几个月后,John 所隶属的一个偏研究的小组发表的一篇论文,成了 Meta 的一场重大公关问题。John 记得它大概叫《社交网络中的情绪传染》。他试图防止这个问题,但没有权限。作者后来在一次问答中向公司道歉。John 发现自己要出席与法务负责人的会议,他的团队面临被解散的可能。他称这是一段塑造他的经历,尽管余波逐渐消退。

此后几年里,他成了 Deltoid 的主要开发者之一,是它的第三代。当大多数资深工程师在大约六个月内离开时,他成了唯一还记得这个系统如何运作的人。在大约 IC5 的级别上,他成了事实上的技术负责人,并多年来推动 A/B 测试工具的愿景。他说,这是他在 Meta 做过的最有成就感的工作之一。

简单来说,Deltoid 是什么?
John White

John 确认,Deltoid 是一个 A/B 测试框架,用户被分配到某一条代码路径或另一条,团队则衡量下游的效果。他说,他所知道的 Statsig 产品,在界面和功能上看起来几乎与 Deltoid 完全一样。他说,自己本该在好几年前就做一家 Deltoid 式的创业公司,但当时缺乏智慧。他不确定 Statsig 目前的状况。

你有没有什么遗憾,是别人可以借鉴的?

John White

John 说,他有一个现成的回答,因为他经常被问到。最初的好几年里,他的隔级经理 Javi 开设了答疑时间。John 的经理 Danny 一直建议应该有人去。John 没有去,因为他觉得自己对 Javi 没什么有价值的话可说。

后来,当 John 为一个更大的组织开设答疑时间时,他希望有人来,并意识到 Javi 当时也有同样的感受。John 说,他错过了一个宝贵的机会,也让 Javi 的处境更难了。他称这是一个出于恐惧而做的、伤害了双方的决定。

他给初级工程师的建议是:当一位领导说他们想听听大家的声音时,就去。总监及以上的人离工作很远,John 说,他有时是由经理来管理经理。他说,带去一个具体的想法,而不是问怎样才能晋升。领导们欢迎这样做,而许多人害怕这样做,这让每个人的处境都更糟。

如果你能回到职业生涯的起点,给自己一些建议,你会说什么?

John White

John 说,他持有很强的观点,但可能比应该的更爱难为情。他的建议是相信更大的工作是可能的,而有了高度的自律,它就是可能的。他说,从高中到大学,他太经常怀疑自己能做什么。他称这是他犯过的最大的一类错误:不够有雄心,或者不相信一个问题是可以解决的。

他还说,人们过分地让自己相信别人很伟大,又让自己对自己能达成的事不够有信心。这种组合让他们承担的风险比本可以承担的少。他说,直到他与许多取得成功的人共事之后,才看到这些人往往并没有好太多。他们只是去尝试了,而别人没有。对于 20 岁时的自己,这就是他会给出的主要教训。

关于这份资料

Meta 超级智能实验室(MSL)工程总监:晋升“攻略”、行业变化与遗憾 | John White

本节是对原始文字稿的转述。自动生成的字幕可能有错误。

观看原视频 ↗

开场预告的片段(00:00.16 至 00:01.40,以及 00:11.84 至 00:39.96),预告了节目后面讲到的要点。

主持人关于其他 A/B 测试产品的题外话(21:01.16 至 21:14.96)已作为跑题省略。

Cursor 3 的产品推广(21:14.96 至 22:09.16)。Julia 的问题在同一个字幕块里,从 22:09.16 开始。

已省略结尾的感谢(42:40.96 至 42:45.12),以及键盘推广、频道请求和对评论的感谢(42:46.32 至 43:38.08)。

这一精选章节保留了来源中关于职场、领导力和职业的段落。技术性的和无关的讨论已省略。

我的笔记在可使用本地存储时,笔记会保存在此浏览器中。
第 03 节 · 访谈

Nimit Sohoni:协作、激励与组织文化

关于跨角色协作、晋升政治对比可衡量的绩效,以及组织内的群体迷思的精选段落。

量化研究员(quant)和软件工程师是怎样协作的?

Nimit Sohoni

Nimit 说,这取决于公司。在 Jane Street,被称为 quant 的人数很少,而交易员有技术背景,并自己实现很多工作。在 Citadel,Nimit 称其更偏重量化,量化研究员的人数可能与技术人员大致相当。量化研究员、软件工程师和交易员之间,角色有很多重叠。

在一些公司,量化研究员设计策略,交给工程师去实现。在另一些公司,同一个人可能两样都做,因为最能理解其原因和边界情况的人,恰恰是最能把它实现好的人。Nimit 写了很多代码,主要是 C++,还有一些 Python。

是什么让前 1% 的 AI 研究员和量化研究员与众不同?

Nimit Sohoni

Nimit 说,有几条路径。原始的技术能力、直觉和执行速度都很重要。玩转政治游戏也一样,它能帮助人们上升。量化领域更难钻空子,因为表现更容易衡量。一位为公司赚了很多钱的优秀 alpha 量化研究员,会得到明确的认可。

在 AI 领域,衡量标准更难解读。一篇开创性的论文,或真正的突破,比如一个好得多的模型,起的是同样的作用。Nimit 补充说,在两个领域里,天时地利都很重要。

比较各组织的冒险精神与群体迷思

Nimit Sohoni

Nimit 说,大实验室拥有雄厚的资源、算力和众多的研究员。硬币的另一面是,它们可能排斥跳出常规的想法,容易陷入群体迷思,也不太愿意冒险,因为失败的实验代价高昂。创业公司可以更灵活,有策略地探索,挑战正统观念。这正是吸引 Nimit 去 Cartesia 的原因。

关于这份资料

前 Citadel 量化研究员和 AI 研究员:入行、科技与金融职业的对比 | Nimit Sohoni

本节是对原始文字稿的转述。自动生成的字幕可能有错误。

观看原视频 ↗

开场的预告和节目预览(00:00.00 至 00:53.40),包括一段音乐间奏。

主持人的收尾,说明节目不接受赞助,请求评价和 YouTube 或 Spotify 上的互动,以及征集资深工程师嘉宾的建议,约 57:45.00 至 58:24.92。这个范围的起点是大致的。

这一精选章节保留了来源中关于职场、领导力和职业的段落。技术性的和无关的讨论已省略。

我的笔记在可使用本地存储时,笔记会保存在此浏览器中。
第 04 节 · 访谈

理解绩效改进计划背后的激励

伊森·埃文斯讲解,一项指标如何能迫使人们去进行被忽略的绩效对话,同时又让经理倾向于让人离开。

你怎么看强制排名、流失率目标和绩效改进计划?

伊森·埃文斯

埃文斯从自己的管理经历出发,描述了亚马逊的一套流失率目标体系:一份名单,上面是离开后不被视为遗憾的人,并有压力要通过改进、辞职或解雇,达到每年一定的比例。他引用的百分比因时期而异,是历史上的回忆,并不是经过核实的当前政策。

他说,当亚马逊试验性地取消这项目标后,经理们就不再与表现不佳的人进行艰难的对话了,于是这项目标又回来了。当一个人人缘很好时,经理可能避免采取行动,尤其是在大型组织里,眼前的代价对他们并不明显。这项目标迫使人们关注一个真实的问题。

另一面是扭曲。配额可能把一个本来仍有成功希望的人放进名单里。一旦经理在心里决定了某个人应该离开,确认偏误就可能让改进计划在心理上变得不现实。埃文斯认为,许多计划因此更像是一条通往离职的路,而不是一次开放心态的改进尝试。

他讲到自己辅导过大约六位处于亚马逊绩效改进计划中的人,结果都不成功,而没有接受他辅导的人,结果也类似。他现在敦促处在那种境地的人,要准备好找另一份工作,而不是指望局面逆转。这是基于他的案例的强烈警告,并不是一个经过衡量的普遍失败率。

即使是一位一开始怀着善意的经理,也可能面临来自人力资源和领导层的压力,要求算上一个离职的人,或者在第一个人有改进后,再点出另一个人。埃文斯更宏观的诊断是:公司往往没有培训经理去进行及早的、有用的绩效对话,然后又依赖一个扭曲的后期流程。

是什么阻止经理向人力资源部不公平地呈现一位员工?

伊森·埃文斯

埃文斯区分了“让一位员工离开”与“反复地把人逼走”。高离职率的模式,最终可能暴露一位经理,但单独一个案例可能依然难以质疑。经理通常地位更高,可以在员工意识到一场争议正在形成之前,就向人力资源部定下问题的基调。

他用代码评审来说明叙述的模糊性。同样大量的评审,可以被描述为改进了每个人的代码并培养了团队,也可以被描述为吹毛求疵地挑别人的毛病,却几乎没有贡献原创的实现。数量本身并不能决定哪种解释才是准确的。

他说,自己没有亲自利用这种权力去不公平地针对某个人,并指出留住能干的合作伙伴符合经理的目标。他担心的是,这种体制容易受到一位怀有报复心的经理的伤害,或者对“什么算有用的工作”存在真正不同的看法。人力资源部听到一句熟悉的“否认表现不佳”的说法,可能不容易分辨出一项正当的投诉。

他实用的结论是:尽可能修复关系,或者换一位经理,而不是假定人力资源部一定会拯救员工。这是他对权力不对等的描述,并不是对报复的认可,也不是说每个组织都缺乏制衡。

关于这份资料

亚马逊副总裁谈绩效改进计划与强制排名 | 伊森·埃文斯(Ethan Evans)

本节是对原始文字稿的转述。自动生成的字幕可能有错误。

观看原视频 ↗

我的笔记在可使用本地存储时,笔记会保存在此浏览器中。
第 05 节 · 访谈

驾驭权力,而不把它与能力混为一谈

伊森·埃文斯审视了功劳、职责范围、晋升、社交上的筹码、管理上的失败,以及把职业当作一场竞争游戏的道德边界。

当合作者争夺能见度时,你怎样获得应得的功劳?

伊森·埃文斯

埃文斯认为,认可在一定程度上取决于由谁来讲这个故事。及时传达一项真实的成就,点出合作者,并清楚地说明你自己的贡献。如果别人先宣布了,就补充一条有用的评论,说明你解决的具体问题,而不是指望沉默会被理解为谦逊的卓越。

他还观察到,后来的职业叙事,往往比眼前的功劳分配更少有争议。他自己用一句简略的话说,自己是后来变成 Prime Video 的那个产品上的早期工程师,这说明一项成就的公开描述,可以比所有相关人员的详细记忆存在得更久。他把这视为认可的一个实际特征,而不是证明同事的贡献就不再重要。

如果一位产品经理或工程经理包揽了所有向上汇报,怎么办?

首先请对方强调团队和具体的贡献。他们可能是把注意力放在新闻上,而不是故意不给认可。埃文斯曾经在亚马逊的第一次视频产品上线后,提醒过他的副总裁发一封祝贺的消息,那封消息很快就到了。

如果这样不行,就用有用的技术背景来补充这个公告。他把它比作体育解说:别人可以宣布发生了什么,而你来解释它是怎么发生的、意味着什么。一条后续的说明,可以描述扩展的准备程度、局限,或必要的未来投入,同时让工程方面的贡献被看见。

鼓励能见度,是否在奖励噪音而不是影响力?

伊森·埃文斯

他同意,一个人人都在说话却没有增加价值的组织是不健康的。他提出的应对是提高自己贡献的质量,而不是退出沟通。告诉领导层它需要知道的事,比如一次上线是否已经为增长做好准备,或者如果成功了,是否需要额外的投入。

埃文斯把他论点中最有力的部分,指向那些因为不喜欢自我推销而保持安静的人。他说,拒绝参与并不会创造出更公平的评估体系;它可能让有用的工作无人看见。这是一个关于“有用的能见度”的务实论证,而主持人对过度政治化行为的担忧,仍然是一个真实的局限。

你应该尽可能地高调、直言不讳吗?

伊森·埃文斯

不。埃文斯把“提出最有力的、站得住脚的主张”,与“变成一个虚假夸口的人”区分开来。他倾向于使用听众能记住的简单的成就表述,同时承认这种简化可能会惹恼偏好更精确说法的人。

他的例子,是称自己是 Prime Video 的第一位工程师,尽管他的工作开始于亚马逊的视频产品,当时还没有 Prime 这个名字。一位同事对这个命名提出了异议,而不是质疑埃文斯有没有做底层的工作。埃文斯对这条界线感到安心;这场讨论暴露的是一个有争议的判断:多大程度的简化是可以接受的,而不是一条“每一句美化的话都无害”的规则。

怎样在这片灰色地带里找到一个站得住脚的位置?

他说,软技能取决于情境和受众,所以非黑即白的思维往往是不够的。以受众能理解的方式解释一项成就,并且仍然能够为它提供支撑。多种描述都可以是真的:第一位工程师、第一位经理,或者聘用了打造这个产品的团队的人。

他用共同持有的专利来说明功劳的模糊性:正式的发明人名单,可能与每位参与者对“谁提出了这个想法”的认识不一致。文字稿里的专利总数前后有所出入,所以有用的要点是共有功劳的模糊性,而不是一个经过核实的确切数字。

为了最快的成长,一个人该朝最有力的主张走多远?

埃文斯建议多主张一些,直到这个主张变得难以辩护,或损害声誉。他的矛头指向长期的“主张不足”:人们期望有人检查他们所有的工作,并给出一个精确的、学术式评分的结果。他认为,职场评估反而在很大程度上,取决于关系、描述、能见度和记忆。

他的课堂类比刻意显得悲观:经理记得的是一个人,并估算他们的分数,而不是几个月后重新批改每一道答案。这是他对组织行为的描述,并不是说技术质量无关紧要,也不是说每位经理都这样评估。

一位天生安静的工程师怎样让工作被看见?

伊森·埃文斯

写作可以替代在会议上发言:邮件、内部帖子、Slack 消息、白皮书和技术演讲,都能把工作展示给受众。另一个人也可以帮着宣传。核心要求是,工作不应该孤立地留在原地。

一个被广泛使用的共享组件,可以创造自己的声誉。埃文斯回忆起亚马逊的面试跟踪系统被称为“Matt Round 工具”,简称 MRT;他是通过这个被广泛使用的工具知道它的作者的,尽管从未见过他。即使是这条所谓“沉默”的路径,也需要分发,以及与创造者之间可辨认的关联。

如果你发现了一个有价值的新机会,怎样才能确保自己有机会带头去做?

伊森·埃文斯

要一起提出三个论点:这个想法有价值,你能执行它,你能为它腾出时间。经理需要信任你的能力,并需要一个可信的计划,来交接、记录或自动化你现有的职责。提出这个想法,会给你一个有用的领先优势,因为你对它想得最多,但它并不会抹去一份薄弱的履历,或另一项关键的任务。

要明确表达你对构建它的热情。否则,领导层可能只听到了一个想法,然后把它分配给别人。埃文斯还建议,当一个机会被拿走时,要让失望被看见,而不是表现得好像每一种分配都同样可以接受。

他坦率地描述了管理者的一种诱惑:安抚要求苛刻的员工,同时推迟帮助随和的员工。他说,经理可能打算回头去找那位安静的人,却始终没有做到。他建议“要让人不太容易让你失望”,针对的就是这种模式,同时承认这是一种不公平的、务实的取舍,而不是领导力的理想。

你更喜欢一整支有野心的明星团队,还是一支稳定的角色球员团队?

伊森·埃文斯

埃文斯更喜欢混合。一个高增长的业务,有时能为许多极有野心的人提供足够多有吸引力的项目;在人头数不变、机会受限的情况下,这些人可能会彼此以及与经理之间展开破坏性的竞争。

只有随和的角色球员,会产生一支平静的团队,却缺乏推动变革的足够压力。他看重一些质疑限制、推动想法的人,而太多人同时朝不同方向推动,则可能造成混乱。最佳的组成,取决于业务能提供的有用职责范围的供应量。

当同事想参与你那个有吸引力的项目时,你怎么处理?

伊森·埃文斯

他的第一步,是挑战稀缺性思维。其他工程师的热情,可以让项目更大、更快或更有价值,由发起人来协调各方的贡献。在把每一位感兴趣的同事都当作威胁之前,先试着创造一个共赢。

如果有必要保护主人翁责任,在原型上领先一步,或者等到责任明确了再说,会有帮助。提供其他值得做的想法,可以让同事们得到有用的机会,而不挤掉你的。他还描述了把现有的工作交接出去以腾出产能,但明确警告:显得是把不吸引人的工作甩给点了名的同事,可能会制造敌人。

埃文斯强调要理解动机、满足感、恐惧和情绪。他的扑克类比,把在公认的规则内巧妙地竞争,与作弊(比如偷看另一位玩家的牌)区分开来。他相信,一个人可以理解这场社交游戏并且获胜,而不必采用不诚实的操纵。一些例子,包括向同事发起挑战、要求他们通过周末加班来证明投入,被描述为社交上的策略,而不是呈现为每位队友都应该接受的义务。

对于别人想甩给你的、你不想要的工作,你怎样保护自己?

伊森·埃文斯

埃文斯建议在交接到来之前,先确立有价值的举措。如果人们已经知道你在推动什么重要的工作,就有了可信的理由,不必给你加上别人的维护工作。一旦你只是在防御某项具体的任务,他认为你在这场谈判里就已经落后了。

如果有人说这项工作很容易,就问他们为什么不自动化或解决它。要说清楚自己的产能,以及替换你其他工作的代价。他用了一个凶猛动物的类比,来说明:人们有时会把任务交给最不可能反对的那个人。这个观察解释了他为什么建议设立边界,尽管它并不会让把工作转嫁给更安静的同事成为一个公平的结果。

他还提出了建设性的议价。承认不吸引人的工作需要有人做,完成其中有限的一部分,然后事后要求一个更好的机会。提前自愿承担一轮维护冲刺,可以表明你站在经理这一边,同时创造出一次具体的交换,而不是默默地累积一份没有尽头的积压。

你能拒绝经理,而又不显得不乐于助人吗?

他说,不断拒绝,可能让你成为糟糕的团队成员。他偏好的组合,是有用的工作、对不可避免的任务给予合作的回应,以及对接下来会发生什么的明确期望。告诉经理,你会完成这项工作,但之后希望得到一份更有挑战的任务,如果这种模式持续下去,就回到这个期望上。这项技能,是在不变成混蛋的前提下传达失望。

当只有一个名额时,你怎样赢得晋升?

伊森·埃文斯

首先问这场竞争是否真的有可能赢。如果已有几位合格、且更资深的人在等同一个岗位,那么去一个正在增长的组织,可能比无限期地试图插队更好。埃文斯不会保证每一种受限的处境都能得到解决。

在有路径的地方,说出你的兴趣,并问在什么情形下,你会成为经理的首选。这会引出具体的标准,而不是让人去猜心思。然后他强调要成为领导在困难的问题或危机中能够依靠的人。问问是什么让领导夜不能寐,或者他们最大的问题里哪一个最糟,并帮助解决它。

他对代价说得很明确:危机可能发生在方便的工作时间之外,而成为格外可靠的人,可能需要牺牲。他回答的是怎样去竞争这个岗位,而不是怎样在没有额外付出的情况下保证拿到它。这条建议关乎让一项真正的贡献对领导有价值,而不是仅仅表达渴望。

问经理“最糟的问题”,会不会像是明显的奉承?

会,如果它在没有关系的基础上突然出现。他建议逐步建立:从扎实的工作,到有用的帮助,再到关于成长、特殊挑战的讨论,以及成为困难局面中值得信赖的伙伴。人的性格各异,所以措辞必须适合那个人。目标是一种互相有益的工作关系,而不是立即提出为了晋升什么都愿意做。

你真的告诉过人们“自己晋升自己”吗?

埃文斯说,他用这个说法,是为了要求拿出做过的工作,并达成明确的成长协议。他想要一支强大、资深的团队,并且愿意向上为由此产生的薪资成本辩护。在他看来,奖励表现,是建设一个成功组织的一部分。

他也承认过一次失败:在亚马逊早期,他曾达成一项晋升的协议,却错过了一个他不了解的流程窗口,那位工程师愤然离开。他相信那次离职是有道理的。后来的承诺有时比预期花了更长时间,但他说自己都兑现了。这段承认,限定了任何“员工单凭自己就能控制一次被承诺的晋升”的说法。

如果你的经理不愿明确地谈晋升,怎么办?

伊森·埃文斯

埃文斯首先考虑,换一位经理是否更契合你的抱负。如果换人不现实,就研究这位经理实际上奖励什么。看看好几次晋升,与那些人聊聊此前的工作和对话,并学会这位经理谈论成长的语言,而不是假定每个人都像埃文斯那样直接地谈判。

如果没有人得到进步,或者经理的选择没有可行的规律,那么可能根本没有可以遵循的有效流程。接受一个缓慢且不确定的体系,或者去别处,也许才是真正的选择。

他建议用 AI 来审视经理的沟通方式,并提出一种适合其风格的做法。他对通过 AI 推断性格的信心,是他的看法,并不是这场访谈所呈现的经过验证的评估。他把调整沟通方式与操纵区分开来,同时预测,有说服力的操纵以及 AI 的反制手段,将变得越来越重要。

你怎样处理一个始终含糊的晋升“胡萝卜”?

伊森·埃文斯

首先区分正当的不确定性与回避。经理可能需要一个委员会、隔级批准或另一位决策者,而无法保证他们的回应。要问什么才能让经理成为热心的倡导者,而不是要求对最终结果作出承诺。埃文斯自己的副总裁赞助人,承诺为这次尝试押上自己的声誉,却无法保证杰夫·贝佐斯(Jeff Bezos)的批准。

经理也可能不确定这项工作是否足够有力,或者不愿给出一份忽略新要求的清单。要承认这些限制,同时解释没有可见的目标或时间点会有什么实际影响。问问成功是什么样子,怎样衡量进展,谁成功过,以及你应该怎样朝着一个未知的目的地努力。

对于一位只会吊着人的经理,要拿你的经历,与别人的结果比较。如果人们确实得到了机会,就去探究是什么让他们与众不同。如果没有人得到任何东西,埃文斯建议离开那位经理,或者改变这段关系中的筹码。他建议使用谈判式提问,目的是引出清晰度;它不会在没有真正机会的地方,凭空创造一次有保证的晋升。

如果你的经理没有晋升,正在阻碍你的晋升,怎么办?

伊森·埃文斯

如果经理想成长,可以考虑一个共同的计划:帮助他们达成一个能为两个人的职业生涯都腾出空间的目标。埃文斯说,他曾让优秀的下属参与这样的安排,他们的晋升和他自己的晋升,互相强化。要问他们的目标,而不要假定停滞就意味着漠不关心。

如果经理不想晋升,就问问他们是否能帮你在别处找到机会。一些不那么激进的领导,有强烈的动力去支持别人,可能愿意这样做。如果他们需要留住你,就解释你的职业发展很重要,你更愿意在这个团队里成长,而如果无法创造出一条路径,你就需要考虑其他选择。

埃文斯建议解释一个真实的、有紧迫性的阶段,比如对家庭或照顾家人的安排。主持人对未来计划尚不确定时的灰色地带提出了质疑。埃文斯为表达感受和可能性辩护,但说不要撒谎。站得住脚的实质,是说明一个真实的优先事项和偏好,然后让经理回应;文字稿并没有确立“可以编造个人义务”的权利。

他还把正常的雄心与不现实的要求区分开来。一位坚持要在两年内成为副总裁的应届毕业生,需要被泼一盆现实的冷水。一位完全拒绝雄心的经理,可能只是不适合这类人群,而一位拼命驱赶的经理,则可能因为要求太多而造成另一种问题。

你自己的下属有没有对你使用过这些政治策略?

伊森·埃文斯

埃文斯回忆起几位非常圆滑的谈判者,但大多数人都是直接的,也许是因为他公开地讨论成长。他说,他也遇到过不诚实的说法,并把说这些话的人清除了出去。他把这些情形与正当的雄心区分开来。

有些优秀的下属想要的角色,他无法足够快地提供。当另一家公司有明显更好的机会时,他支持他们离开,包括有人去三星担任一个大角色。即使是一位有野心而又支持下属的经理,也可能用光可用的职责范围。

他对不说出口的、消极攻击式的不满感到沮丧,因为它既阻止了解决问题,也阻止了坦诚地讨论其局限。同时,他认识到,有些员工处在人生的某个阶段,只想做好自己的工作,然后被人安安静静地留在一边。这种选择可以与一支由“攀登者”组成的团队共存,不过他警告说,这样的员工可能得到不那么理想的工作。

当正常流程需要证据时,经理怎样才能因为撒谎而让某人离开?

伊森·埃文斯

埃文斯说,可以证明的不诚实,可能支持直接解雇,但没有决定性证据的怀疑,则是另一回事。他更宽泛、更令人不安的说法是:一位处境良好的经理,有许多非正式的办法,可以把一位员工逼走:不吸引人的任务、不鼓励晋升、批评性的评审、过度的审视,或者一连串让继续工作变得不愉快的要求。

他说明了看似站得住脚的工作分配,如何掩盖惩罚性的意图,以及一位有权势的经理,如何能在员工投诉之前,就向人力资源部定下事情的基调。这些例子解释的是一种滥用的机制;它们并不能证明这样的行为是公平的、合法的,或者是一种合理的管理实践。埃文斯承认,无辜的人可能受到伤害,并把体面的经理希望留住好人的愿望,视为通常的约束。

他所说的区别,是在清除一个他认为不诚实或有破坏性的人,与针对一位好员工之间。这种区别在很大程度上取决于经理的判断,而这恰恰是主持人所追问的那个薄弱点。

如果员工只是有一种经理不喜欢的风格,怎么办?

埃文斯更温和的替代方案,是一场诚实的“合不合得来”的讨论,并帮助这个人找到另一个能让他们茁壮成长的团队或公司。他鼓励过这样的转换,并认为一段让双方都沮丧的关系,在结束时可能对双方都有所改善。

然后他承认,如果员工拒绝调动、而且变得合作成本太高,层级是偏向经理的。他并不声称这是完全正当的。他的解释是,经理要对整个团队负责,也承受着来自上面领导层的类似压力。这段话揭示了依赖个人的合拍作为保护的局限。

员工能通过人力资源部成功地挑战一位不公正的经理吗?

伊森·埃文斯

埃文斯认为,说法和时机很重要:经理可能已经把这位员工描述成了一个绩效问题。员工应当带上事实性的行为及其对有成效的工作的影响,而不是以要求解雇经理开头。独立的佐证、已建立的绩效记录,以及具体的、有书面记录的不当行为,可以让一场艰难的较量更有力。

他说,他曾在多位员工的陈述不断累积、并与他自己的观察吻合之后,撤掉过经理。他也认为,领导往往会保护自己个人喜欢的经理,即使员工在不断离开。在一个辅导案例里,一位领导花了 18 个月,试图改善一位手下的人不断辞职的经理。埃文斯向那位领导提出挑战:如果同样的故事发生在一个他们不喜欢的人身上,他们会怎么建议。

现实的局限是制度上的惰性。他相信,离开往往比说服一个层级体系,去撤换一位与上级关系良好的经理更容易。他关于胜算和先发优势的数字化说法,是修辞性的,并不是衡量过的概率,也不是对任何特定的人力资源流程的保证。

绩效和人缘,怎样影响职场中的权力?

伊森·埃文斯

埃文斯把糟糕的绩效加上普遍的不受欢迎,描述为最容易采取行动的情形。一位平庸但人缘很好的同事更难撤换:没有哪一场单独的灾难提供明显的理由,而别人会为这个人的乐于助人和温暖辩护。在他看来,人际关系因此改变了相似绩效记录的实际后果。

他通过建议保持普通的友善,并在某项任务或决定重要时,做出有选择的、适度的反击,来调和“讨人喜欢”与“守住边界”。幽默可以传达某种反复出现的模式是不可接受的,又不会造成对抗。他那个好玩的“代币”例子,把有限量的不愉快工作,描述为他愿意接受的东西,然后问经理是否想现在就用掉这份额度中的一部分。

“代币”的说法,是一种示例性的谈判策略,并不是正式的雇佣上限。它的目的,是让代价和期望被看见,同时保持合作。

就工作保障而言,被人喜欢比绩效更重要吗?

伊森·埃文斯

他说,答案取决于情境。决策可以包含产出之外的考虑。一位领导可能会为一个讨人喜欢的人辩护,称他们的存在,有助于一次困难事件之后的士气与合作。埃文斯讲述了一场用家庭情况作依据的裁员讨论,他把这标为不当;本书把这视为他的回忆,而不是经过核实的法律指导。

一位技术上不可或缺但令人不悦的工程师,也可能被留下,然而团队可能正在积极地转移那些知识,让它不再依赖这个人。他称这种依赖,是一种脆弱的保护形式。理想是既有能力又正派,而不一定要格外有魅力。

他补充说,经理可能对自己的技术能力缺乏安全感。公开羞辱一位经理,可能同时威胁他的自尊和权威。于是人们会把报复性的选择合理化为服务于更大的利益。这是他对一种社交上的失败模式的描述,并不是为报复辩护,也不是要求避免一切技术上的分歧。

在竞争晋升时,你怎样防御同事对你的暗中拆台?

伊森·埃文斯

如果这种行为已经明显,就在某项具体的指控给你下定义之前,先与领导层讨论这种模式。埃文斯建议,请求按实际的贡献来评判,并给予机会去证明,同时拒绝加入相互攻击的运动。他认为,这会让经理日后更容易识别出诋毁。

如果指控已经落到了你头上,就平静地问经理听到了什么,以及什么证据能让他们看到全貌。他建议提反思式的问题,包括镜像几个词,来引出信息,而不是立刻进入防御。然后让工作可以被核实,并就未来更好的能见度达成一致。

他还描述了支持那些贡献被不公平地忽略的同事,这也许能帮助他们注意到暗中拆台的模式。当这意味着准确地肯定工作时,这是有建设性的;他关于陷阱和埋下怀疑的措辞,也说明了防御性的政治,是多么容易变成另一场政治运动。他回到一个重要的退出选项:充斥这种行为的团队,并不是仅有的团队。

如果每个人都老练地使用政治策略,最佳策略会变吗?

伊森·埃文斯

埃文斯首先拒绝“职场关系必然是对立的”这个前提。诚实地分享功劳、培养他人、更好的业务表现,以及上涨的股权价值,可以产生共同的收益。访谈中那些更黑暗的案例,是失败的情形,而不是他理想的组织。

在每个人都老练地与所有人角力的假设下,他预期优势会相互抵消。他实用的建议,是找一个能让你特有的技能组合创造出更清晰优势的环境。对于他自己的辅导业务,他结合了公开演讲、职业知识和社交媒体的经验;他不需要成为每一项里最好的个人实践者,也能拥有一个与众不同的交集。

他把在一支名气较小的球队里当明星,与在一支冠军球队里当替补相比较。地位、薪酬、学习和偏好的竞争,可能指向不同的、有效的选择。

但如果有人留在专家的牌桌上,打法会怎样变化?

简单的虚张声势和捷径不再管用,错误会被注意到,行为会变得更谨慎。他认为,这个人必须依靠更强的执行力,而不是对付缺乏经验的竞争者的那些轻松招数。

你当亚马逊副总裁时,建过自己的王国吗?

伊森·埃文斯

回过头看,埃文斯说是的,尽管他常常告诉自己,更多的人能让他执行更多有用的想法。他回忆起一次亚马逊 Appstore 的人员申请,被杰夫·贝佐斯拒绝了,因为提议的各个“桶”太大,用途也含糊。在两次薄弱的回答之后,贝佐斯要求一份新计划,只含两三人的小组和确切的职责,然后逐行审阅。埃文斯认为贝佐斯是对的:团队想象的是种种可能,而没有做分配的功课。

后来他把扩张与具体的业务、客户和结果挂钩。他描述了就分阶段释放招聘额度进行谈判,并证明自己能为每一批招到好人。重要的区别,在于让资源产生价值,而不是单纯要求一支庞大的团队。

Merch by Amazon 说明了一次转向。他的团队曾尝试为游戏开发者印制周边商品,作为吸引应用进入亚马逊商店的一种方式。最初的这个理论失败了:周边商品并没有重要到足以改变开发者对平台的选择。然而,T 恤印刷在标语、活动和其他设计上找到了需求,并成为一项独立的业务。埃文斯说后来的收入规模非常大,但那是他在访谈中的说法,并不是经过独立核实的当前财务信息。

他还在领导层收回之前,把人从失败的项目转到有前途的项目上。他承认,同事们可能认为他的手段滑头,而他靠指出结果来把它们合理化。这场访谈既保留了他相信自己所创造的价值,也保留了他参与其中的资源竞争。

领导层有没有收回过人员编制?你是怎样防止的?

亚马逊在他任职的大部分时间里都在增长,所以他看到的纯粹削减相对较少。他通过把资源重新分配给有用的工作,并迅速填补已获批的岗位,来领先于审查。他描述了一套分配系统,其中开放的岗位可能多于最终有预算的岗位,这使得当大门后来关上时,早期成功招聘成为一种优势。

他有时会争辩说,其他团队未填满的额度,可以支持他更快的招聘。这是为一种有限的资源而进行的刻意竞争,即使他的团队交付了价值。他还优先考虑可见的发布和迭代,并承认有些发布可能太粗糙了。增长的背景和质量上的取舍都很重要;这并不是一条“每个团队都应该尽可能快地招聘或发布”的普遍指示。

人们应该怎样为 AI 对技术职业的不确定影响做准备?

伊森·埃文斯

埃文斯给出的是预测,而不是水晶球。他预期会有赢家、输家、被消除的工作、改变的工作和新的角色。他赞成灵活的学习和人的技能,同时对 AI 工具有实际的熟悉。他担心,只专精于操作某个工具,可能暂时保住一个角色,而工作本身却被自动化掉了。

他也考虑了相反的可能性:更容易的生产可以扩大需求,就像工具在其他一些行业里所做的那样。试验软件的人,最终可能需要工程师来让它变得可靠。他不知道哪种效应会占上风。

他的核心建议是留意价值在向哪里转移。更多的代码或更多的功能,不一定是客户需要的。选择要构建什么、省略什么、发布什么,以及如何解释它,可能变得更有价值。他宁愿占据一个需要判断力和品位的位置,也不愿完全依赖手工操作这些工具。他关于 AI 在哪里最强或最弱的说法,描述的是他在访谈时的预期。

压平管理层级是一种永久的变化,还是一个周期?

伊森·埃文斯

埃文斯认为,去掉层级的压力是周期性的,尤其是在公司想保持人头数不变的时候。他怀疑新工具能消除人们组织、集中和沟通工作的需要。AI 也许能让一位经理监督更多的人,但更大的产出,也会产生更多的决策和协调需求。

他告诫不要从拥有许多极资深直接下属的杰出领导者,去推广到普通的一线管理。一支由高度独立的资深领导者组成的团队,与一位试图从十位工程师扩大到一百位的经理,是不同的问题。他提到一段很长的行政管理史,是在修辞上支撑他的直觉;文字稿中有关古代历史的细节,在这里并没有被确认为经过核实的史实。

你怎样降低被裁员的风险,又怎样在不带负面观感的情况下解释一次裁员?

伊森·埃文斯

关于解释,简短而如实地陈述组织层面的事实,然后转向你接下来能贡献什么。如果整个组织被关闭了,就这样说;如果没有发生整个组织层面的事件,就不要暗示有。埃文斯认为,大公司的裁员已经变得足够普遍,这样的解释所带来的污名,比以前少了。

关于预防,他首先承认,有些裁员是无法避免的。他见过领导在一个组织关闭时,试图把关键人物安排到别处。出色的评级、可辨认的成就、需要的独特专长,以及在直属经理之上的领导面前的能见度,都有助于让一个人被考虑进这些调动中。

模式仍然是有价值的工作与关系的结合。他不承诺,当一项业务被取消时,无论是技术上不可替代,还是与高管熟悉,就能保证受到保护。

什么是高管气场(executive presence),怎样培养它?

伊森·埃文斯

埃文斯在一定程度上通过别人的行为来定义它:他们是否在一个房间里尊重你,是否在你直接的工作之外也寻求你的判断?他还引用了一个结合了威严(gravitas)、沟通和外表的框架,权重大约是 60/30/10。这个数字框架是他引述的参考,并不是本书中经过独立验证的公式。

他把专业能力与权威的信号区分开来。自信、果断、受控的节奏、停顿、肢体语言、沉着和具体,都能让某个人显得可信。他还指出了涉及外貌和身份的不公平的社会偏见;他把这些描述为人们会做出反应的偏见,而不是值得追求的标准。

他自己的失败模式,是听起来比他的知识所能支撑的更笃定。他的妻子有时因为他听起来如此自信,而没有提出一个正确的异议。他在对话中故意编造了一个精确的“62%”统计数字,来说明自信和具体,如何能让胡说八道听起来令人信服。那个数字是对编造的演示,不能当作证据再次使用。

他说,没有哪一项表面特质是必需的。一份出色的记录,不必靠戏剧性的演讲,就能赢得尊重。这些例子对比了一位安静的、已经站稳的专家,与有意识地控制舞台气场的领导者;它们是他对公众人物的解读。

为什么你称埃隆·马斯克(Elon Musk)的演讲是一种“表演”,而它似乎不如史蒂夫·乔布斯(Steve Jobs)的精致?

埃文斯认为,马斯克特有的强项,是传达对非凡目标的信念,并援引一份此前被人质疑的成就记录。即使表达得不够精致,这也能让推测性的想法显得可信。埃文斯明确为不同意见留有余地:某项承诺究竟是有远见,还是幻想。重点在于信念与过往记录如何相互作用,而不是每一项主张都是真的或必然会发生。

你怎样自然地在工作中建立关系?

伊森·埃文斯

找一件你喜欢的、相当了解的、可以分享的事。把它变成一门课、一场演讲、一个工具、一段录音、一项有用的服务,或者一些建议。给出被珍视的东西,会创造共同的兴趣,以及日后交谈的理由,而不要求你成为在房间里接近陌生人的专家。

埃文斯教经理们如何又快又好地招聘,然后扩展了他的教学和在线建议。亚马逊的另一位员工,批量订购了滑雪票,并在内部以折扣价转售。那个人从自己喜欢的事情中得到了好处,同时与其他滑雪者建立了数百个联系。

这项专长不必非凡,甚至不必是技术性的。共同的兴趣让交谈更容易,持续的有用互动可以加深为一段关系。工程师也可以用一项比普通同事理解得更深的技术做同样的事。

你怎样与一位有权势的决策者建立自然的关系?

伊森·埃文斯

埃文斯从你已经提供的价值谈起。一个有用的工具、课程或服务,可能直接引起一位副总裁的兴趣,也可能因为他的许多员工从中受益而变得重要。一条克制的说明,解释它的使用情况,可以打开一场对话,而不必假装分享一个你并没有的个人兴趣。

人脉也能提供引荐,通过已经认识那个人的人。他讲述了自己为把医疗物资运往波兰、援助乌克兰难民而寻求帮助:一位联系人把他介绍给联合航空(United)董事会的主席,行李就免去了本应收取的费用地运了过去。结果远远超出了他最初的需要。

他的解释是,一个位置合适的、举手之劳的人情,可以让中间人为一件有价值的事情出力,并因帮了忙而感觉良好。因此,人脉对于第一段关系形成时无法预料的需要是有用的。他并不把每一位帮助者的动机,都归结为自利;他承认想要帮忙的正当愿望。

当有人带着明显的拓展人脉的动机来找你时,你是怎么回应的?

伊森·埃文斯

他常常明确说自己时间有限。对于想要定期指导的人,他有时会提供一次会面,并请对方带来一个有趣的想法,或者他不知道的信息。如果这次会面创造了价值,并保持了他的兴趣,他们可以再见一次。

埃文斯把这呈现为比一概拒绝更有用的开场。有些人很好地利用了这次机会;另一些人没有再回来。他直接的、交易式的风格适合他,但并不假定每一位资深领导都偏爱这种方式。

当别人没有直接说明自己的激励时,你怎样发现他们想要什么?

伊森·埃文斯

他给出四种方法:问、听、三角验证和观察。倾听会议上提到的问题和目标;询问与这位领导共事的人听到了什么;并考察领导把时间、金钱、招聘和注意力放在哪里。行动可以澄清被泛泛的说法所掩盖的优先事项。

然后朝着这个人看重的东西靠近,并通过恰当的途径,让这份贡献被看见。这可能是一份报告、一位共同的联系人、一次走廊里的交谈,或者一个直接的问题。风格必须适合这段关系。

埃文斯认为,当机会对每个人开放时,明确的“价值换成长”协议是公平的,但他也认识到,有些人偏爱隐含的安排,并能容忍不那么直接的语言。建立信任,最终可以让私下的对话更清晰,即使这个人在公开场合仍然很含蓄。在那之前,更多的模糊可能是不可避免的。

埃文斯指出的辨别他人优先事项的四种方法
方法要留意什么局限
问他们所说的目标和问题有些人会间接地回答
倾听会议和全员大会上反复出现的话题公开的信息可能不会透露一切
三角验证受信任的同事和下属听到了什么这些仍是他人的解读
观察时间、金钱、招聘和注意力花在哪里要根据一个模式谨慎地推断,而不是根据某一件事

当某人突然从公司消失时,幕后可能发生了什么?

伊森·埃文斯

埃文斯说,突然的离职,可能与操守或风险有关,而不是普通的绩效流程:骚扰、种族歧视、盗窃、泄露机密信息,或类似的严重事件。他回忆起有员工因为向记者泄露内部材料,并在公司系统里留下了痕迹而被清除。

他给出了两个不寻常的例子,来区分意图与后果。一位游戏美术师把一批真枪收藏带到办公室,作为武器的视觉参考;领导认为这是考虑不周而不是威胁,让他回家,并指示他绝不能再犯。在另一个案例中,一位清洁工对一位女员工令人不安的骚扰,导致他被撤换,据埃文斯讲述,还下达了禁止接触的命令。

这些故事说明了,为什么同事可能只看到突然的缺席,而经理知道一起保密的操守事件。它们并不能让旁观者推断出任何一次未解释的离职的原因,也不能证明每一次突然的离开,都涉及不当行为。

你有没有为了出人头地,而不得不伤害别人?

伊森·埃文斯

他不愿意不加限定地说“没有”,因为人们会把自己的行为合理化。他记得自己竞争过,并试图占上风,但不记得曾有意把某个人往死里整。

他感觉最糟的一件事,发生在他在亚马逊的第一周。他被给予一个选择:一款面向客户的视频产品,或者支持视频、音乐和图书的摄入基础设施。他选了那款产品,却不知道另一位即将入职的经理显然被许诺过它。那个人下一周到了,结果被分到了基础设施,埃文斯相信这对他是个糟糕的结果。

埃文斯说,即使被告知这个冲突,他也仍然会去争取那个适合自己经验和兴趣的工作。他把想要一个机会,与意图伤害区分开来,同时承认另一个人仍然承担了长久的代价。没有恶意,并不会抹去这个结果。

对那些觉得整个政治游戏在道德上令人反感的人,你有什么要说的?

伊森·埃文斯

埃文斯同样希望有一个让才能、意图和贡献得到公平认可的世界。他的辩护是,人们必须在应对当今有限的资源和偏见的同时,努力去改善它们。他相信,透明、信守协议,以及帮助人们应对现有的歧视,都有益处,而并不意味着认可歧视本身。

为了让这种道德冲突变得具体,他讲述了自己曾帮助出资一笔贿赂,据他描述,这使一位乌克兰朋友的丈夫在服役两年后得以离开军队。他认识到,别人可能因此承担了代价,并说自己不知道这个后果是否发生了。这个故事是他个人的说法和道德上的辩解;它的合法性、细节和影响,并没有被这份文字稿核实。

他对这个决定感到安心,因为它帮助了一个他认识的人,同时承认,从其他道德立场看,它可能受到谴责。这个例子让他的方式比单纯“乐于助人”更复杂:他接受偏袒,以及不确定的外部代价。主持人在伦理上的不安,仍是讨论的一部分,而没有被编辑的认可所化解。

你推荐哪些关于人、谈判和权力的书?

伊森·埃文斯

他的第一个推荐是阿宾格学院(Arbinger Institute)的《领导力与自我欺骗》。他从中汲取了这样的区分:把人看作带着关切的人,与把他们当作障碍或界面、按下按钮以获得结果。前者可以让合作更温暖,也更少操纵。

他推荐克里斯·沃斯(Chris Voss)的《掌控谈判》(Never Split the Difference),用来谈判和理解动机。他还不太情愿地推荐了《权力的 48 条法则》,把它作为更阴暗的策略的目录。他说,了解它们也许有助于读者识别操纵,同时承认,同样的材料也可能被用来变得善于操纵。

如果你今天想尽可能快地升到副总裁,你会怎么做?

伊森·埃文斯

埃文斯不会假定,自己在亚马逊的路径,在一家增长缓慢得多的公司里是可以复制的。他说,亚马逊在他任职期间急剧扩张,创造了他认为在所讨论的环境中较少存在的机会。他提出的假设性做法,是用大约 18 到 24 个月密集学习,培养外部看重的专长,比如 AWS 知识,然后寻找一家高增长的公司,让这份专长去解决一个重要的采用问题。

他会交付价值,让成长目标变得明确,学习管理、决策、心理学和组织,并承担一些大的风险。他认为,高能见度的胜利可以加速晋升,同时承认,失败和多次换公司,可能是这条路径的一部分。他提到离开失败留下的“冒烟的废墟”,暴露了单纯为职业速度而优化的真实代价;这并不是反复冒险就一定会成功的保证。

他认为,工程师层面的早期成长,在一家成熟的公司内部也许仍然可能,但更高级别的晋升,越来越需要一个可用的业务依据。一项在大公司里让你成为成千上万人之一的技能,在别处可能让你变得独一无二。他的员工人数和薪水对比,是示意性的近似值,他的建议反映的是这场访谈的市场观点,而不是经过核实的当今预测。

关于这份资料

亚马逊副总裁:关于企业政治的提问,越来越黑暗 | 伊森·埃文斯(Ethan Evans)

本节是对原始文字稿的转述。自动生成的字幕可能有错误。

观看原视频 ↗

开场的片段剪辑(0:00–0:40)重复了后面的交流,只在完整的讨论中概括。

已省略 WorkOS 的赞助商片段(约 1:28:05–1:28:51)。

已省略结尾的网站、频道请求和键盘推广(约 3:06:39 之后)。

我的笔记在可使用本地存储时,笔记会保存在此浏览器中。
第 06 节 · 访谈

把雄心与人际关系和程序性知识结合起来

伊森·埃文斯回顾了自己从一位咄咄逼人的创业公司领导者,成长为亚马逊副总裁的历程,同时揭示了产出、认可、业务价值与管理权力之间的差距。

你在加入亚马逊之前的职业生涯是什么样的?

伊森·埃文斯

埃文斯在家用电脑出现时,就想从事计算机行业。苹果对一封关于就业的信件的回复,帮助他选定了大学;他就读于卡内基梅隆大学,后来在普渡大学完成了硕士学位。他早期的工作,是一连串小公司,大体上由网络、搜索、网络管理、广告和音频流媒体松散地联系在一起,中间还短暂地岔入过娱乐灯光领域。

亚马逊最终招他进来,部分是因为流媒体音频方面的经验与其计划中的视频工作相契合。在他的第一家之后,大多数创业公司,在互联网泡沫前后都很艰难或失败了。他描述自己两次被裁员,而他对抗性的行为也是原因之一。成为亚马逊副总裁,并不是他最初的人生计划;这条路径是逐渐演变而来的。

你最初为什么选择创业公司,而不是成熟的公司?

伊森·埃文斯

最初的选择,主要是由朋友和一个看似有吸引力的机会推动的,而不是对公司规模做过缜密比较的结果。朋友们加入了一家由教授创办的本地公司,并向他介绍了股票期权。一位较早加入的室友做得特别好;埃文斯加入得晚,但也赚到了足够的钱付买房的首付。直到事后,他才学会更有意识地做职业决策。这个故事说明,为什么一个成功的早期选择,不一定始于一个精妙的策略。

你有没有预见到裁员?咄咄逼人的作风在其中起了什么作用?

伊森·埃文斯

没有,尽管有过警告。他的第一位经理已经注意到他好斗的解决问题方式,而埃文斯曾经自豪地把当个“失控的大炮”,描述为瞄准那些错的人。技术能力和精力充沛的执行力,仍然把他带上了创业公司的领导岗位,但同事间的冲突,变得越来越代价高昂。

在一家公司里,一位产品负责人警告说,按现有的时间和资源,计划中的范围无法交付。埃文斯现在认为这个警告是对的;当时他却把它当作对使命的背叛。在裁员期间,他主动提出去另一家创业公司,CEO 接受了。他怀疑,清除冲突让这件事变得更容易。

在下一家公司,他与一位销售负责人争吵,因为对方承诺了并不存在的功能。埃文斯至今仍认为这里有诚信问题,但承认当时公司正在为生存而战。在随后的那次“裁员”中,他是唯一的人,所以他把它视为为了消除矛盾而被解雇。在第二次经历之后,他终于去审视了自己在这种模式里反复出现的角色,并改变了处理分歧的方式:更多提问和倾听,更少升级。

早期的攻击性是否有用?还是说,如果有人际技巧,会更好?

伊森·埃文斯

埃文斯认为,精力加上良好的人际技巧会更好。他仍然赞成要有主见并为之倡导;纯粹的服从,不是他的领导力模型。区别在于如何争论。他早期的版本是提高嗓门,并把别人的想法斥为愚蠢。一个更有技巧的版本,可以持续地提出挑战,而不咄咄逼人或充满敌意。往往是对的,让他得以蒙混过关地用那个糟糕的版本,但这并不能使它成为最好的版本。

领导者怎样避免在背后被政治手段挤走?

伊森·埃文斯

他说,过度的对抗,可能导致人们不再与你辩论,而是开始与别人讨论你。第一道防线,是为诚实的分歧留出足够的空间,让人们不觉得私下的运动是唯一的途径。

第二是更广泛的、值得信任的关系。埃文斯缺少那些会在另一位同事提出顾虑时告诉他的盟友;相反,那些人同意他是个问题。技术上的正确,无法取代关系,以及人们在一起工作时的感受。他承认,组织有时会选择一个在技术上较差的方案,因为它感觉更容易支持。

最终是什么让你认真对待人际技能?

伊森·埃文斯

第二次离职,以及随后在互联网泡沫破裂和 9·11 之后难以找到另一份工作,迫使他反思。一位面试官质疑了他“我曾经如此有价值,却留不住”的说法。埃文斯得出结论,缺少的能力不是编码或推动项目,而是与人良好地共事。他研究了动机、提问和工作心理学,然后对如何领导和激励产生了兴趣,而不只是陈述答案。痛苦的反馈,变成了一种持续的学习兴趣。

为什么搬到全国另一端去亚马逊,值得冒这个风险?

伊森·埃文斯

在一家与巴诺书店(Barnes & Noble)合作的搜索公司工作时,埃文斯调查过这家零售商为什么在网上输给了亚马逊。通过一家竞争对手来看亚马逊,让他对它的能力有了具体的认识,当亚马逊的招聘人员找上他时,他可以谈这些。

他也厌倦了创业公司在融资和产品与市场匹配方面的挣扎。亚马逊是上市公司,当时尚未盈利,但与几十人或几百人的公司相比,它的规模看起来很稳定。这个决定结合了对这项业务的钦佩,以及想要一种不同风险状况的愿望;它并不是对亚马逊后来成为的那家百万人规模公司的赌注。

晋升为总监,然后是副总裁,实际上需要什么?

伊森·埃文斯

对于总监,埃文斯描述的是:只凭高层次的目标,就能领导一项业务或一项重大工作的能力。在他的情形里,一件超乎寻常的事很重要:他追求与 TiVo 的视频合作,尽管领导层建议不要这样做,并明确给了那位资深领导,下令叫他不要继续的机会。它成功了,而他的晋升叙述强调,没有他,这项合作就不会发生。

他还向正准备离开的副总裁明确表达了自己的职业优先事项。埃文斯礼貌地解释,如果亚马逊不像他自己那样重视他的成长,他就需要考虑这一点。当时的时机造成了留任的压力,因为两位领导同时离开,会损害这个项目。他认为,已展现的判断力和明确的倡导,两者都是核心。

他承认一个令人不安的管理上的取舍:当两个人资质相近时,那位在推动晋升并威胁要离开的人,有时会比耐心的团队成员得到优先。他描述的是实际的留任压力,而没有把它当作理想的公平来辩护。

那个成功的项目是一次真正的冒险。一个普通的结果,可能让他留在原地,而在无视建议之后的一场灾难,则可能伤害他。回头看,他会承担更多经过计算的风险,但他的结果并不会抹去可能的下行风险。

晋升副总裁,涉及一个更长的过程:与一位稳定的经理建立利益相关者的支持和信任。他致力于一种合作关系:他解决重要的问题,而经理则为认可而倡导。大约两年半之后,这位副总裁同意为这次尝试押上自己的声誉,但不保证最终的决定。此后不久的一次重组,凸显了有利的时机与努力同样重要。

当你在亚马逊早期向一位优秀的工程师许诺晋升时,出了什么问题?

伊森·埃文斯

一位年轻的工程师,同意帮助交付产品的第一个版本,条件是得到支持,从入门级工程师晋升到下一个级别。埃文斯出于善意同意了,但假定晋升的运作方式与创业公司里一样。他被上线的问题占据了心思,并不知道亚马逊有固定的评审周期。窗口就这样过去了。

他明确承认这个错误。这位工程师不必为经理的无知负责,但工程师却承担了职业上的代价。埃文斯建议员工无论如何都要了解这个流程:确认经理是否了解,找出截止日期,并问清具体的文件和日期。一位新经理可能真心想帮忙,却缺少必要的程序性知识。

这位工程师离开了,并在别处有了成功的职业生涯。埃文斯为失去的时间感到遗憾,但强调,一年的挫折,不必定义一份长达几十年的职业。恰当的教训,是经理的责任和员工对流程的了解两者兼备,而不是为一个被打破的承诺责怪员工。

为什么要离开一个 800 人的组织,去担任 Twitch 整合的角色?

伊森·埃文斯

亚马逊在收购之后,会让一位副总裁担任整合联络人,同时让被收购公司的 CEO 继续负责。亚马逊收购 Twitch 之后,埃文斯争取了这个职位,因为它能检验没有职权的影响力。他是向 CEO 提建议,而不是向他下命令,也没有自己的团队。

他已经学会了凭正式职权运营一个大型的全球组织。现在,他不得不与一位更年轻、新近暴富的创始人共事,后者服务的受众和商业文化,与他自己的不同。他放弃了庞大的团队,去学习这个挑战,并既享受这段合作,也享受学习在 Twitch 上直播。

你在一位快速扩张的公司的年轻创始人身上,看到了哪些差距?

伊森·埃文斯

埃文斯回忆说,Twitch 把持续的亏损视为常态,因为风险投资一直都有,并且起初认为亚马逊的资金,让盈利没那么紧迫。他的领导层想要盈利,所以一个核心的挑战,是先确立这个目标到底重不重要。

他还看到了对早期员工的忠诚所带来的难题,这些人的技能没能随着组织一起扩展。在一位朋友之上引入一位更有经验的领导,或改变他们的角色,需要进行艰难的对话,有时还会导致愤怒的离职。他指出,创始人也许会用不同的方式描述这些差距;这是埃文斯对学习过程的看法。

在你的经历中,杰夫·贝佐斯(Jeff Bezos)和安迪·贾西(Andy Jassy)作为领导者有什么不同?

伊森·埃文斯

埃文斯说他与两人各开过几十次会,并强调创始人的身份是一个主要的区别。他回忆起一次预算讨论,当有人提醒现金有限时,贝佐斯却问还有多少,因为他可能想把它花掉。埃文斯把这解读为创始人对自己创立的公司,主张拥有下非凡赌注的权威。

他把贾西描述为一位更传统的高管,必须与其他领导者合作,并在董事会和创始人的期望之内运作。两人都要求很高。

他个人的契合度也有所不同。他觉得,贝佐斯的追问之后是热情和一种共同承诺的感觉,而贾西的追问,更像是审视,随后是个人问责。埃文斯明确表示,其他高管可能有相反的体验。这是对他工作关系的比较,并不是对两个人的普遍排名。

当一项业务举措失败时,副总裁的评估会怎样?

伊森·埃文斯

埃文斯区分了达成近期目标与实现业务愿景。Prime Gaming 可以交付功能并达成一些财务目标,却没有让亚马逊成为其创始人所设想的游戏领域的主要力量。他说,即使一些业务没有实现那个更大的抱负,他仍然得到了很高的副总裁评级。

他回忆起自己预计能达成所有 Appstore 的目标,同时又认为它们最终并不重要。他更宽泛的批评是,大型组织可能让产品一直存在,因为没有人愿意承认失败或关闭它们,同时又没有人知道怎样让它们取得重大成功。他关于后来的关停以及未来游戏领域可能的结果的评论,是访谈时的说法和推测。

为什么不改变目标,让它们与愿景匹配?

因为决定薪酬和评估的目标,产生的激励,与公司理想上所需要的目标不同。要从一个侧载(sideloaded)的位置去与预装的应用商店竞争,很重要,但埃文斯不知道怎么做到,所以他抵制以此来衡量自己。他坦率地承认,自己想要可达成的评估目标,而业务需要的是一个难得多的结果。一个有雄心的愿景,并不自动就是一份可行的计划。

三种不同的成功衡量
衡量标准它问什么埃文斯指出的风险
项目交付团队有没有交付约定的工作?可见的活动可能看起来像成功
绩效评估领导者有没有达成谈好的目标?目标可能偏向于可达成的
业务愿景这项举措有没有创造出战略性的结果?组织可能一直在达成目标,却没有朝它前进

强制排名和绩效计划,做对了什么,做错了什么?

伊森·埃文斯

埃文斯描述了亚马逊历史上的一项流失率目标,推动经理们去处理表现不佳的问题。当它被试验性地取消时,他说经理们回避艰难的对话,尤其是对人缘好的人,所以这项目标又回来了。他给出的各年比例不同,是对这套系统的回忆,并不是当前经过核实的政策。

问题在于,配额可能把一个支持性的流程,变成一个让人离开的流程。等到一位经理写下绩效改进计划时,他们可能已经决定这位员工应该离开了。确认偏误,以及来自人力资源或领导层要求记录一次离职的压力,可能与真正的恢复背道而驰。把一位员工从名单上拿掉,可能带来要再找出另一位的压力。

他说,那些来向他求助亚马逊绩效改进计划的人,后来都被解雇了,那几位没有使用他辅导的人也是如此。他现在敦促人们为另一个角色做好准备。他的强烈警告来自个人案例,而不是一项受控的成功率研究。

他的诊断是,公司往往没有培训经理及早解决问题,或者进行有用的艰难对话。一份正式的计划来得很晚,又处在被扭曲的激励之下,即使经理最初相信自己是想帮忙的。

是什么阻止经理不公平地描述一位下属?

伊森·埃文斯

埃文斯区分了清除许多员工的模式(这可以通过人员流动变得明显),与一起有针对性的案例(这可能难以质疑)。经理有地位,可以在员工投诉之前,就确立绩效的叙述。

同样的评审数量,可以支持相反的叙述:一位优秀的工程师在改进每个人的工作,或者一个人在吹毛求疵而几乎没有产出原创代码。单靠数量,都无法回答价值问题。经理可能怀有恶意,也可能是真心用不同的方式评估这份工作。

他说,自己没有亲自这样针对过某位员工,并认识到好的经理从有能力的搭档中受益。危险在于一位有报复心、掌控着叙述的领导。他实用的建议是尽可能改善关系,或者找另一位经理,而不是假定人力资源部会自动拯救员工。这是对一种脆弱性的描述,并不是对不公平对待的认可。

你会给职业生涯起点的自己什么建议?

伊森·埃文斯

继续偏好成长。他把自己的职业阶梯比作自动扶梯,因为快速增长的业务,在他自己努力之外,创造了向上的流动。他所报告的亚马逊的规模变化,提供了仅凭个人动力无法创造的机会。

更早地认识到,工作是与人一起完成的。专业能力和正确,应当与友谊、信任和被人所知相结合。内向的人可以利用写作和在线工具,而不必强迫自己采用单一的外向风格。亚马逊主动找上了他,他认为良好的声誉,是促成这类机会的一部分。

关于这份资料

亚马逊副总裁:强制排名与绩效改进计划、与贝佐斯共事、他的晋升 | 伊森·埃文斯(Ethan Evans)

本节是对原始文字稿的转述。自动生成的字幕可能有错误。

观看原视频 ↗

开场的预告片(0:00–约 1:00)重复了后面的交流,只呈现一次。

已省略结尾的课程、网站和频道请求(52:24 之后)。

我的笔记在可使用本地存储时,笔记会保存在此浏览器中。
第 07 节 · 访谈

Brian Attwell:职责范围、激励与公平的评估

关于职责范围的转移、经理的激励、评估体系、艰难的绩效对话,以及求真的精选段落。

是什么最能解释你在 Uber 迅速升到资深 Staff 级别?

Brian Attwell

Attwell 把功劳归于几个因素的结合:一个不断增长的工程组织、可以向其学习的优秀人才,以及他所体验到的、以能力为本的文化。增长带来了许多问题,不过他承认,一家公司不需要增长,也有有用的工作。他还认为,关心团队对持续的成功至关重要。

他有意的选择,是异乎寻常地投入地工作。他相信学习会复利累积,而经理在看到能力的证据之后,才会分配有价值的工作,所以他为自己创造时间去培养这种证据。职业早期,他预期自己会比后来拥有更多可自由支配的时间。他所主张的努力与成长之间的关系,是他的判断,并不是一个被证明的普适公式。

这条轨迹里有多少是运气?

Brian Attwell

他把频繁的行动与不常做的决定区分开来。反复把许多小事做好,给偶然留下的空间较少,而每隔几年才选一次公司则不然。他有意选择了 Uber,但认识到这个选择可能出错。

他认为,他的努力和心态,在那种崇尚能力的特定环境里,大概会对他有利。加入一个不看重同样贡献的组织,可能延迟成长。他明确拒绝从个人努力到职业结果之间完全确定性的映射。

是哪些信号让 Uber 具有吸引力?你会怎样评估另一家公司?

Brian Attwell

他会考察工程师的质量,以及把他们招进来的招聘流程。他偏好困难的、与岗位相关的任务,需要对相互冲突的需求进行推理、快速吸收新材料和做取舍,而不只是回忆练习过的解法。

他的例子,是阅读一份复杂的事后复盘,并就它揭示了团队或架构的什么问题展开讨论。他相信,为许多不同的岗位设计好的面试,需要大量的领导投入和持续的实验。关于测试和智力的论断,反映的是他的招聘理念,并不是节目里经过独立科学验证的结论。

你会怎样测试你所寻找的推理能力?

Brian Attwell

Attwell 偏好需要同时记住多个想法和约束,又与工作保持相关的任务。一个有相互冲突需求的应用型编程问题,或者细节相互质疑的事后复盘,比练习过的回忆能揭示更多。

他还在考虑正式的智力筛选,特别是为了减少在不成功的产品经理面试上花费的时间。他把这类测试描述为一种筛选的辅助手段,而不是对已经很优秀的候选人的完整排名。他关于它们的可训练性、预测价值和 AI 的局限的说法,是归于他的主张,并没有被这份文字稿确立为研究结论。

智力更高,意味着工作表现更好吗?

他相信它有所贡献,但说强大的科技公司已经筛选出了一个相对有能力的群体,所以它能解释的团队内部的差异,比在不受限制的人群中的差异要少。他仍然想要应用经验和相关技能,并承认没有哪种面试流程,能完美预测日后的表现。

为什么面试产品经理比面试工程师更难?

Brian Attwell

他认为这个角色的定义不那么一致,在不同学科之间更多样,并且缺乏同样成熟的教育和面试传统。他的组织问了几位 CEO,优秀的产品经理工作是什么样子,写下了自己的定义,并围绕它设计了流程,因为几乎没有什么是它想原样借用的。他再次把智力筛选视为一个可能的早期过滤器,同时把后面的面试,留给区分优秀与出色的应用表现。

除了聪明,你怎样选择时间的最佳用途?

Brian Attwell

Attwell 同意,其他技能也需要有意识地培养,尤其是优先级排序。他考虑一项举措在固定时间段内的价值,他的参与在多大程度上改变它成功的机会,以及它需要的时间。他是在试图最大化每小时的增量期望价值。

当一位初级工程师听说公司的头号优先事项时,它可能已经有了充足的人手。一项没那么显眼但仍有价值的举措,可能有更大的缺口,可以由这位工程师来填补。所以,做最重要的项目,与做出最大的个人贡献,是不同的问题。

“有你与没有你”下的成功,在普通的“收益除以成本”之外增加了什么?

它问的是:你的存在改变了什么。职业早期,要找那些否则会无人负责的重要工作。后来,要把独特的技能与一个真正的问题相匹配,在那里它们能改善结果。这些估计是模糊的;他明确拒绝假装自己有好几位有效数字的精度。

工程师怎样学会估算业务价值?

Brian Attwell

问一个指标或季度目标为什么重要。一个模型召回率的目标,可能是为了降低流失,而流失又与收入有关。利用一对一,去了解领导们为什么选择或取消项目。如果公司有一份举措清单,带有估算的价值,或每个项目为什么重要的理由,就研究那一列:它暴露了别人的推理,并有助于建立直觉。他预期这是需要学习的,因为大多数新工程师几乎没有业务背景。

你为什么最终成为了经理?

Brian Attwell

尽管好几位经理建议,他还是推迟了这一步。在他后来的公司,一群强大的工程师已经把他当作技术领导,所以他享受着指挥工作,却不必承担正式管理的全部义务。当他的老板说,这个小组需要他,或者一位新招来的经理时,他接受了,因为他想保护一个他在乎的团队和技术愿景。

他起初做得很糟糕,躲在编码里,而不处理管理的基本功。一位新队友在三个月后曾问,Attwell 是不是真的是他的经理。他把这当作自己疏忽的证据,提升了这些技能,之后看到向他汇报的组织迅速增长。这个故事并没有让技术领导力,自动成为人员管理的替代品。

为什么会有越来越多的组织划到你名下?

Brian Attwell

他从一个信念开始:即使是强大的团队,也可能有很大的改进空间。他不是保留每一项继承来的做法,而是邀请人们质疑假设,包括他自己的。对一个长期存在的流程的怀疑,是发现浪费的有用起点。

一个集成团队维护着大约 1,200 个连接,用来收集餐饮行业的信息。每一个当初看起来都是一项好的投资,但维护工作不断累积,却没有对价值重新作比较。一位同事质疑,它们怎么可能全都同样重要。团队花了几天时间估算它们的价值分布,停止支持其中价值低的一部分,减少了告警,并改进了对重要的其余部分的支持。

他把整体产品描述为变得更好了,尽管它现在支持的集成更少。回收的时间还让新工作成为可能。这个例子说明,当有用的结果比被支持项目的数量更宽泛时,做减法可以创造产能。

当职责范围在领导者之间转移时,你怎样处理关于人的对话?

Brian Attwell

Attwell 说,这些对话需要同理心和诚实。一位有能力的人,也可能没有交付某个特定岗位现在所需要的东西,或者需要一个更小的职责范围。要解释所需要的工作,指出差距,并认可这个人仍然做得好的地方,或之前的贡献。他的描述更倾向于清晰的期望,而不是隐瞒一次组织调整的原因。

激励机制怎样才能让经理们不再死抓着职责范围不放?

Brian Attwell

他认为晋升与组织规模之间的自动联系是一种糟糕的设计,因为它鼓励造王国。他的公司最初借用了一套类似 Uber 的职级体系,然后试图改进它。特拉维斯·卡兰尼克(Travis Kalanick)质疑这次修订,认为它仍然过于聚焦在职责范围上,也不够有洞察力。

Attwell 和一位同事随后投入了几个月,去理解其他体系的弱点。他的核心担忧是,职责范围只捕捉了一种复杂性,同时对职位和政治手腕的奖励,多于对有用能力的奖励。

重新设计的职级体系,发生了什么变化?

Brian Attwell

他们从大约一千个人们通过真实工作使自己与众不同的例子开始,把它们归纳成大约 250 个属性,并使用一种他称为主成分分析的方法,得出十二个技能维度。他把薪酬描述为随着沿这些维度展现出来的技能和影响力而上升,而主要不是随职位。

重点从“把影响团队作为地位的标志”,转向“拥有可靠的想法”,包括成功地质疑基础性的假设。沟通仍然是一项独立的能力,并有好工作的例子。他希望人们提升那些通常对公司有帮助的能力,即使他们同时也在努力争取晋升。

最初的例子来自哪里?

他与工程师交谈,阅读书籍,并回顾了多年的季度校准笔记。他想要自己知道确实发生过的例子,这样较高的级别就不会成为一个没有人能达到的、想象出来的标准。

你怎样评估良好的沟通?

给出口头的描述和具体的例子,然后把一个人实际的作品与它们作比较。这可以支持一场更扎实的对话,而不是仅仅依赖社会认同,尽管它并不能消除判断。

经理仍然可以让这些例子产生偏差,或夸大表现吗?

可以。这个框架改变的是人们在哪方面摆姿态,而不是消除政治。他认为,努力在“求真”或沟通上显得出色,仍然比单纯积累职责范围更有用。领导层还必须抽查校准,并对蓄意的失实陈述采取行动;他把这描述为大量持续的工作,而不是一个已经解决的衡量问题。

撤掉一位人人都喜欢的表现不佳者,是不是格外困难?

Brian Attwell

Attwell 不同意把这当作一个无法克服的问题。一线经理可能会感到依恋,也看到社交纽带,但勤奋的同事们,也可能怨恨要替这个人兜底。他预期,艰难的当下反应,之后可能让位于一个更快乐的团队。这是他对这种取舍的看法;这期节目并没有展示某一次具体的解雇,也没有证明这个结果总会随之而来。

你怎样提供“求真”的证据?

Brian Attwell

寻找挑战既定做法的有用发现:一个人人看在眼里却没人认出的重要问题,或者因为团队的约束不同,而对行业惯例做出有理有据的偏离。单凭一个新奇的观点是不够的;偏离的背后需要有价值和推理。

他承认主观性仍然存在,经理们必须在例子上进行校准。现有的科技公司职级体系并非完全坏掉,他预期会有边际上的改变,而不是完全不同的结果。他想要的区别,是稍多地关注那些产生好结果的领先行为,而不是只奖励一个已经达到的职位或结果。

当一个项目被降低优先级时,出色的工作仍然能得到奖励吗?

Brian Attwell

能,在他的体系里。如果一个人做了出色的工作,而领导层因为与那份工作无关的原因取消了项目,这个人的贡献仍然可以被评估。他把较晚取消的责任,部分归于领导者。在最高的级别上,他预期在“一个项目是否应该存在”上有更强的业务判断,所以这项限定会改变这个论证被评估的方式。

为什么一些大公司,不对最高绩效者给予强有力的奖励?

Brian Attwell

Attwell 认为,它们有时仍然能留住人,尤其是当已有股权的增值,让薪酬感觉不错的时候。他反对把过去的投资收益,作为减少未来奖励的理由,并说他的公司试图避免这一点。他赞成围绕公平来设计流程,以获得长期的组织收益。这是他对激励的判断,并不是对每家大公司薪酬政策的经过核实的描述。

在谷歌起步,让你学到了什么?

Brian Attwell

这让他对大型科技公司的管理水平持怀疑态度。他回忆起一位他认为几乎不干活的队友,而一位经理和一位总监却强调,这个人讨人喜欢、人缘好。Attwell 提出了抱怨,这个人最终调去了别处,不过他无法证明是自己的抱怨导致了这次调动。

他认为,领导层至少应该进行一次严肃的绩效对话。这则轶事是他对某一情形的视角,并不是读者可以独立核实的评估。

大公司为什么可能避免这种艰难的对话?

Brian Attwell

Attwell 认为,个别团队的表现,与大公司近期的业绩之间,联系可能很弱,这让经理们可以把方便放在艰难的改进之前。提高标准要花力气;对人少要求一点,往往几乎不会遇到阻力。他预期标准会向下滑,除非领导者有意去抵制这种趋势,或者一场危机迫使改变。

他还说,好几位谷歌经理曾告诉他,过去有一项策略:即使聪明人没有产出,也要留住他们,部分原因是不让他们去竞争对手那里。他明确说,自己没有看到过书面文件,也无法证明它存在过。这种不确定性是核心;这则轶事不应该变成一项已确立的公司政策。

你认为主要为了不让人才去竞争对手那里而留住人才,有道理吗?

没有。他怀疑一家公司能垄断智力,因为有能力的人有很多。他的回答针对的是他所理解的那种策略,尽管所谓的政策依然未经核实。

与特拉维斯·卡兰尼克(Travis Kalanick)直接共事是什么感觉?

Brian Attwell

除了人们熟悉的那种强度,Attwell 还看到了他有耐心的教学的一面。在一次资深工程师的集体外出活动中,卡兰尼克在工作环节之间,教人们玩西洋双陆棋,并指导大家滑水。Attwell 说,他很喜欢那种耐心,包括对不那么擅长运动的队友。这个个人故事增加了不同的维度,但并不声称它代表每个人对这位创始人的体验。

一个人应该主要因为创始人而选择一家早期公司吗?

Brian Attwell

他认为这可能说得通,因为一位拥有大量控制权的创始人,会塑造公司的构成、文化和标准。一位强大的人,可以成倍放大公司的效能,而错误的领导者则可能起反作用。建议是仔细评估这种影响,而不要单凭创始人的名气就当作保证。

什么建议对你的职业生涯影响最大?

Brian Attwell

一位高中的计算机老师,反复告诉他要自己想办法弄明白。Attwell 从来不知道,那究竟是有意的教学,还是老师自己不知道答案,但这帮助他接受了自主学习。他相信,大多数职业学习都需要这种习惯:不断地走出你已经习惯的领域。

关于这份资料

Atoms 的 CTO:智力、遗憾与特拉维斯·卡兰尼克的故事 | Brian Attwell

本节是对原始文字稿的转述。自动生成的字幕可能有错误。

观看原视频 ↗

开场的片段剪辑(0:00–约 1:30)重复了后面的交流,只呈现一次。

已省略结尾的感谢和频道请求(58:44 之后)。

这一精选章节保留了来源中关于职场、领导力和职业的段落。技术性的和无关的讨论已省略。

我的笔记在可使用本地存储时,笔记会保存在此浏览器中。
第 08 节 · 访谈

斯特凡·迈(Stefan Mai):管理层的成长与绩效政治

关于经理角色的转变、讲故事、组织的动荡、M1/M2 的行为、绩效分档,以及绩效改进计划政治的精选段落。

你在亚马逊成长为软件开发经理的过程中,有什么值得一提的故事吗?

斯特凡·迈(Stefan Mai)

Stefan 说,他的主人翁责任意味着他常常是事实上的技术负责人,实际上也在扮演团队经理的角色,因为他的老板没有时间提供经理通常提供的那些体面。头衔落后于他觉得自己在做的事,所以他争取了它。

他相信自己拿到它为时过早。他说,人们觉得自己准备好了,却没有意识到自己还有多远的路要走。大多数新经理在早期都会犯很多错误,而围绕他们的支持结构,在很大程度上决定了他们的结果。他的第一年很不舒服,他以自己没有完全看清的方式在失败。大约 18 个月后,他才开始摸到门道。

哪些早期的错误,让这个晋升为时过早?
斯特凡·迈(Stefan Mai)

Stefan 把管理称为一门几乎没有产出指标的软性学科,其中一部分工作,是讲述你的贡献,以及你是如何帮人升级的。他缺乏的恰恰是软技能。他没有了解每个人的目标,也不知道怎样让人们敞开心扉,说出什么对他们最重要,所以无法针对个人量身定制支持或任务。他称这是一个初级的错误。

对于新经理如何让人说出自己的目标,你有什么建议吗?
斯特凡·迈(Stefan Mai)

Stefan 说,新经理的处境很微妙,因为团队原来是把他们当作同级来认识的,而新的权力关系腐蚀了这些纽带。经理需要了解职业目标,以及当前的工作中,有什么在拖这个人的后腿,而不仅仅是一位朋友这周过得好不好。

他的第一条建议是积极倾听,工程师可能需要一段时间才能学会:表现出兴趣,把说过的话反射回去,让对方觉得被听到,并提出表明好奇的问题。他说,工程师常常说话几乎像 API 一样,而大多数人不是那样的。他补充说,早期他把一对一,开成了交易式的“购物清单”,并认为开场的闲聊是浪费时间。他现在看到了它的价值。

你对改进讲故事有什么建议吗?

斯特凡·迈(Stefan Mai)

Stefan 称讲故事是一项基础技能,并说其中一部分是练习。人们一直在讲故事,却没有留意:回忆细节是一个故事,你给自己起床找的动力也是一个故事。他的第一个窍门,是留意这些时刻,并问自己今天在给自己讲什么故事,因为一个版本帮你起床,另一个则不然。一旦你能批评自己的故事,你就可以练习把它们讲得更好。

他说,作为经理,这对他来说很自然。每隔几个月,他会回顾团队完成了什么,并清晰地把它描绘出来,让人们感到自豪,比如他们从一个两个人的团队、一个糟糕的值班起步,把它修好了,并用腾出来的精力去交付。

Stefan 的主张是,一支觉得自己在赢、并由经理来定义“赢”意味着什么的团队,会在下游得到许多别的东西:人们避免零和思维和争吵,并对自己的工作感到兴奋。没有那个故事,这些问题就会溃烂。

你的经理在做什么?你是怎样在拥有头衔之前,就做起经理的角色的?

斯特凡·迈(Stefan Mai)

Stefan 的经理是一位资深经理,本应管理其他经理,却不想招别的软件开发经理,或者想尽可能拖延。Stefan 的印象是,这是一种保持对产品掌控的方式,而他喜欢这样:与设计一起工作,并为市场打磨它。Stefan 认为,这是不是经理时间的最佳用法,是值得商榷的。经理传统上负责的任务,比如检查进展、了解职业发展和指导,都被抛在了一边。

那个组织里的情绪是负面的吗?
斯特凡·迈(Stefan Mai)

Stefan 说,很多人对这种状况相当不满,他不会说情况特别好。

在你亚马逊任期的最后,是什么让你离开并加入 Meta?

斯特凡·迈(Stefan Mai)

Stefan 首先强调,亚马逊是一个特别而值得待的地方,无疑是成功的,并且有强大的工程学科。他离开的理由,是在那里待了相当长的时间之后逐渐累积起来的。

第一,要在亚马逊成功,需要同化到一种独特的领导风格里,公司称之为“与众不同的做事方式”(peculiar ways)。他逐渐觉得,这会让你成为一个好的亚马逊人,却不一定是一位好的工程领导者,并担心自己没有成长。第二,亚马逊把薪酬保持得更平均,这有一定的代价。他回忆起一次晋升或极高的评级,薪酬却没有变化,被解释为股价的增值,他觉得这令人沮丧,因为这适用于整个团队。

第三,当一位 Facebook 的招聘人员联系他时,他并不喜欢那个产品,却钦佩那里的工程文化。那个团队在做诚信(integrity)方向,负责儿童安全和防范恐怖主义。在亚马逊,他的供应链和机器学习工作改变的是利润,对人有一些影响,但没有同样的质性影响。前两个原因让他去看机会,这一个则把他推向了跳槽。

亚马逊的“与众不同的做事方式”中,哪些部分适合亚马逊,却不适合一般的工程领导力?
斯特凡·迈(Stefan Mai)

Stefan 先说,所有的领导力都是取舍,没有哪种风格是最好的。亚马逊的做法,源自一家长期靠低利润率和运营精益运转的公司。每一个管理层,都会深入参与它之下各层的细节,所以即使作为一线经理,他也被期望随时知道团队里每个人在做什么。

好处是纪律:事情不会凭空发生,人们紧密跟踪指标。代价是创造力被扼杀,他直到离开之后才看到这一点。在他看来,它限制了亚马逊追求新产品的能力,同时使它在目标是把收入或成本推动百分之一的增长阶段,非常有效。

他使用了 Kent Beck 的“探索、扩张、榨取”(explore, expand, extract)框架。在探索阶段,比如在种子期公司,上行空间是不对称的,快速行动很重要。在榨取阶段,最好的情形是在一场迫近的灾难性风险面前,取得一两个百分点的收益,所以规避风险是合适的。Stefan 发现,亚马逊的文化偏向后面的阶段,部分是由于它成长的方式。

你从一线经理晋升到高级经理的背后有什么故事?

斯特凡·迈(Stefan Mai)

Stefan 在加入 Meta 大约三年半后得到晋升,那段时间里换了大约七位经理。这种动荡拖了他的后腿,他说,他晋升故事的一部分,就是如何在组织变动中保持势头。

入职时,他想很快变得有用,所以加入了值班并写代码,这与他的工程师和兄弟团队建立了信任。这无法持续,所以他转向了招聘,他说在那里,他从总监那里得到了一张空白支票。他说,人们如何看待一位经理,是逆风或顺风,而被贴上标签可能是毁灭性的,因为人们很难更新自己对某人将成为什么样的人的看法。

一旦他的团队的成效得到展现,他就得到了另一位经理。他说,领导一位领导者,既是又不是与领导工程师一样:这个转变比成为经理要小得多,但把它当作完全一样,很快就会失败,而对许多人来说,结局是兵变。在经理的层层叠叠之间,有一种未言明的竞争,因为如果组织没有增长,叶子节点的经理,可以通过取代他们所汇报的人来晋升。他的晋升,发生在他的组织达到大约 30 到 40 人的时候。到那时,他与其他 M2 一起坐在校准会上,很难否认他在做这份工作。

这种兵变在实践中是怎样浮现的?
斯特凡·迈(Stefan Mai)

Stefan 说,最容易看到它的地方,是隔级会议,在那里,经理们抱怨自己的经理没有提供帮助,不了解他们的职业发展,或者变更优先级太频繁。有些牢骚是关于真实的问题,有些则是提高一位经理相对于他们自己老板的地位的方式。

他讲述了与总监的一次谈话,关于不同组织里两个职责重叠的团队。Stefan 看到的是一次科学实验:让它们并排运行,看谁赢。总监称那是天真,因为这两个团队会找到与它们的目标无关的办法,互相拆台,而摩擦会使任何收益相形见绌。Stefan 说总监是对的。他补充说,大多数人的意图是好的,但想要以不一定与组织一致的方式移动和成长,而一位资深领导者的工作,就是把这些对齐。

有没有一盘秘密的棋,在业务动机的背后,藏着个人的职业动机?
斯特凡·迈(Stefan Mai)

Stefan 不会称它是秘密,因为它相当明显。很少有人的主要目标,是让 Facebook 更有价值。他们的目标各式各样:金钱、职位或影响力、有趣的问题,以及与某些人共事。

围绕一个有趣的项目,他举的例子是:结成搭档,组成联盟;通过抢先署名来“舔饼干”(cookie-lick,先占坑);在一篇帖子里宣布它,让人很难被拉走;或者表明别人没有能力。在他看来,意识到这个维度,是成为任何大型组织资深领导者的关键。

这种零和的行为,在萎缩或停滞的组织里是不是更常见,而增长会带来充裕?
斯特凡·迈(Stefan Mai)

Stefan 同意。零和的心态通常在“赢”变慢时出现:组织停止增长,成功不那么明显,人们重新定义它。领导者的工作,是让团队具备赢的条件,而关注绩效是最基本的事情之一,许多其他问题都在下游。他补充说,不同的领导风格适合不同的阶段。早期的 Facebook 领导者,是乘着增长浪潮的、有才华的工程领导者,而同样的人在平台期是否表现最好,他说,是一个悬而未决的问题。

所以兵变,就是经理告诉他们的隔级老板,说你在瞎折腾?
斯特凡·迈(Stefan Mai)

Stefan 说,它看起来就像任何一个心怀不满的团队:人们因为不开心而发出声音,隐含的目标是改变,最明显的是改变人。他补充说,资历越高,对结果的控制就越少。一位资深领导者,如果他的经理表现不佳,就无法替那位经理做那份工作,否则这位经理会讨厌这一点并离开。你越往上走,对直接下属的影响就越小,行动就越二元化。扭转局面的杠杆更少。

经理比个人贡献者更难被裁吗?

斯特凡·迈(Stefan Mai)

Stefan 说,调动经理本质上是痛苦的,因为爆炸半径更大。撤换是否困难,取决于这个人是不是承重的:一位拥有紧密团队和深厚领域知识的人,如果他的跨职能搭档没有尽到责任,就很难被调走。如果团队看不到什么价值,而搭档们在抱怨,撤换甚至可能令人振奋。

关于裁员,他不认为经理不太容易被裁。大多数公司都有经理与个人贡献者的目标比例,所以裁掉许多个人贡献者之后,需要的经理就更少了。公司还会做管理幅度的缩减,他相信亚马逊最近就做了,而经理们首当其冲。他不认为这对一位同级别的个人贡献者来说,更容易或更难。

在一家很小的公司和一家很大的公司里,哪种领导力最有效?

斯特凡·迈(Stefan Mai)

Stefan 说,小公司需要能鼓舞人心的执行者。工作是全员上阵,人们想为一位令人印象深刻、能做他们的工作并随时顶上的人工作。随着公司扩大,这变得更难,而这些人往往缺乏所需的组织能力。他说,在大公司里,专注是一种珍贵的商品。那些在没有对齐、也没有在组织结构图上下传递信息的情况下,就冲向一个机会的进取者,会碍事,并分走核心举措的精力。

他对比了亚马逊和 Meta 的扩张方式。亚马逊在团队之间建立了具体的、类似 API 的边界,每个团队拥有两三个指标,这样领导者可以把可靠的部件,组装成一个高耸的堆栈。代价是在组织的接缝处损失了价值,并对变化反应迟缓。Facebook 的组织是可塑的:工程师在项目之间流动,任务分配很弱,代码是共同拥有的。它的领导者需要软性的对齐技能,了解人们的长处,以及如何推动和激励他们。

Stefan 补充了一个提醒:一家公司不能只配备精通组织的人,因为那会变成负和,鲨鱼们互相争斗。他举 OpenAI 为例,并指出自己没有在那里工作过,依据的是它的招聘流程,以及与内部人员的交谈。它的面试更看重技术成就,而不是组织技能。他说,那里有很多政治,但在早期阶段,它需要技术上的成就者来吸引人才。随着组织扩大,会出现熵增,就需要能驾驭它的人。

如果把一位典型的 M1 放进 M2 的角色,最大的技能差距会是什么?

斯特凡·迈(Stefan Mai)

Stefan 说,主要的差距,是可信地为向你汇报的人增加价值。管理经理的人,与团队互动的方式更少,而一位纯粹的 M1,很难认识到这些限制,以及在哪里使用那些重要的方式。

他的例子,是一位新的 M1 设立了隔级会议,并向一位间接下属 Jan 提出引导性的问题,问她的经理 Jim 有没有把工作做好。一周后,Jim 找这位 M1 对质,而 Jan 说,这位 M1 有 Jim 所缺乏的洞见。这位 M1 绕过了 Jim,打击了 Jan 的积极性,并制造了新的问题。他说,资深领导者的小动作有放大效应,你要么通过观察,要么通过拥有一个关于事物如何传播的良好模型来学会它们。

这样的错误,是新 M1 失败的简单方式,他说领导层预料到了它们,就像对第一次当经理的人一样。战略和组织设计的错误,是后来的事,但头几周里细小的行为错误,就可能让你栽跟头。

个人贡献者和管理的成长路径如何比较?两者都是以能力为本吗?

斯特凡·迈(Stefan Mai)

Stefan 说,在高层,一切都变得不透明、模糊。在校准会上,他发现很难接受非常资深的个人贡献者,在没有可见证据的情况下大放厥词,因为不清楚他们只是身处有价值的举措周围,还是真正推动了它们。经理也一样:归因很难。在较长的一段时间里,比如在一个岗位上持续成功四年,是无可否认的,但如果以半年为单位,就可疑了。

对于六级、也许七级的个人贡献者,外部观察者更容易判断,而一位 M1 的团队和交付物,也让人能有一个不错的判断。再往上,处于领导链之外的人,看不到那么清楚,Stefan 在许多管理工作里,看到了一些无人问责的现象,好比在股市里评判一家公司的领导团队。他说,到了某个层面,很难拿到数据。主持人把这总结为早期的晋升最容易核实,而后期的晋升更容易受观感和叙事的影响,Stefan 说这是个很好的总结。

Meta 和亚马逊之间,有哪些突出的文化差异?

斯特凡·迈(Stefan Mai)

Stefan 说,亚马逊是有纪律的,这是一项主要的优势,他预期那里的设计评审更有结构。他认为,Meta 的工程师平均来说稍强一些,但纪律性较差,所以评审更模糊。亚马逊更可预测,部分是因为业务节奏更慢,部分是因为你可以指望其他团队满足服务等级协议(SLA)。在 Meta,你可能得自己去做这个改动,因为负责人现在去做照片了。许多从亚马逊转到 Meta 的人,觉得这种没有结构的环境让人手足无措。

在 Meta,他看到的主要积极之处是开放与协作:他团队里的工程师,与全公司的各个组织合作,比如巴黎的一位研究员,往往不需要他来牵线。他也喜欢 Meta 对赋能于人的关注。亚马逊以流程为导向:当某件事失败时,它会增加一个机制来防止重演,而在 Meta,更可能有人说自己吸取了教训。他说,这有缺点,而 Facebook 的许多隐私问题,反映出它无法做好亚马逊擅长的流程工作。在机器学习方面,他对亚马逊的数据访问之难感到惊讶,各个团队都在建自己的数据湖,而 Meta 则有一个共享的数据仓库。

Stefan 更喜欢 Meta 的方式,尤其是在领导力方面,但也怀念亚马逊的一些东西。他认为,对一些人来说,亚马逊是更合适的选择,因为他们会比 Meta 混乱的执行方式更喜欢它。

Meta 和亚马逊的绩效体系如何比较?

斯特凡·迈(Stefan Mai)

Stefan 说,它们相当接近。有一个公开的流程,在其中确定评级并告知下属,还有一个更私密的流程,通常仅限于较高的级别,用来决定把投入放在哪里:在亚马逊是“顶级”(top-tier)的认定,在 Meta 是额外的或可酌情发放的股权。目的是找出公司想留住的关键人物。无论哪家公司,人们都必须相信这个流程奖励绩效。

他曾经跟踪过 Meta 评审周期(PSC)所花的时间,并估算每位工程师的成本大约是 15,000 美元。人们很容易反应说这是浪费,但他说这是只见树木、不见森林:评审流程的公信力就是全部的关键,如果人们不相信它会为他们带来结果,他们就不会努力表现。

他看到的一个差别,是 Meta 愿意为最上面的五分之一不遗余力。亚马逊在这方面做得较少,部分出于节俭,部分出于公平。在他的组织里,一些工程师通过额外的股权,拿到的薪酬大约是同级的两倍,因为他们被视为非常重要、前途无量。在亚马逊,这种情况不常见,公司往往会想办法把它收回。

关于可酌情发放的股权或顶级认定的对话是怎样进行的?
斯特凡·迈(Stefan Mai)

Stefan 说,通常由副总裁和总监主导,让经理们参与到什么程度则各不相同。被问到谁应该得到,是信任的标志。问题是谁有发展轨迹,有“火箭船”的势头,即使在一个很出色但不算卓越的半年之后。在亚马逊,他回忆说,增长和可替代性(也就是这个人离开会不会让组织垮掉),是两个维度。这些岗位可能很有利可图,因为当组织依赖某个人时,公司会收紧“金手铐”。

你经历过低绩效者的配额吗?它们是怎样运作的?

斯特凡·迈(Stefan Mai)

Stefan 说,每家有规模的公司都有。在 Meta 的 PSC 流程里,一个仅仅算好的半年,会被写成惊天动地,而评估通胀的方式,在平均意义上不可能是真的。所以公司以一个分布为目标,并为了保持高绩效,必须让一些人离开。经理们不喜欢这样,Stefan 也包括在内,但如果一个团队不对低绩效者采取行动,团队就会受苦,因为它看起来不再公平。

他说,被放入较低分档的比例各不相同,通常是 7% 到 15%,有时高达 20%,在亚马逊叫“需要改进”(needs improvement),按字幕所述,在 Meta 叫“部分达标”或“大部分达标”(meets some/meets most)。那个分档里的一些人,预计无法过关,而那时绩效改进计划就开始了。经理们为不让人进入这个分档而争斗,大多是为了保住面子。

他说,最糟的情形,是先告诉团队他们有多努力,然后被你的总监告知必须有人进入低分档,于是不得不告诉那个人,他们的工作是不可接受的。更好的情形是,经理及早传达较低四分位的结果,这样就没有人会感到意外。

绩效改进计划管用吗,还是只是为了留下书面记录的形式?不同公司之间有区别吗?
斯特凡·迈(Stefan Mai)

Stefan 说,人们当然可以走出绩效改进计划。它首先是一份法律上的书面记录,但为了让它可信,人们必须能够通过它。人力资源部通常起调节作用,而它为员工争取的意愿各不相同。

在亚马逊,在他任职期间,人力资源部主要希望经理们把各项都打勾,他称这是一种相当残酷的文化。期望被设定,员工要么扭转局面,要么离开,经理有很大的酌处权。由于大多数经理不喜欢解雇人,一位经理可能真心希望员工成功,但他们的手脚是否被束缚,则取决于别的某种力量。

在 Meta,他说,人力资源部希望在让一个人离开之前,所有的途径都用尽。现代的 Meta 可能不是这样了,但在几年前是这样,部分是为了保护它作为雇主的声誉。Stefan 说,这听起来冷酷,但公司必须奖励绩效,所以解雇是整个图景的一部分。它们应当被公平而细心地处理,但必须发生,否则公司撑不了多久。

考虑到你在岗位上待了大约四年,你对跳槽怎么看?

斯特凡·迈(Stefan Mai)

Stefan 说,对处于较低级别的、有野心的人来说,换工作通常有好处,因为成长往往发生在你在一个新环境里感到不舒服、并必须泛化自己技能的时候。他自己并没有这样做,因为他的动力是深入:大约两年之后,他到达能产生影响的程度,这是他觉得最有回报的。

在较高的级别,他说,频繁调动是个坏信号,因为很难深入到足以建立关系和理解领域。作为招聘经理,他会对每 18 个月或两年就换一次工作的资深者持怀疑态度,因为他会花一年时间让对方上手,然后看着他们离开。对中级招聘来说,这是不错的任期,但对 Staff 级别,他会犹豫。早期,换工作是合理的;随着资历增加,找到能扎根的地方是有回报的。

主持人提出,信誉在一个组织内,像滚雪球一样复利累积,这就是为什么跳槽在后期帮助更小。这符合吗?
斯特凡·迈(Stefan Mai)

Stefan 补充了一个陷阱:雪球可能变成枷锁。有些非常资深的工程师,因为他们创造的系统而出名,无论怎样努力转向新的方向,大家都因为那件事而认识他们,他们就被困住了。他建议问问自己有多舒服。如果你没有受到挑战,即使在资深级别,也可能是该换地方的时候了。否则,雪球对你有利。

回顾你的整个职业生涯,你什么时候成长得最多?为什么?

斯特凡·迈(Stefan Mai)

Stefan 说,主要是在转折点,当他身处一个新的领域,一边学习一边应用的时候,这对他的技能进行了压力测试,并显示出哪些是持久的,哪些是假的。转到 Facebook,在公司承受着大量压力的背景下,以意想不到的方式拉伸了他的领导力。转向以机器学习为重点的角色,让他觉得有很多东西需要证明,这带来了他所欣赏的外部压力。

另一些成长发生在较小的跨度上。他作为个人贡献者和经理的大部分效能,来自写得好,这主要是他在亚马逊学到的。他说,亚马逊的一部分写作文化是浪费时间,人们在细枝末节上吹毛求疵,但公司鼓励好的写作,这在某种程度上意味着好的思考。

对于需要提高写作的个人贡献者或工程经理,你的首要建议是什么?
斯特凡·迈(Stefan Mai)

Stefan 的主要建议,是先学会做一位批评者。弄清楚你在文字里喜欢什么、不喜欢什么:读一份文档,注意是什么打动了你,扫一遍看看能不能在几秒钟里抓住大局,并寻找不精确之处,或没有得到很好支撑的结论。

当他第一次在亚马逊写文档时,得到了很多负面反馈,而他却觉得写得很好。他引用了亚马逊的 PR FAQ 练习:一份新闻稿,加上常见问题解答:快进到最后,让读者对将要交付的东西感到兴奋,如果你在那里都卖不出去,那么它大概就不值得做。许多 PR FAQ 以“单一的玻璃面板”(single pane of glass)开头,这不会让任何人兴奋,而人们对“时间减少 50%”这样的东西会有反应。他说,承认你自己的写作,对任何没有深陷其中的人来说是无聊的,是写好文章的第一步。主持人把这总结为先作为读者磨砺你的品位,Stefan 补充说:然后再练习。

如果你能在刚毕业时给自己一些建议,你会说什么?

斯特凡·迈(Stefan Mai)

Stefan 说,他本可以在寻找指导上做得更好。他大部分是自己做的,而向像他这样的人问三个问题,也许就能省下几个月的辛苦。

他还提到书面的计划:盘点自己所在的位置,决定自己想去哪里,并列出一份清单。他的 Dropbox 里至今还有一份进入机器学习领域的旧计划。这样的计划带来了惊人的回报,而他至今仍然强调得不够。大多数人缺乏主动性,不会决定自己想去哪里然后去做,但世界对这样的计划是非常可塑的。

他回忆说,在成为高级经理后不久,他向自己的老板和总监说了一长串自己要完成的事,其中许多他不知道该怎么做。总监后来告诉他,那一刻他就知道 Stefan 会在这个角色上成功。他说,缺乏主动性让许多人止步不前,也很难灌输,但逼自己写下一份关于你真正想要什么的计划,对你的成长能力有巨大的梯度。

关于这份资料

Meta 高级经理(M2):经理的职业成长、绩效改进计划、亚马逊对比 Meta | 斯特凡·迈(Stefan Mai)

本节是对原始文字稿的转述。自动生成的字幕可能有错误。

观看原视频 ↗

开场预告的片段(00:00.32 至 00:50.40)预告了绩效改进计划、职业故事和亚马逊对比 Meta,因为其内容在后面完整出现,所以已省略。

主持人对这场访谈的介绍和框架设定(00:51.04 至 01:32.32),已缩减为第一个问题。

主持人关于亚马逊“节俭”原则的评论(01:03:21.92 至 01:03:32.80),作为插科打诨而省略。

主持人对 Hello Interview 的称赞,以及问题里的一则听众轶事(约 01:11:50.00 至 01:12:40.56),作为推广而省略。

已省略结尾的感谢、Stefan Mai 呼吁教练们通过电子邮件联系他以加入 Hello Interview,以及主持人对频道支持和嘉宾请求的话(01:30:18.48 至 01:31:24.80)。

这一精选章节保留了来源中关于职场、领导力和职业的段落。技术性的和无关的讨论已省略。

我的笔记在可使用本地存储时,笔记会保存在此浏览器中。
部分

与经理和赞助人共事

与经理和隔级领导建立信任,寻求有用的反馈,并找到愿意为你的成长说话的人。

第 09 节 · 访谈

回应反馈,并负责任地终止一个失败的项目

关于回应负面反馈、承担责任、项目取消和评审后果的精选段落。

能运行的代码,只是结果的一部分

最初想要支持完整的 React 实现的尝试,被证明太困难。于是他在现有的原生框架之上,设计了一个更小的类 React API。它奏效了:各团队交付了功能,整个屏幕和小的单元可以互相协作,嵌套的原生/跨平台嵌入也成为可能。然而,这个框架没有获得他所预期的采用。教训是,满足技术要求本身并不能让一个平台成功;他忽略了决定人们是否会使用它的其他因素。

这个失败的项目对绩效评估有什么影响?工程师是否应该害怕取消一个项目?

Meta 杰出工程师

嘉宾把负面的绩效反馈,描述为迫使他面对问题的信号。一位新经理以全新的眼光看待这项工作,并告诉他它行不通。他没有无限期地保护这个框架,而是为终止它担起了责任。

这意味着帮助各个团队,把他们现有的产品和功能迁移到原生代码、React Native 或另一种选定的方案,并把这个框架整个删除。他没有留下一个永久的残余,让别人需要去维护或清理。他还分享了经验教训。据他讲述,这种负责任的收尾赢得了好感,并在紧接着的一段时间里提升了他的声誉。这并不意味着每个失败的项目都能改善评估;重点是在这个案例里,有担当的收尾是什么样子。

回头看,哪些信号是你本该更早采取行动的?

Meta 杰出工程师

他说,在项目的最后一年里,他就知道进展不顺。作为一名多产的程序员,他的本能是多写代码、转换更多功能,直到采用率起飞。这种反应回避了更艰难的结论:项目本身可能就是错的。他希望自己当时更早地对这种不安采取行动,并找到另一种有用的贡献方式。

编辑综合

负责任地终结一个失败的平台

  1. 认识到不匹配把采用率和结果当作证据,而不只是技术上的优雅。
  2. 帮助依赖它的团队迁移提供一条切实可行的迁移路径。
  3. 清除遗留的负担删除被废弃的框架,而不是保留一个永久的孤儿。
  4. 分享经验教训解释什么失败了,以及组织学到了什么。
箭头表示对嘉宾收尾步骤顺序的编辑重构。
关于这份资料

Meta 杰出工程师(IC9)谈一次重大失败项目的教训

本节是对原始文字稿的转述。自动生成的字幕可能有错误。

观看原视频 ↗

这一精选章节保留了来源中关于职场、领导力和职业的段落。技术性的和无关的讨论已省略。

我的笔记在可使用本地存储时,笔记会保存在此浏览器中。
第 10 节 · 访谈

趁还能采取行动时,发现绩效差距

一位亚马逊首席工程师描述了强制排名的局限,并建议就岗位期望进行明确、及早的对话。

亚马逊期望“劝退”多少人?

嘉宾拒绝给出确切的数字。百分之五或六,是作为假设性的示例出现的,并不是披露出来的配额。据他讲述,近年来这种指引更像是一项强制要求,而缺少补员,让反复的削减更令人不安。

他承认自己视角的局限,作为一个认为自己是高绩效者的人:他参与过决策,却无法完全代表那种害怕被解雇的体验。他强调,绩效对话关乎真实的人,以及在情感上有重大影响的结果。

在正常补员的情况下,他可以把一些离职看作因文化不合而退出。没有补员时,反复的削减会触及那些以前会被认为足够强的人。他对失去工作的同事感到惊讶,尤其对把百分比套用到很小的管理者群体上感到不安。

反复的强制排名,会不会开始清除那些工作做得好的人?

会,这就是他的担忧。反复的 6% 的示例,每次都适用于剩下的那一群人;它并不只是原人群的三倍的 6%。随着群体缩小,处于中间的人可能会受到影响。文字稿没有提供足够的数据,来推断全公司的政策或实际的累计比例。

绩效讨论中会发生什么?资深的个人贡献者如何参与?

资深工程师开始被拉进来,据他所述,L7 或更高级别的参与者,会定期参与。他描述了漫长的会议,可能把人简化为指标和反馈。他没有披露详细的流程,但说它不是一个简单的线性算法。时间往往集中在分布的两端,而不是给每个人分配同样的讨论,部分原因是人群太大了。

对于处在绩效边界附近的工程师,你有什么建议?

他不喜欢把一个艰难的适配,当作这个人天生就是低绩效者的证据。通过一场要求很高的面试,已经说明有相当的能力;公司的期望、文化,与这个人的假设,也许只是不同。

他的建议是,找出期望没有被满足的具体维度,然后朝着扎实的表现努力,再去瞄准出色的评级或晋升。直接问经理期望是什么,以及你是否达到了。如果缺少了什么,就及早商定一份具体的改进计划。

他把这看作主动的成长,而不是等待一个正式的绩效改进流程。重点是在还有时间回应的时候,发现可以采取行动的信息。他估计很少有工程师会明确询问期望,这是一种印象,而不是一次经过衡量的调查。

一个人是否应该真的去要求一份“主动的”绩效改进计划?

他不会用这些话。有用的请求,是要求清晰和一个计划:经理期望什么,是否在发生,以及应该改变什么?

满足期望,难道不是显而易见的建议吗?

他认为,缺失的那一步往往是明确地去问。工程师可能是猜测标准,而不是从经理那里听到。即使听到的是令人不舒服的“表现不达标”,也比一直蒙在鼓里要好。

为什么要尽早寻求坏消息?

在职业生涯或评审周期的早期发现的问题,让人有机会去解决它。在评审前不久才发现同样的问题,几乎没有行动的余地。他把“坏消息要趁早,那只是消息而已”这句话,归于一位同事,而没有声称确定它最初的出处。

编辑综合

把不确定性转化为一场及早的改进对话

  1. 询问标准您对我这个岗位的期望是什么?
  2. 询问评估我达到了这些期望吗?
  3. 找出差距是哪个具体的维度在拖我的后腿?
  4. 商定下一步趁还有时间改进,制定一份计划。
编辑综合。箭头表示嘉宾所建议的对话顺序;它们并不保证某种特定的评审结果。
关于这份资料

亚马逊首席工程师谈幕后的绩效对话

本节是对原始文字稿的转述。自动生成的字幕可能有错误。

观看原视频 ↗

已省略约 11:25–11:43 的结尾片段推广和反馈请求。

我的笔记在可使用本地存储时,笔记会保存在此浏览器中。
第 11 节 · 访谈

David Singleton:沟通、文化与领导经理们

关于管理角色的转变、领导力沟通、组织设计、文化、合作关系与招聘的精选段落。

是什么让 Singleton 这么快就从个人贡献者转为经理?

David Singleton

Singleton 当时是一名玩得很开心的工程师,身边有一些产品经理,帮助团队看到自己的影响。Singleton 走进经理的办公室,说想当产品经理。经理建议改做工程管理,理由是它能带来类似的、来自影响力的成就感,同时保留技术工作。当时谷歌有一个叫 TLM(技术负责人兼经理,也叫“Uber tech lead”)的角色,Singleton 觉得这个选择很容易。Singleton 承认,团队需要经理,所以也是在解决经理的问题,但说自己确实从帮助人们一起做成更多事情中获得真正的能量。

Singleton 一直深入细节,写代码、做设计,随着时间推移,同时管理好几支团队,管理占去了正常工作日的大部分时间。谷歌鼓励员工利用 20% 时间,有那么几年,Singleton 白天管理团队,等大家都回家后,再做个人的工程项目,当时 Singleton 的配偶工作也非常忙。其中一个项目,就是 iPhone 上第一版的谷歌翻译。Singleton 给所有热爱代码、但又想要管理影响力的人的建议是:如果你能找到一个两者兼顾的地方,那会非常有成就感,而如果什么能给你带来能量,就去做它。

大多数尝试过 TLM 角色的人,说它意味着做两份工作,却两样都做不好。你为什么支持它?
David Singleton

Singleton 理解这种看法。Singleton 当时管理的项目,与自己作为个人贡献者所做的项目不同。Singleton 认为,当你既是自己所管理项目上的个人贡献者时,会更难,这也是 Singleton 现在在创业公司里正在做、并且乐在其中的事。很容易被吸进自己的工作里,忘记团队里每个人需要什么才能扫清阻碍,所以你需要一个持续的提示来切换模式。

多年后在 Stripe,一位管理教练 Jeff Lawrence,给了 Singleton 一个类比:领导者必须不断地从舞池走到阳台上,往下看一切是怎么运转的。Singleton 说,这对 TLM 也同样适用。这是一个很难做好的角色,但如果你有意在一周和一天里,创造出这样的时刻,用来迈出这一步,就是可能的。

作为谷歌的副总裁,Singleton 还在做功能开发吗?

David Singleton

Singleton 说,不是作为关键的贡献者。但 Singleton 深信(并把这个想法带到了 Stripe):无论多资深,高效的领导者都会找到办法,在 Singleton 所说的“一英尺”层面上,亲身体验团队的工作。作为负责 Android Wear 的工程副总裁,Singleton 把它描述为谷歌智能手表可穿戴平台的基础,并且几乎像总经理一样,管理着产品、工程、合作关系、用户体验和营销,Singleton 发现,亲身体验工程师所用的工具链很有价值。大约每两三个月,Singleton 会在代码库里做一个小项目,这让提出聪明的问题、看清为扫清别人的阻碍需要什么,变得更容易。

考虑到关于经理该不该写代码的争论,为什么不把动手的项目交给别人?
David Singleton

Singleton 区分了两个时刻。iPhone 版翻译项目,出现在担任 TLM 的第一年,当时端到端地做一个真正的项目,适合保持技能的敏锐。作为经理们的领导者,一直写代码会造成损害,因为这份工作是为团队提供背景、扫清阻碍、建立合作关系,以及在一家大公司里跨部门工作。Singleton 说,时间必须有大约 95% 花在这些事上。不过,Singleton 有一个源自经验的信念:刻意留出时间,以与团队相同的模式工作,会带来巨大的背景认知。Singleton 把它比作制造业里,经理和资深领导者到工厂车间干一天活的做法。

在 Stripe,Singleton 每季度至少这样做一次,也许最忙的最后一个季度除外,加入一支团队几天,去完成一个真实的小项目。Singleton 称之为“engineeration”,是 engineer(工程师)和 vacation(假期)的合成词。Singleton 告诉同事们,把这几天当作假期,遇到危机可以联系,其余时间不要打扰。每次,Singleton 都会写一份详细的摩擦日志,记下所有令人沮丧的事,它为 Singleton 作为 CTO,思考在哪里投资开发者的生产力提供了素材,也有助于在运营评审中提出好的问题。Singleton 鼓励其他经理也这样做。不是每个人都做了,但做了的人都觉得有价值。Singleton 建议在大型组织里觉得自己脱节的任何人都试试。

所以 iOS 项目是亲手贡献,而 engineeration 更像是为你自己做的教育性练习?
David Singleton

Singleton 同意,并补充说,它也是向别人展示你所见的机会。engineeration 的报告,给其他经理提供了背景,帮助他们修正心智模型,尤其是随着基础设施随时间变化。Singleton 称,这种教育性的用途,是它价值的核心。

你有没有担心过失去技术上的锋芒?
David Singleton

Singleton 说,并不真的担心。Singleton 热爱编程,写代码时会进入心流状态。在工作中的代码和个人时间之间,这些技能一直保持着活力。现在 Singleton 在工作中写很多代码,几乎没有空闲时间。当有空闲时间、并且有一阵子没写代码时,就会投入进去,比如过去好几年每年十二月都做 Advent of Code。

在成为经理与继续做个人贡献者之间,最好的决定方式是什么?

David Singleton

Singleton 同意这样的建议:管理和个人贡献是不同的工作,不应该同时做,并已经把这个建议给了许多人。如果你在考虑管理,Singleton 建议找一个可以全职做它的环境,把自己个人的工作放在一边,并密切关注是什么让团队高效又快乐。这样做的人往往会成长得很好,而两样都做则更难,除非精心设计结构。一家愿意让你试做管理的公司是幸运的,如果有这个选项,Singleton 建议接受。

当人们告诉 Singleton 想转管理时,Singleton 往往先试着劝阻。Singleton 说,十年前(现在已经少了),有一种奇怪的激励结构,把管理越来越大的团队,视为奖赏。谷歌和 Meta 这样的公司,此后培育出了让个人贡献者可以晋升到很高级别的职级体系。要做一位感到充实的经理,需要从让别人发挥出更多中获得大量能量,而这并不适合每个人。Singleton 建议思考,这是否让你兴奋,如果是,就去试试。

对于一心想沿着阶梯往上爬的人,你会推荐哪条路径?
David Singleton

Singleton 选择换一种方式回答。在谷歌的早期和中期,有清晰的职级结构,Singleton 承认自己玩了一阵子这个游戏,幸运的是,这与让自己有能量的东西吻合。在与许多人交谈,并反思后来的经历之后,Singleton 得出的结论是:要获得最大的成就感,办法是弄清楚你想从工作中得到什么。它可能是写代码的心流状态、对非常多人的影响,或是与一支团队的紧密联系。Singleton 建议跳出公司设立的那些显而易见的游戏,问问你想要得到什么,那可能是下一级台阶,也可能是完全不同的东西。Singleton 说,自己是在考虑离开谷歌的时候想明白这一点的,此后感觉充实多了。

主持人指出,有些人无论如何都会追逐那根胡萝卜,只要追的是对的那一根,就没问题。

当你从一线经理转为经理们的经理时,你最大的技能差距是什么?

David Singleton

Singleton 认为,自己作为非常早期的经理,学到了错误的教训。管着一支团队时,你可以做一切让这支团队快乐的事,但这与从它那里获得最佳影响并不相同,而且团队日后也未必会把那段时间看作职业生涯中最好的时光。Singleton 在管理一支团队时,曾赢得谷歌的“优秀经理奖”,这个奖是由团队们自己投票的,Singleton 说自己当时并不配得上。

作为经理们的经理,Singleton 认识到,完全快乐的团队很少发挥出全部潜力。要产生最大的影响,必须直接管理低绩效者,而且除非人们觉得周围的同事都尽到了责任,否则你无法让整个团队快乐。Singleton 看到一些经理,明白目标、清除干扰,并稍微推动团队一把,而另一些人,则在做 Singleton 过去做的事。Singleton 的做法,是帮助后一类人从团队里获得更多,并更频繁地走上阳台,看整个群体是怎么自我配置的。

工具也在变。一线经理需要良好的一对一、一对一的文档和目标,以及一些手艺上的辅导。经理们的经理,则可以思考组织的系统,比如产品评审和招聘流程,而 Singleton 说,自己很幸运,能在每个阶段改变这些。作为一位软件和分布式系统的爱好者,Singleton 觉得把组织当作某种操作系统来对待,令人兴奋,去问每日、每周、每月、每季度和每年所做的一切,是怎样组合在一起的。Singleton 称这是一整套一线经理不会去想的新工具箱。

对你来说,一个太快乐的团队是不是一个危险信号?
David Singleton

Singleton 不希望任何人不快乐,并渴望建立这样的组织:自己愿意在其中做任何工作。但随着时间推移,Singleton 比较了报告最高幸福感的团队,与那些说自己相当快乐、却就哪些地方可以做得更好提供了大量反馈的团队。Singleton 说,一年之后,第二组人,想要改变事情,并被放在需要思考自己影响的位置上,回头看往往度过了最好的时光。

在 Stripe,Singleton 学到了“第二类乐趣”(type two fun)这个词:那种你记得是人生中最好的时光之一、但在当下却很艰难的乐趣。Singleton 想为自己共事的团队创造很多这样的时光,同时保持可持续。主持人补充说,从不出任何岔子的团队,大概动得太慢了,Singleton 称这是个很棒的类比。

从非常资深的经理转为副总裁,发生了什么变化?

David Singleton

Singleton 说,这因人而异,但对 Singleton 来说,决定性的变化,是对工程之外的职能担起责任。头衔是工程副总裁,但那时谷歌几乎不在意职位序列,而是关心把完成一件事所需的全部技能组合起来。这改变了 Singleton 的视角。在当年 Singleton 视为工程优先的那家公司的早期,Singleton 曾以为其他职能是为了给工程师服务的。Singleton 现在说,这不是真的。如果没有其他职能来帮助确保你解决的是对的问题、得到正确的用户反馈并做成正确的商业合作,你就会少很多乐趣,也少很多影响。

这也是个人层面的调整。当你管理一个自己做过的职能时,你对怎么做这项工作有直观的感觉。Singleton 有设计师向自己汇报,并称自己是个相当糟糕的设计师,在 Figma 里会做得很差。Singleton 仍然得学会好好领导他们,并发现自己很在乎设计,可以就此进行高带宽的对话。难点在于建立信心:无法跳进组织里的任何一个座位并做好那份工作,并不妨碍自己去领导。Singleton 称这是那一跃中最大的转变。

你有没有把 engineeration 的想法用到其他角色上?
David Singleton

在 Stripe,技术组织里有一支团队为销售构建工具,所以 Singleton 做了对应的事,称之为“sales-occasion”,跟随几位销售人员学习。Singleton 这样做,主要是为了获得背景,以便为工程工作排优先级,并发现它非常有用。Singleton 不会对每个角色都一模一样地去做。对于设计,Singleton 说,那更多是跟随某个人学习,而不是跳进去做全部的工作。

工程领导者应该怎样提高沟通能力?

David Singleton

Singleton 把沟通分为说和写。对于面向大型听众的演讲,头号方法是练习。早期,Singleton 在向一大群内部听众做演示时相当紧张,一位支持自己的经理的回应,是给了更多练习的机会。这促成了 Singleton 在做广告业务时,向一整个礼堂的谷歌客户演讲。Singleton 回忆起在伦敦、国王十字车站附近的一场,可能有一千人,有现场演示,还有一段关于本地广告的励志演讲。这很吓人,但 Singleton 做到了,并说重复才是让它顺利的原因。

关于写作,Singleton 说自己仍在学习,并大量使用 Claude。Singleton 认为,把最重要的要点浓缩成一份简短清晰的文档是有价值的。向大型听众演讲,也许只有大约 30% 的人真正在听,而且人们会忘记。一份好的文档会被传阅、阅读和重温,所以它是一种大规模沟通的高杠杆方式。但 Singleton 认为两者都需要:人们会听与自己有私人关系的人说话,这种关系来自现场的交谈,而一旦它存在,书面材料就很容易扩展。

你是怎么获得主持人在你 2019 年 Stripe Sessions 主题演讲中看到的台风的?
David Singleton

Singleton 把功劳归于练习,以及推动自己练习的经理,并说在 2012 年的那个舞台上,人们会觉得 Singleton 力不从心。Singleton 补充说,一位资深领导者在办公室里,实际上总是在台上。人们从 CTO 的肢体语言里,对公司的计划获得信心,所以一次走廊里的闲聊或随机的一场会议,都是再一次提醒人们公司在做什么、为什么这样做的机会。

Singleton 还建议要有动态范围。如果一切总是“太棒了”,那么当它真的很棒时,没人会相信你。如果一切总是黯淡的,你就无法让人们兴奋地去翻越山丘。在任何会议上发言之前,不论大小,Singleton 都会花一点时间,想想自己究竟想传达什么。

大多数工程师被要求做全员大会演讲时,都会失去全场。经理怎样才能讲出能抓住注意力的故事?
David Singleton

首先,要准备。Singleton 说,自己常犯的错误,是答应出场,并随口说出脑子里最先想到的东西,而真正的答案其实是自己饿了。Singleton 认为,如果听众要花 15 或 20 分钟去听,讲者就可以花 30 分钟准备,并决定什么背景对他们最有用。

其次,Singleton 讲到一位谷歌的领导者 Alan Eustace,他回答问题时,会先退一步,解释这个问题背后的背景,以及它为什么重要,让不熟悉这个问题的人也能跟上,并学到更广泛的东西。Singleton 渴望做到这一点。这也有助于故事的弧线:先说为什么重要,然后是要点,也许再给一个细节,然后提醒人们你说了什么。Singleton 指出,这也是写作的窍门。

让人审阅你的文章,有多重要?
David Singleton

Singleton 是在 Stripe 学到这一点的。Singleton 过去会写博客文章,比如一篇关于神经网络控制的汽车的文章,得到了大量报道,并直接发布。在 Stripe,Singleton 看到优秀的作者感谢他们的审阅者,于是开始把重要文章的草稿发给别人,并说写作质量大幅提高。作者心里有一个关于读者知道什么的心智模型,而审阅者,包括朋友和前同事,常会提出作者想不到的问题。Singleton 澄清说,这并不适用于每封邮件,只用于你真正想让它落地的重要信息。

对于资深领导者来说,除了辅导直接下属之外,有哪些高杠杆的方式来扩大规模?

David Singleton

Singleton 指出了组织的仪式和流程。作为职业早期的工程师,Singleton 曾觉得“流程”是个脏字,部分是因为 Symbian 的流程库,那是一种质量认证的做法,人们被要求查阅并遵循有文档记录的流程。实际上没有人这样做,如果有人问起,人们事后才填表。当 Singleton 成为组织的领导者,被告知要考虑流程时,第一反应是沮丧。从第一性原理出发,Singleton 认识到,重点在于事情借以完成的那些仪式和工作方式,而把它们做对,影响非常大。

作为一个例子,Singleton 在同事的帮助下,在 Stripe 设立了一组叫作“运营评审”(ops review)的会议。其中一个由 Singleton 主持的每周会议,审视最重要的事项,而一套嵌套的会议,则贯穿公司里所有的工程团队。Singleton 说,这帮助整个公司关注并改进了可靠性和效率等事项,而这些事如果只是与直接下属谈话,让信息层层往下渗透,是很难推动的。

你怎样判断一个流程是净正面,还是净负面?
David Singleton

Singleton 说,负责运行一个流程的人,必须确保它仅在对所有运行它的人都明确是净正面时才存在。Singleton 看到某些公司(不是指 Stripe)存在一个组织设计的陷阱:监督一个流程的人,并不是在乎它、或为解决一个问题而引入它的人。因为这是被分配的工作,他们很难去问它是否仍然合乎目的。Singleton 说,大型组织的领导者应当避免这一点,因为总是有大量工作,没有人应该觉得自己被困在无缘无故地继续做某件事里。

如果你把一个流程自上而下地交给一位技术负责人,怎样让他们对它保持热情?
David Singleton

Singleton 相信,有可能建立起由热衷于“为什么”的项目经理组成的团队。Singleton 帮助建立了 Stripe 的项目管理团队,并说其中绝大多数人专注于做正确的事,以及对 Stripe 用户的影响。这很大程度上来自公司文化,其第一条运营原则是“用户优先”,所以人们总会问这项工作为什么重要。

主持人补充说,你怎样授权很重要。Singleton 表示同意:告诉别人“去做这个”,只给对方留下“去做”这一条路,而描述问题、建议一个方向,并请对方主动去解决真正的问题,则会产生完全不同的结果。

借鉴伦敦的经验,你怎样让一个远程的工程站点承载正确的文化?

David Singleton

主持人指出,Facebook 伦敦站点的负责人,曾称赞 Singleton 给出了关于创建那个站点的最佳建议。Singleton 解释说,自己当时领导谷歌的伦敦工程站点,而另一位领导 Facebook 的站点,所以两人在人才上展开激烈的争夺,常常发现双方给同一位候选人都发出了邀请。另一个站点的负责人最终联系了 Singleton,这让 Singleton 很钦佩。Singleton 珍视一种硅谷式的态度:即使是激烈的竞争者,仍然会在手艺上互相帮助,并相信两人帮助提高了伦敦的工程水准。

对于一个远离总部的站点,比如伦敦到山景城,每天也许只有一小时的重叠,Singleton 推动团队能够自己扫清阻碍并自主运作,这样他们在重叠的时间里要做的事就尽可能少。每个伦敦的团队,都需要一个清晰而完整的使命、大量的自主权,以及独立执行所需的全部装备。Singleton 说,最糟的安排,是每个地方各有半个团队,因为扫清工作障碍所需的每天上百次对话,塞不进那个时间窗口。一个时区相同的站点,比如 Stripe 的西雅图办公室相对于旧金山,则可以设置得很不一样。

Singleton 还描述了早先的一位伦敦站点负责人,很少待在伦敦,并解释说,对这个站点最好的事,是待在山景城,建立私人关系,并把背景信息带回来。Singleton 后来也这样做,经常飞往加州,让别人不必去,并确保团队的能力被看见,比如曾做过 WebKit 的那些伦敦专家。

最后,Singleton 说,每个有效的远程站点,都有一点自己的文化。一种身份认同感,让人们愿意花精力去消除摩擦,因为他们是同一个“部落”的一员。但这种文化不能与整个公司的截然不同,否则人们就会开始把海洋另一边的人看作傻瓜。窍门是拥有足够的身份认同,让人们互相帮助,并植根于公司的文化。回应主持人的提示,Singleton 确认,这意味着 T 恤、笔记本电脑上的标志,以及聚会,讨论这个站点擅长做什么工作,之后 Singleton 又把这些带到了加州。

疫情之后,对一支团队来说,线下、远程还是混合,哪种最好?
David Singleton

Singleton 指出,Stripe 在疫情之前很久,就有了远程的中心,因为它认识到,优秀的技术人才无处不在。这促使人们有意地思考如何让远程团队变得有效。一个关键,是以文档为基础的沟通和决策文化:个人之间的视频通话或当面的对话,会被写下来分享给团队的其他人,而关键的决策都附有一份文档。Singleton 说,这对于某个决定可能更慢,但不总是如此,因为写作迫使人们进行有用的思考,并让每个人都理解背景、做出贡献并表示认同。

Singleton 还说,没有什么能取代线下相处的时间来建立融洽关系,但不必每天如此。按一定的节奏见面,也许每六个月一次,可以让远程团队工作得非常好。对一些团队来说,远程几乎同样有效,但 Singleton 个人认为,最好的是所有人在一个地方。Dev Agents 团队很小,一起位于旧金山,Singleton 认为这适合现阶段。随着公司成长,Singleton 预期会重新审视这一点,因为有些优秀的人无法搬迁,并说今天要建一家庞大的公司,很难不倚重分布式的办公室和远程工作。

哪家大科技公司的工程文化设计得最好?

David Singleton

Singleton 说,自己处于劣势,因为在大公司里只在谷歌工作过,对其他公司只是凭名声了解。据 Singleton 所述,谷歌的文化是非凡的:每个人都是来做大事的,被鼓励去产生影响,并被给予很大的自主权。但 Singleton 不认为它是经过非常刻意的设计的。它不是混乱,也有组织结构,但主要是自然生长出来的。

相比之下,当 Stripe 在扩张的同时设计自己的组织结构和工作方式时,Singleton 参考了那些做得刻意的公司,尤其是亚马逊。Singleton 与那里的许多资深领导者交谈过。Stripe 曾经开、现在仍在开的运营评审,就是仿照亚马逊的。Singleton 回忆起 Charlie Bell 花了一顿午饭的时间,讲解它是怎么运作的,而 Stripe 采纳了适合自己规模和文化的部分。Singleton 称亚马逊是其系统化的组织与运营设计最让自己受启发的公司,尽管从未在那里工作过。

Singleton 说,很想在每一家这样的公司里为一个项目工作,去亲身体验。比如苹果,打造 Singleton 喜爱的产品,内部不太透明,对自己的组织结构很刻意,设有一所“苹果大学”,新人在那里学习用苹果的方式工作。这让 Singleton 想起职业生涯之初与手机制造商打交道,看到许多达到同样目的的方式。Singleton 想从“自助餐”里挑选,但只在一家大公司工作过,并与另一家的领导者深入交流过。

Stripe 的运营原则似乎呼应了亚马逊的。运营原则与价值观有何不同?

David Singleton

Singleton 解释说,运营原则不同于价值观。早期的 Stripe 团队问,他们工作方式中,哪些让他们最有效。他们的原则是具体的,从高效同事的行为中提炼出来,并随时间重新审视。

最激励 Singleton 的原则,是对自己的手艺一丝不苟:为可靠性、打磨精致的细节和谨慎的对外沟通感到自豪。他说,这种用心对人们如何看待这项工作有巨大的影响,即使它很难量化。更宽泛的教训是,让一支团队成功背后的工作原则变得有意识、有目的。

在公司的哪个阶段应该开始考虑文化?领导者怎样让它落地?

David Singleton

Singleton 正在创办一家非常早期的公司,并认为文化从第一天起就很重要。在注册公司的那天,Singleton 和联合创始人们一起去喝了一杯,写下了他们的价值观,并在招聘和公司的运作方式中使用它们。因为早期的公司经常会被意外“当头一棒”,价值观有助于说明哪里该妥协,哪里不该。Singleton 说,现在就安排每周的文化活动还太早,在这个阶段,文化应当是自然生成的。但在较后期的公司里,你需要有意识地去做,因为公司是一大群人,如果没有什么东西以共同的目标和对齐把他们聚在一起,熵增就会接管一切。Singleton 说,如果你不在文化上投入,几乎可以肯定你不会有文化。Singleton 指出,像 Stripe 和亚马逊这样有意识的组织,往往非常有效,而 Singleton 早期工作过的一些没有这样做的公司,没能持续下去。

具体来说,工程领导者怎样让文化落地?
David Singleton

Singleton 点出两种方式。第一是做一个真实的榜样,也就是在一个你认同其文化的地方工作,并活出它。Singleton 在 Stripe,是因为在乎它的使命、它的用户,以及对手艺一丝不苟,并说如果不出现并践行那种文化,会很难受。在一个价值观与 Singleton 自己的价值观相悖的环境里,Singleton 不会待这么久。

第二是接受:文化就是你所容忍的任何行为。Singleton 第一次听到一位队友说,文化就是你所接受的行为,觉得这很悲观,后来发现它是对的。如果人们看到你目睹了某件越界的事却一言不发,那就成了文化,所以 Singleton 相信,要尽可能愉快、乐观地,当一点“文化警察”。Singleton 举了一个例子:一位资深领导者走过楼梯上洒了的饮料,随后停了下来,去厨房把它清理了,尽管有更重要的工作。只有几个人看到,但这个故事传开了,表明帮别人收拾残局值得花时间。

在 Stripe,Singleton 还通过一个许多人订阅的邮件列表,让报告 bug 变得容易,然后把低于标准的例子发到那里,用支持的口吻,有时附上建议的文案修改。后来,公司设立了“走访门店”(walk the store),在全公司范围的会议上现场使用产品,有时由 Singleton 主持,有时由别人主持,目的不是点名批评,而是展示公司所追求的。主持人称,这可能让人神经紧张。

Singleton 还描述了“摩擦日志”(friction logging),这是在 Stripe 学到、并在 Dev Agents 使用的方法。领导者,或者任何人,可以定期戴上用户的帽子,也许每周、每月或每六周一次,使用产品,把所有令人沮丧或奇怪的地方都写下来,然后用它来确定团队的优先级。即使是用户在公司内部的团队,也可以这样做。在 Dev Agents,团队每周使用所有功能,并写下一丝不苟的摩擦日志,来决定接下来做什么,这也显示出什么已经足够好,以及标准在哪里。

有哪些有意识的工程文化改变,成就了 Stripe 的多个九的可靠性?

David Singleton

Singleton 说,Stripe 在任期内达到了五个九以上的可靠性,并说自己听说上个季度达到了六个九。这些是 Singleton 的数字,这里未经核实。对于一家支付公司,每一秒的宕机都让商家损失真金白银,所以可靠性极其重要。Singleton 说,这始于有意识的行动。2020 年的疫情,让大批线下业务涌向线上,Stripe 的系统扩张得比预期快得多,所以公司知道必须提高标准。工程组织当时并没有为此做好准备。此前,它正确地专注于产品与市场的匹配,紧急情况随到随修,但到了规模化阶段,可靠性很重要。Singleton 称这个变化主要是文化上的。

Singleton 的做法,是给每支团队提供工具,用科学的方式权衡功能开发与可靠性工作之间的取舍。这意味着运营评审,加上一套嵌套的系统、会议和数据工具,以及反复查看数据并决定做什么的机会。简言之,就是建立“它很重要”的信念,搭建一套可重复的系统,让每个人都有正确的输入,并足够频繁地查看,以便采取行动。因为一切都被系统地衡量,并被广泛地呈现,Singleton 说,在效率和性能上也取得了进展。

可靠性要付出冗余和评审开销的代价。你有没有问过,Stripe 是不是为了这个成本而过于可靠了?
David Singleton

Singleton 说,在 Stripe,这一变化也让系统的效率显著提高。就整个行业而言,Singleton 看到系统不可靠至少有两个原因。一是试图满足超出容量的需求,这时你可能会过度配置,也可能没有在优雅降级和部分可用性上投入足够。另一个是缺乏护栏,无法阻止合理的工程变更把东西搞坏,而那里的解决办法则完全不同。

Stripe 在自动化测试和渐进式部署上投入很大。有一些时期增加了额外的评审,但这笔投入让整个组织都能走得更快。Singleton 的教训是:构建出色的自动化测试和渐进式部署,让故障在变得严重之前被发现,无论是代码、数据,还是功能开关,并对造成问题的原因问五个“为什么”。Singleton 说,在这个案例里,对生产力几乎没有取舍,对效率则完全没有。

结果是,合并到主分支的改动,会通过自动化的渐进式发布流程进入生产环境,通常当天就行。相比之下,在谷歌,大约每两周切出一个发布分支,部分靠手工测试,并用 cherry-pick 打补丁,然后在生产环境里待两周,所以一个改动可能需要大约一个月才能完全上线。Singleton 说,这样很难迭代,而当天就能向同事展示一个改动,要有趣得多。主持人总结说,“左移”消除了降低风险与速度之间的取舍,Singleton 表示同意,并推荐了 Nicole Forsgren 的《加速》(Accelerate)一书。

Stripe 做了什么,来招聘这么强的工程师,而又不依赖 LeetCode 式的面试?

David Singleton

Singleton 从吸引力说起。许多优秀的工程师想来 Stripe 工作并主动联系,通常是因为他们对这款产品有过良好的体验。Stripe 的核心是一个开发者平台,它拥有行业里最好的文档之一,这一声誉当之无愧。Stripe 把文档当作构建产品的一部分,由产品团队来写,而不是单独的团队,API 设计得很漂亮,并为呈现的方式感到自豪。所以,Singleton 说,推出一款出色的产品,人们就会想去做它。

关于评估,Singleton 说,在 Singleton 加入时,行业里仍有很多白板面试,Singleton 在 Stripe 之前的所有面试都是这种。Stripe 相信(Singleton 现在仍然相信),在白板上写代码,并不是模拟看一位工程师做真实工作的好办法。所以 Stripe 设计了一套流程,候选人用自己惯用的工具,在笔记本电脑上,与面试官结对编程,以提供尽可能真实的工作体验。这些练习是刻意设计的,用来选拔那些想对自己的手艺一丝不苟、并具备核心的工程、设计和探究技能、能发现需要做什么的人。Singleton 认为,这让人才的门槛多年来得以保持。

据说最大的公司使用 LeetCode 式的问题,是因为问题在规模化之后会泄露。Stripe 是怎么应对的?
David Singleton

Singleton 承认这是很辛苦的工作。面试题确实会在网上泄露,一旦发生这种事,你就需要一道新题,来公平地评估人,而不是奖励那些事先搜过的人。Stripe 里有相当数量的工程师对此充满热情,并带动了别人,所以出题是一项志愿工作。Singleton 说,领导者必须确保贡献者得到认可:Singleton 在工程全员大会上感谢了他们,这项工作也在把本职工作做好之外,助益了他们的晋升。

Singleton 补充说,如果 Meta 或谷歌说他们缺乏资源来构建好的工程面试,Singleton 不相信。在 Singleton 看来,只要他们想,就能做到,这是一种“显示出来的偏好”,说明他们有多在乎。Singleton 强调,两者都是了不起的公司,这并不是批评,只是说真正的用心,才使艰苦的工作成为可能。

所以要吸引优秀的人,就要打造出色的东西?
David Singleton

Singleton 称这既不是必要条件,也不是充分条件。你也许可以用高于市场的薪酬,把优秀的人吸引到一个并不出色的东西上,但人们真的会为一个可以证明很棒的东西而兴奋,而 Singleton 更愿意走这条路。它不是充分条件,因为候选人还需要看到,自己能学到东西,推进职业目标,并身边围绕着自己愿意共度宝贵时光的人。Singleton 说,它当然大有帮助。

Singleton 从 Stripe 的领导团队那里学到最多的是什么?

David Singleton

Singleton 说,从领导团队的朋友和同事那里得到的最大教训,是从第一性原理思考的价值,这是 Singleton 加入时不擅长的。在谷歌,行业里的许多工作方式是它发明的,Singleton 的习惯是问上次是怎么做的,然后重用。在 Stripe,面对一个问题时,反复出现的一句话是:问问究竟发生了什么,并理解其中的动力。一项相关的技巧,是询问几家外部公司的人,他们是怎样处理类似问题的,并进行三角验证。Singleton 说,这听起来可能很慢,但应用于最关键的问题,它带来了多重视角的好处,Singleton 至今仍这样做。

在你这个阶段,肯定有时可以走捷径,用经验代替第一性原理吧?
David Singleton

Singleton 认为,退一步从第一性原理推理,并检查自己是否真的见过这种情况,经常是有回报的,这非常了不起。Singleton 粗略的感觉(是估计,不是数据)是:80% 的时候,是你见过的东西,直接去做就行,而 20% 的时候,它有细微的差别,值得听听其他意见。Singleton 同意,它不是每天每件事都用的工具,否则一切都会陷入停滞。

Singleton 现在的日常工作,与第一次当一线经理时相比有多大不同?

David Singleton

Singleton 说,相当不同,主要是由于此后的经验和教训。Singleton 正在运用讨论过的许多东西:定期走上阳台,看看一切是怎样运转的,并把更多精力投入到每周的准备上,确保团队知道最重要的事情是什么。职业生涯早期,更多是凭直觉走向最明显的下一件事。Singleton 也发现有很多相似之处,所以既有点像回家,又像一个美好的新挑战。Singleton 不想去做任何别的事情,相信这是一次深刻的技术飞跃,并说这份工作很难,但很有回报,现在正在创造大量的“第二类乐趣”。

像做事故复盘那样回顾,Singleton 的职业生涯里有哪些做得好的地方?

David Singleton

Singleton 从早期选择里的运气谈起。落脚 Symbian 是一段塑造自己的经历,用 Singleton 的话说相当随机,所以 Singleton 不确定别人能从中借鉴什么。Singleton 说,更大的因素,是始终确保自己在学习,这解释了为什么在谷歌待了很久,也解释了在 Stripe 的愉快时光。Singleton 还在公司内部换团队,专门为了在舒适区之外学习。

举个例子,Singleton 在谷歌做安卓之前先做移动方向。有一个周末,Singleton 记得很清楚,移动端的搜索查询量超过了桌面端,对公司是一记警钟。那个做移动业务的小型旁支团队决定解散,把这项工作推广到公司的其余部分。Singleton 默认的路径,本来是加入安卓团队,后来确实去了。但当时 Singleton 决定,最值得学的是广告,因为 Singleton 完全不知道谷歌是怎么赚钱的。当时已经相当资深,加入的是一个人员大多在其中成长起来的组织,必须以惊人的速度学习。Singleton 现在理解了拍卖系统以及发布商和广告主的商业模式,如果没有这一跃,就不会懂。

你有什么遗憾吗?
David Singleton

Singleton 说,有很多事情会做得不一样,并对其中一些保持坦诚,比如作为早期经理相当糟糕,专注于让人们快乐,而不是产生影响。作为职业早期的工程师,Singleton 经常在会议上不发言,以为经理们和经理的经理们什么都知道,也都安排好了。Singleton 说,掌握最多背景的人,是在“一英尺”层面上动手构建的人。在许多会议上,Singleton 认为资深的人是错的,却以为他们一定知道,而实际上 Singleton 知道,是因为自己在做这项工作。

现在 Singleton 自己成了那些房间里的资深者,希望当时建立一种让人们发声的文化。Singleton 的心智模型是:每个人都只是一个人,脑子里只能装下那么多,所以如果你是专家,真的知道某件事,就假定别人可能是错的,并说出来。Singleton 说,在自己工作过的每一家公司,这都会得到奖励,Singleton 在自己领导的组织里也奖励它。如果你所在的组织明显不奖励它,Singleton 说,也许应该去别处工作,但大多数好公司不是这样的。

判断一家公司是否奖励发声,有一个方法是头衔不那么扎眼吗?
David Singleton

Singleton 说,没有硬性规定。2005 或 2006 年 Singleton 加入谷歌时,大多数入门级招聘的头衔都是“技术人员”(member of technical staff),重点是不让级别被公开看出,这样人们听的是你的想法,而不是你的头衔。Singleton 认为,这个特点在这样运作的组织里很常见,但并不是唯一的标志。另一个好的信号,是看到人们发言、提出好的观点、被倾听,并被鼓励再次发言。对于主持人猜测贝尔实验室是这个头衔的来源,Singleton 同意它大概是始祖,并指出业界各种做法之间的谱系。

有没有一本书真正影响了你的职业生涯?

David Singleton

Singleton 点出了英特尔前 CEO 安迪·格鲁夫(Andy Grove)的《高产出管理》(High Output Management)。Singleton 说,在谷歌遇到、并以为是谷歌发明的几乎每一种工作方式,结果都来自格鲁夫,包括 OKR 和如何开高效的一对一。这是一本很短的书,Singleton 在从伦敦飞往山景城的航班上读完了它,有点让人爱不释手。Singleton 承认,其中有些内容也许已不再适用,但说读它是一个关键时刻,让自己以不同的方式思考如何运作工作中的一切。

有没有一种习惯,在你整个职业生涯里产生了持久的影响?

David Singleton

Singleton 描述了一种规划的习惯。很长一段时间里,Singleton 只是做送到面前的事:邮件、日历邀请和已经排好的一对一,所以日历和收件箱支配着自己,即使有目标也是如此。Singleton 意识到这是本末倒置,并在多年前的谷歌时期,开始为每一周写一份待办清单。按 Singleton 的经验,一周是合适的粒度。周日晚上,Singleton 会问:要做哪些事,这一周才算很棒,并把它写下来。这份文档叫“火箭文档”(rocket doc),一旦谷歌文档支持表情符号,就加上一个火箭表情,以传达想要的能量。在这一周里,Singleton 不是去收件箱或日历,而是去火箭文档,来决定下一步做什么。

后来,Singleton 把这份文档分享给了行政助理,Singleton 称之为“作弊码”。共同的目标,是让 Singleton 把时间花在那些事情上,所以到周二中午,助理可能会问进展如何,并催 Singleton 去做原定的工作,并围绕它安排日历。

如果给刚毕业、即将进入这个行业的年轻的自己一些建议,你会说什么?

David Singleton

Singleton 会重复前面的教训。当你知道某件事,却以为是因为你不是负责人,就要开口。Singleton 相信,当你这样做时,好事就会发生,而且即使多做一些,在 Singleton 担任过的各个角色里,也会带来更多的好事。

关于这份资料

前 Stripe CTO:不靠 LeetCode 招聘、职业成长、作为领导者写代码(职业故事)

本节是对原始文字稿的转述。自动生成的字幕可能有错误。

观看原视频 ↗

开场的预告片段剪辑和重复的钩子,包括一个重复出现的关于竞争的问题和“我要选择换一种方式回答这个问题”(00:00.16 至 01:00.48);实质内容在概览和后面的几轮中只呈现一次。

Dev Agents 抢先体验的注册推介(平台注册链接)(01:53:21.44 至 01:54:13.92);同一段还包含主持人的下一个问题,该问题已保留。

Dev Agents 的结尾招聘推介和第二次抢先体验的推广(02:05:37.28 至 02:06:16.32),以及收尾的交流(02:06:17.92 至 02:06:20.24)。

主持人播客的片尾,请求互动、评价、嘉宾建议,并征集资深工程师的职业故事(02:06:21.36 至 02:06:55.36)。

未保留的简短玩笑和题外话:SEV 与事故(incident)措辞的对比(52:28.80 至 52:45.44);主持人对之前一期播客的交叉提及(54:03.76 至 54:27.12)。

这一精选章节保留了来源中关于职场、领导力和职业的段落。技术性的和无关的讨论已省略。

我的笔记在可使用本地存储时,笔记会保存在此浏览器中。
第 12 节 · 访谈

一位退休的工程总监:Netflix 文化、招聘、Meta 的领导力与工作生活平衡

一位曾在 Netflix 和 Facebook 工作过的退休工程总监,讲述 Netflix 的文化如何规模化,他如何招聘工程师,在 Meta 带团队学到了什么,以及 2004 年的一场病如何改变了他对工作的看法。

David 的观点:判断力、信任与平衡,比英雄主义和长时间工作更重要

主持人介绍 David 是一位退休的工程总监,曾在 Netflix 和 Facebook 工作,对话围绕他 36 年的职业生涯展开。在 David 看来,强大的工程组织取决于三件事:好相处的同事,一套公平而客观地记录谁做了什么的方法,以及一个让人们工作之外还有生活的节奏。他认为,工程判断力比 LeetCode 的速度更重要,新领导者在改变一支已经运转良好的团队之前,必须先赢得信任,而 2004 年的一场重病,让他反对 24/7 的工作文化。下面的一切,都是 David 的看法或来自自动生成文字稿的回忆,其中一些名字和数字未经核实。

Netflix 与 David 工作过的其他公司有什么不同?

David

David 说,之前的每一位雇主,从 IBM 到好几家较小的公司,都容忍“自大的名角”(prima donna):非常聪明、却很难共事、会对同事和客户大吼大叫、不能承认错误的人。他描述了一位 1990 年代被视为不可或缺的工程师,隔间里堆满了杂物,避开别人,在夜里修好问题,而经理们并不理解他的工作。当他辞职后,公司活了下来,团队的其他人也逐渐理解了他曾把守的那个领域。

David 说,在 Netflix,没有人是那样的。文化幻灯片里说,公司不雇用“聪明的混蛋”,并且会让任何难相处或难以接近的人离开,无论多聪明。David 称这在 21 世纪初是革命性的,并指出他现在所知道的大型科技公司,也都是这样运作的。

他与当时的首席人事官帕蒂·麦科德(Patty McCord)的面试,让他感到意外,她批准那家小公司的每一次招聘。David 说,她告诉他,Netflix 并不看重 24/7 的工作,他应该用一个八小时工作日里能做的事,给公司留下深刻印象。David 后来看到一位经理说,他无法继续全天候工作。麦科德谢过这位经理,然后告诉他不要再这样做,并把团队安排好,让他不必这样。David 称这在 2008 或 2009 年是不可想象的,并说他从麦科德身上学到的关于领导和协作的东西,比他认为的甚至从里德·哈斯廷斯(Reed Hastings)那里学到的还多。

David 给出了自己的例子。在早期不稳定的持续部署的尝试中,一位优秀的工程师说,David 一定喜欢周末休息,因为如果团队停止工作,系统就会垮掉。David 在一对一里告诉他去休假,并说自己不在乎东西坏了。这位工程师休了一周,其他人也休息了,David 说,团队随后用自己的方法很快稳定了系统。

David 以哈斯廷斯结束。据 David 说,哈斯廷斯把邮寄 DVD 视为通往流媒体的垫脚石,这就是公司不叫 DVDsbymail.com 的原因。哈斯廷斯不是视频专家,但组建了一支由强大的领导者和工程师组成的团队来解决这个问题。

随着公司的成长,Netflix 的文化发生了怎样的变化?

David

David 首先说,文化备忘录是志向性的。当人们问 Netflix 是否真的这样运作时,他回答说,它描述的是公司渴望成为的样子。

然后他描述了没能规模化的东西。Netflix 把功劳归于团队,而不是个人。当公司在 PlayStation 3 上推出服务时,David 说,索尼的 DVD 部门要求 Netflix 停下来,因为他们并没有为此设计这台游戏机,而 Netflix 继续做了。事后没有人点出那些奠基的工程师;功劳归于 Netflix。这在公司很小的时候行得通。当它承担了许多产品之后,个人的贡献就被淹没了,而如果工程师得不到认可,他说,领导者就会把功劳都收走。

Netflix 也没有工程职级。每个人要么是工程师,要么是资深软件工程师,名片上可以印除经理、总监、副总裁或首席之外的任何头衔。这适合一支全是资深者的团队。随着招来更多的初级工程师,David 认为,团队里既有强的、好的,也有弱的工程师,而如果没有客观的方法来区分他们并奖励胜利,最优秀的人就会离开。到 2010 年代后期,他一直主张设立职级。他假定此后已经加上了,但他已经离开六年了。

David 补充说,麦科德面试了几乎每一位早期的新员工,而哈斯廷斯每次会见几位新人,随着公司的成长,这无法继续。当他离开时,他觉得这份备忘录适合一家非常小的、有进攻性的、以工程为中心的公司。

文化备忘录是什么?
David

David 描述了一份大约有 15 张幻灯片的文稿,据他回忆,是在 2007 或 2008 年前后发布的。它的理念包括:不雇用“聪明的混蛋”,非常聪明的人,激励人们去扬帆出海,而不是告诉他们怎么造船,市场顶级的薪酬,以及一项“留任测试”(keeper test),据此公司会毫不犹豫地解雇人。David 称它在当时是革命性的。在他的理解里,它讲的是自由与责任:雇用出色的人,解释工作为什么重要,提供背景,并信任他们在没有微观管理的情况下去执行。

他补充说,人才不限于工程师。他的人力资源搭档会质疑他雇用或不雇用的决定,他说自己从他们身上学到了如何建设一支团队。

如果每个人都处在同一级别,Netflix 怎么给人们差异化的薪酬?
David

David 说,Netflix 通常不雇用应届毕业生,不过他找到了绕开的办法。薪酬遵循“个人市场顶级”的概念,备忘录鼓励人们去别处面试。他自己 2007 年的起薪是 175,000 美元,他称这在当时是不错的。他说,如果一年后谷歌给他开出每年 200,000 美元,他的经理就必须跟进,或者让他走。所以领导者必须跟踪录用通知和市场行情。

David 说,这变得不可持续。一位被匹配到翻倍薪酬的工程师,三年后可能赚到做类似工作的同事的三倍,而没有绩效评审或背景来解释这个差距。在另一个案例里,Netflix 发出邀请的五位候选人,各自都得到了 Facebook 高出约 1.2 倍的邀请,备忘录说要匹配,而没有职级,没有人能说得清这样做的理由。他用逐年的电子表格与领导层争论,并相信 Netflix 在他离开后修复了这一点,因为大公司需要薪酬区间。

David 怎样在招聘中识别真正优秀的软件工程师?

David

David 说,他的招聘一直成功,直到 Meta。像 Meta、谷歌、亚马逊和微软这样的大公司,需要结构和一致的标准,所以它们使用正式的面试体系。在较小的公司,当他自己做出雇用或不雇用的决定时,由他、三位团队成员和人力资源一起面试每位候选人。

他讲了一位 1990 年代末的候选人,她曾构建过无人驾驶列车的软件。David 是最后一位面试官,他的 45 分钟时段延长到了 90 分钟,两块白板上画满了状态转换。他说,她对由相互作用的各部分构成的复杂系统的把握,是他见过最好的之一。其他人问了她编码问题,她表现不错,但面试小组反应冷淡,他的老板也表示反对。David 争辩说,团队正苦于整合各个互不相同的系统,需要她。他们雇用了她,他说她表现出色。他声称,自己在小公司的招聘记录近乎完美。

David 知道他接下来的观点有争议:他不喜欢 LeetCode。他说,它显示的是,一个人为一个练习过很多次的问题,能多快地写出代码。他承认,以 Meta 和谷歌的招聘量,他们几乎没有别的选择。

他的替代方案,是工程基础:理解复杂的系统,强大的技术直觉,以及在数据不足时做出可靠的决策。他见过来自其他领域的工程师,在软件方面做得非常好。他也见过那些把 LeetCode 做得很出色、并演练过谷歌 type-ahead 这类系统设计题的人被录用,然后产出糟糕的工程,这是他在评审材料里看到的。他相信这种基础在很大程度上是天生的,就像音乐天赋,并说他可以帮助某人改进他们的软件,但无法教会他们做出好的决策。

他的第二个故事,是关于圣何塞州立大学研究生课程里的一位项目搭档,他在 50 多岁、加入 Meta 之前上了这些课。她当时快读完土木工程的硕士学位,在污水处理领域工作,想转入软件行业。David 对她的分析头脑和对统计学的掌握印象深刻,想让 Netflix 雇用她。她的带回家完成的视频软件任务,花了三周,还有新手的错误,所以为了帮助促成交易,David 建议她给团队教点东西。她在白板前花了两个小时讲污水处理,到一半时,David 意识到自己看到的是一个非常复杂的状态机。一位经理问,污水跟软件有什么关系,却还是雇用了她,后来在一次 Meta 的活动上告诉 David,她做得非常好。David 说,当你看到一个杰出的工程头脑时,LeetCode 的速度或者构建一个可扩展的 type-ahead 都无关紧要,因为那些可以很快学会。

David 承认,这种方式在 Meta 或谷歌无法规模化,在那里,法律和政策上的问题会让它行不通,所以它们设定一个标准和级别。他在级别方面的建议是接受较低的录用:在别处是 6 级、在 Meta 被给到 5 级的人,应该接受它,并按更高的级别去执行,因为奖金、乘数和后续的股票随之而来。一位定级过高的新人如果吃力,没有干净的补救办法。他的规则是,有疑问时,宁低勿高,然后赢得快速晋升。

你怎样发现那种基本的工程技能?有没有你会问的一个问题?
David

David 说,要面试这个人,而不是这套流程。那位污水处理的候选人,展示了对一个困难工程问题的精通,并把它讲给对此一无所知的工程师们听,直到那些听懂的人,看到了一个有限状态机。他认为,许多工程系统,比如发动机和其他机械系统,都可以归结为状态和转换,不过结构工程则不同。

Netflix 本来会以初级的级别雇用她,比如数据分析师。按通常的期望,作为一名完整的软件工程师,她会失败。他说,较小的公司足够灵活,可以雇用并培养这样的人。

David 共事过的最强的工程师是谁?这个人强在哪里?

David

David 点出了 Giannis,尽管他通常避免提名字。字幕把姓氏弄混了,所以这里省略。他们 2000 年在 InterVideo 相识。Giannis 当时已离开这个行业,去希腊教信号处理,2010 年夏天,David 趁着休息期间把他请来,帮助出一些关于并行编码的想法。David 说,这项工作催生了基于内容的编码(现在整个行业都在用),以及一项早期的专利。

Giannis 后来加入了 Netflix,David 说,他把这个想法进一步推进,字幕把它写成“convex all encoding”,大概是 convex hull(凸包)。David 说,它在给定带宽下提供最高的质量,现在是 Netflix 和 Meta 的模式。Giannis 还构建了一个用于评估编解码器的成本效益模型。David 认为他的长处,在于把学术的严谨性带入实践:决策依据的是在 1 万、一百万或十亿个视频上的测试,而不是两段压缩视频在理论上所显示的。

David 是怎样被招到 Meta 的?

David

David 说,Netflix 早期的文化幻灯片,建议经常去面试,以了解自己的市场价值。据他回忆,当 Facebook 在 2017 年末联系他时,他已经大约十年没有面试过了。用他自己的话说,他去的时候有点自视甚高,引用 Netflix 如何构建了最大规模的编码平台。一位面试官告诉他,Facebook 无法用 CPU 解决它的视频规模问题。David 被惊到了,后来向对方道了谢,并意识到自己对视频的理解过于狭窄。他得到了录用通知,却拒绝了,因为他还没有准备好。

不久之后,Giannis 告诉 David,他收到了 Facebook 的录用通知,以及他将要做的定制芯片(ASIC)工作。David 看到了他身上有一种已经有一段时间没见到的热情。他认为,Netflix 的文化不是围绕个人贡献建立的,可能没有奖励 Giannis,而且那里的问题对他来说也许显得不够大。David 说,他没有试图劝 Giannis 别走:作为他的老板,他不想失去他,但作为他的朋友,他无法反对。David 面试主要是为了锻炼自己的面试技能,但最终他看出,Facebook 的视频工作是一个非常难的问题。他的团队很扎实,接班人也已就绪,所以 2019 年他离开了 Netflix,Facebook 很快给了他一份工作。

在 Netflix,他的编码团队从一个人增长到大约 55 人,信任也随之增长。在 Meta,他接手了一支 55 到 60 人的视频处理团队,他们并不认识他。在一次早期的会议上,他谈了哪些方面需要改进。一位团队成员在一对一时告诉他,他才来了两周,就已经在告诉团队该做什么了。David 的结论是,他需要停止说话并建立信任,这是他从未需要培养的技能。

他的教训是,领导力关乎关系。如果一支团队是坏的,领导者的工作就是修好它。如果它已经执行得很好,工作首先是不要把它搞坏,其次是帮助它向前走,而他当时直接跳到了第二步。David 说,关于 Meta 最悲哀的事是,那是他的最后一份工作。他相信自己现在会是一位好得多的组织和工程领导者,但不再想承担那份责任,并说他在那里学到的关于工程领导力的东西最多。

具体来说,对于加入一支现有团队的资深领导者来说,建立信任是什么样子?
David

David 说,这意味着放慢脚步,在一对一上花大量时间,提问、记笔记,并了解系统、角色和人。他说,在技术岗位上,领导者必须理解团队为什么这样做事。

他的第一个决定,出现在团队需要一位经理的时候。许多人让他提拔一位现有的经理,但他不认识他们,并拒绝仅仅因为这在政治上看起来正确就做决定。在与他们相处一段时间后,他得出结论,现有的一位经理是正确的选择。那位经理一直觉得这个职位是他的,所以这段关系起初很艰难。David 对他说,很抱歉耽搁了,但自己需要先弄明白,而现在对他有信心。David 说,等到这位经理离开 Meta 时,他已不再往最坏处想了。

回头看,David 认为,他的投入还是太少了。他会告诉他的老板,在最初的六个月里,自己是在上学,而关键的决定会一起做出。

David 在 Meta 最喜欢的工作或项目是什么?

David

David 首先说的是,把 Netflix 级别的质量带到 Meta 的规模上,他说这成功了。然后他转到新冠疫情。他在 2019 年 7 月下旬加入,到 2020 年 3 月,所有人都在家办公。Meta 从夏天起就为除夕夜做规划,因为视频流量会在 24 小时内飙升。David 说,到 2020 年 4 月,每一天在上传、播放和直播视频方面,都像除夕夜。那些从未在这样持续的负载下运行过的系统,正在慢慢“失血”,问题之一是竞态条件。他说,印度总理当时正通过 Facebook Live 向全国讲话,他被这份分量吓坏了。团队在家工作,找到了问题,并解决了竞态条件。大约一个月后,系统和指标稳住了,David 说他为此感到自豪。

他还描述了自己对公司价值的看法是如何改变的。他起初是通过一种以美国为中心的视角,把 Facebook 看作一款社交应用。他逐渐看到 35 亿客户意味着什么。按 David 粗略的比较,Netflix 大约 3 亿的订阅者,是按收入计算全世界最富有的 5%,而 Meta 触达的是最富有的 50%。他称“富有”是个带倾向性的词,因为最底层的人每天靠大约 68 美元生活。他说,Instagram、WhatsApp 和 Facebook,是整个印度小商店的生命线,西雅图一位来自索马里的优步司机告诉他,WhatsApp 让他分散各地的家人保持了联系。

David 说,美国对社交媒体的讨论,集中在假新闻等危害上,而忽略了这些产品在别处如何改善生活。他相信,这家公司通过给人们一门生意、一个分享视频并从中赚钱的平台,以及一种与家人保持亲近的方式,改变了人们的生活,而能以小小的方式参与其中,感觉很好。

David 的职业生涯中,工作与生活的平衡发生了怎样的变化?

David

David 说,在 1990 年代末,他为一位有远见的高管拼命工作,是因为团队在努力追赶,而不是因为有人要求。在创业公司 InterVideo,期望是 24/7。他大约上午 10:30 到,晚上 10 点左右离开,有时凌晨两三点,常常一周七天,追逐交易,以在 IPO 之后抬高股价。

2004 年 1 月,他在一个周日病倒,并持续恶化。周五,他的妻子带他去了急诊室,他说,一位医生说那是结肠癌,伴有一处可能很快致命的梗阻。他住院大约三周,做了两次手术和化疗。那是三期,伴有淋巴结转移,他把自己的五年生存预后定为大约 25%。他的孩子们当时分别是两岁、四岁和七岁,他说最小的几乎不认识他。

在医院里,他决定自己的工作方式是错的。他告诉老板,他仍然想要这份工作,但无法以那种方式工作,并说如果一家公司威胁说,你不晚到就要开除你,那你能做的最好的事就是离开。他相信 InterVideo 是用工时来掩盖糟糕的领导。他称工作与生活的平衡,是被强加到他身上的,而他下定决心,永远不做一个期望人们为一份工作拼命的领导者。在 Netflix 听到公司不看重 24/7 的工作,对他来说是一个震撼。

他的建议是不要等到得癌症或心脏病发作。尽早把平衡融入进去,去休假,让公司独自撑一周。David 说,如果它离开你七天都撑不住,那是它的问题。

David 说,像 Meta 和 Netflix 这样的高绩效公司,常常被误解。他回忆起 Meta 的一张摇摇木马的海报,大意是不要把运动误当作进步。他建议与你的老板就最重要的工作达成一致,并告诉老板哪些任务你不会做;如果其中某一项很重要,就必须有别人来做,或者必须改变优先级。在大科技公司里,赶工期会来,但它应该是例外,提前计划,比如五六月冲刺,然后休假。他说,即使在 Netflix 或 Meta,如果经理提供清晰的背景,平衡也是可以实现的。

哪份工作让 David 学到最多?为什么?

David

David 说,他最近的四份工作,每一份都有贡献。第一份把他变成了一位高绩效的软件工程师,靠解决的问题而不是工作的小时数来表现。第二份给了他视频方面的基础。他说,Netflix 是从零到一,在那里,他学到了领导力、招聘与解雇、设定背景和跨职能工作,并把这些带到了 Meta。

他到 Meta 时缺少的,是一套关于规划、评审和绩效的客观流程。他称 PSC 绩效周期,既是他最害怕的,也是他最喜欢的一年中的时间。据他描述,每个人写一份自我评估,经理整理一份材料,附上与目标挂钩的反馈,然后经理们在校准会上为自己的工程师辩护。David 说,每位经理都认为自己的团队是最好的,所以目的是用数据来说服:谁应该得到什么级别,谁在一个项目上做了什么。他看重把每位工程师的影响记录在案。他说,离职的员工会保留他们曾拿到的每一份绩效材料。

David 曾听说过关于绩效周期的恐怖故事,但进去之后发现它很重要。他说,他最大的快乐,是给一位下属最高评级,他也看重帮助低于期望的人恢复过来。他补充说,他过去以为自己通过关于分片和微服务的书籍懂得了规模,但在他看来,那些作者并不懂 Meta 那个级别的规模。他到一份新工作里能带去的最有价值的东西,是一套客观规划、评审和绩效的系统。

有没有一本影响了 David 职业生涯的顶级好书?

David

David 选了一本 1990 年代末的书,他称之为《12 Secrets to Microsoft Success》;这个书名来自自动生成的字幕,未经核实。他说,它描述了微软的激进思维。一个想法是“押注公司”,他说自己在 Netflix、亚马逊和 Meta 都见到过,当一个大机会值得拿公司冒险、却不孤注一掷时。另一个是“好的失败”:在一家健康的公司里,项目和人都会失败,重要的是你怎样失败,学到了什么,以及这次押注是否合理并被及早管理。

据他回忆,这本书里提到,微软是第一家公开说要雇用前 5% 软件工程师的公司,并创造了“吃自己的狗粮”(dogfooding)这个词。他说,当 NT 服务器在 1990 年代中期严重出问题时,比尔·盖茨让全公司都迁移到它上面,这把 bug 摆在了每个人面前,并得到了修复。在快速增长之后,盖茨还实行了全公司的招聘冻结,因为人们在做无关紧要的事,比如 Microsoft Bob。高管们被迫砍掉项目,David 说,最后的 20% 被裁掉了,他认为这本该发生。

David 说,微软为现代的工程领导力设立了早期的模型,别人也借鉴了它。在 2022 年的崩盘之前,他就觉得招聘速度说不通。在疫情期间,每个人都加快了招聘,没有人放慢。他相信,如果大科技公司的领导者读过这本书,他们在 2021 年末就会看出,招聘已经失控了。

David 有没有什么遗憾,是别人可以借鉴的?

David

David 说,他毕业后的头六年,是在非常大的、正在衰落的公司里虚度的。他点出了从通用汽车分拆出来的休斯(Hughes),以及卖给西门子的一个 IBM 部门,两者都失败了。他有不错的薪水和轻松的工作,只想着眼前,没有考虑成长。他不是指对十年后的副总裁头衔有野心,只是指考虑成长。

他说,特别是对软件工程师来说,学到的一切,大约五年后就会过时。当他加入 Meta 时,新兵训练营和整个开发环境都被换掉了;作为总监,他一直是精通的,但当他后来转到个人贡献者的角色时,发现一切都变了。David 说,他保持成功的办法,是不断推向前沿,并不断学习新的工程技能。

David 会给职业生涯起点的自己什么建议?

David

第一,做困难的问题。David 说,如果工作不难,你就没有在成长。他说,一旦一个角色停滞不前,在 Meta 这样内部流动容易的公司里,工程师就应该去找另一个困难的问题。困难的问题,才是推动工程师前进的东西。

第二,公司的大小无关紧要,但每个人都应该在某个时候,最好是年轻时,在小公司或创业公司工作。他告诫不要过分被技术迷住,并说要为既有远见又能执行的领导者工作,因为没有执行的远见哪里也去不了。他举扎克伯格和哈斯廷斯为有远见的人,并说哈斯廷斯在 1999 年就是,当时 Netflix 只有四个人。领导者应该让你梦想扬帆出海,而不只是为一艘船砍木头。

第三,从第一份工作起,就有意识地规划工作与生活的平衡。他说,工作和生活是有张力的,但最好的工程,来自既热爱工作、又享受休假的人。

第四,从第一天起就开始财务规划,因为随着技术人员成功,他们赚得更多,而没有规划,就不知道钱去了哪里。David 建议有意识地规划支出,以及短期和长期的储蓄,二十多岁时定期存入小额资金,并且不要长期的信贷或债务。他说,到 40 岁出头,除非你很幸运(比如早期在 Facebook 或 Netflix 工作过),这通常还不够退休,但它可以带来财务独立,这样你就可以接受一份薪水较低的工作。在他看来,对于起步较晚的人,单靠 401(k) 和社会保障是不够的。他认识许多 50 多岁的工程师,赚得不少却没有规划,并说一位受雇 30 到 35 年的好工程师,没有理由不能舒适地退休。他在别处说过,自己不是理财规划师,所以这只是一个人的看法。

关于这份资料

退休的 Netflix 工程总监:LeetCode、遗憾与招聘故事

本节是对原始文字稿的转述。自动生成的字幕可能有错误。

观看原视频 ↗

已省略开头的预告片段剪辑(癌症诊断、对 LeetCode 的评论、给一位同事的录用通知、36 年职业生涯的预览,00:00.16 至 00:39.60);同样的内容在后面完整出现。

已省略相互感谢和主持人请他向听众推荐点什么的提示(01:17:23.04 至 01:17:42.16)。

已省略 David 结尾的联系方式和推广(01:17:43.04 至 01:18:35.04):LinkedIn,他提供的大约十张个人理财入门幻灯片,以及愿意与退休人员、团队领导者和工程师交谈。主持人计划在节目说明里放上 LinkedIn 链接,也在这个范围内。

已省略主持人结尾请求互动、评价和嘉宾建议的话(01:18:36.16 至 01:19:10.08)。主持人说,这档播客没有赞助商,所以没有赞助商口播。

我的笔记在可使用本地存储时,笔记会保存在此浏览器中。
第 13 节 · 补充篇

升级上报、交叉印证与可信的备选方案

伊森·埃文斯讲解,为什么领导者可能抵触“经理很弱”的证据,以及谨慎、真实的表述,如何让一场艰难的职业对话更容易被听进去。

有没有下属向你升级上报过与他们经理之间的问题?隔级领导为什么可能不愿采取行动?

伊森·埃文斯

伊森·埃文斯说,这样的升级上报很常见。他描述了一种令人不舒服的激励:接受一位下属的陈述,会给隔级领导带来三个问题:决定怎么处理这位经理,必要时替换并培训一个人,以及在此期间顶住工作。反过来,把这位下属斥为过于敏感,则让问题更容易被重新推回给经理。埃文斯把这呈现为一种可能的潜意识偏见,而不是为无视一个有效的顾虑辩护。

他讲述了自己是在几份下属的陈述累积起来,并与受影响的同事交谈之后,才发现一位领导对女性的恶劣对待。早先单独一份陈述,也许不会打动他,这是他坦率地承认的一个失败。多份独立得到佐证的陈述,改变了他的认识。因此,他建议在同事愿意提供时,进行交叉印证;讲述者的“兵变”比喻,针对的是职场的升级上报,不应掩盖这个例子的严重性。

一位高绩效的个人贡献者,在升级上报之前,是否应该先与同事核对观察?
伊森·埃文斯

如果可能,是的。它首先检验这个问题,是一种更广泛的模式,还是一种工作风格上的不匹配。一位与经理合作良好的同事,可能提供一个有用的调整;看到同样问题的同事,也许能佐证它。除非他们也愿意开口,否则共同的不满是不够的。

埃文斯建议告诉隔级领导,有点名的同事愿意分享类似的例子,并请领导与他们谈谈。他认为,许多领导会这样做,同时明确拒绝保证。主持人指出了随口的抱怨与正式的升级上报之间的区别,包括遭到报复或判断错误的可能性。

你能出于业务原因寻求调动,而不是组织一次升级上报吗?

伊森·埃文斯

埃文斯区分了两种做法。如果有一个真正可信的理由,说明另一个角色会让工程师对组织同样有价值或更有价值,就以这个理由为先,而不要提出对经理的投诉。如果真正的需要,是互不相容的工作关系,就以不指责的方式说明,并往前想好几步:领导者实际上有哪些选择。

他讲述了自己在亚马逊的调动。他的领导想把他留在现在的角色里,但埃文斯除了在这位领导的组织内部有一个他更想要的角色之外,还有另一个在该组织之外的可用角色。他解释说,留在原位已不再是一个可用的选择,这把决定从“把他留在这里,或在内部调动他”,改变成了“把他留在组织里,或者失去他”。经过几周的抵制,内部调动很快就实现了。这个故事依赖的是拥有真正的备选方案,而不是编造一份外部的录用通知。

你是怎样传达这些备选方案,又不显得带有威胁的?

伊森·埃文斯

他用领导者能认出的方式来表述这个情形。两人都是副总裁,而备选的邀请来自一位高级副总裁。埃文斯解释说,他需要给出答复,而一旦他做出承诺,就必须兑现,就像这位领导自己也会这样做一样。这让领导者能够理解这个约束,而不必听到生硬的要求。

埃文斯建议,在可预见的对话之前,先准备好关键的措辞,而不是在压力下即兴发挥。事实和承诺应当保持真实;谨慎的表述,改变的是对方接收它们的方式。表达也很重要。同样一句关于需要考虑自己职业发展的话,根据语气和肢体语言,可能听起来充满敌意,也可能显得平静、可以理解。

他承认,一些工程师不喜欢职场政治。他的论点是,领导者仍然有情绪、压力和防御,所以理解人与人的互动,有助于一个人更有效地传达一个诚实的需要。他并不声称自己已经完全想明白了怎样教这项技能。

这里涉及三个不同的角色吗?
伊森·埃文斯

是的:现在的角色,他想要的、同一个组织内的角色,以及别处另一个可用的角色。主持人把这个备选方案,描述为筹码。埃文斯同意这个潜在的结构,同时强调,他并没有明确地发出威胁;他陈述的是接受另一份邀请并作出承诺的真实后果。

关于这份资料

前亚马逊副总裁:为什么糟糕的经理不会被解雇 | 伊森·埃文斯(Ethan Evans)

本节是对原始文字稿的转述。自动生成的字幕可能有错误。

观看原视频 ↗

我的笔记在可使用本地存储时,笔记会保存在此浏览器中。
第 14 节 · 访谈

管理经理们,会改变小动作的后果

一位 Meta 高级经理解释,为什么更广泛的组织范围,需要新的互动习惯。

当一位一线经理走上经理们的经理这个角色时,会出现哪些技能差距?

Meta 高级经理

嘉宾强调要学会如何为向你汇报的经理们增加价值。更资深的角色,改变了哪些干预有帮助、哪些会削弱组织。他用一次隔级会议来说明:一位新晋升的领导者,就某位员工的经理提出引导性的问题。这位员工可能开始转而依赖这位资深领导者,而那位经理则觉得自己被绕过、被削弱了。

重要的失败,不仅仅是开了这次会议。而是忽略了问题和判断是如何在管理链条中传播的。小小的举动,在多重关系中被放大。嘉宾说,这些微妙之处,往往是通过观察和实践学到的,而不只是通过阅读关于管理的内容。

他预期在转型期间会有一些错误,就像新经理在从个人贡献者转型时会犯错一样。因此,晋升决定应当考虑这个人周围的支持:他们自己的领导者能否帮助他们认识并修复问题。战略和组织设计也很重要,但早期的互动失误,可能在那些更长期的职责成为主要问题之前,就造成损害。

个人贡献者和管理的成长路径如何比较?它们都是以能力为本的吗?

Meta 高级经理

他说,无论在哪条路径上,高层的评估都变得更加不透明。在校准讨论中,一个人可能与一项有价值的举措联系在一起,却并非它成功的关键。同样的归因问题也适用于经理。较短的评审周期,使得很难把一个有说服力的叙述,与一项清楚展现出来的贡献区分开。

更长时间的观察可以让图景更清晰:一位在几年里反复取得好结果的领导者,比只在某一个半年周期里的人更容易评估。他认为,一些资深个人贡献者和一线管理的工作,对外部观察者更可见,而更高层级的工作,往往需要接触内部的细节和领导链条。

他没有给出“一个阶梯公平、另一个不公平”这样简单的结论。他担心的是,当相关的影响难以追溯时,证据和问责不足。对于能见度有限的员工来说,由此而来的沮丧是真实的,而想要公平的愿望,并不会自动创造出判断它所需要的数据。

关于这份资料

Meta 高级经理(M2)谈他在通往 M2 路上的差距

本节是对原始文字稿的转述。自动生成的字幕可能有错误。

观看原视频 ↗

已省略邀请观众观看完整对话并留言的结尾(05:50–06:02)。

我的笔记在可使用本地存储时,笔记会保存在此浏览器中。
第 15 节 · 访谈

让成长变得明确,调整你的辅导方式,并消除摩擦

Laurent 把坦率的职业对齐、公平的评估、可持续的团队领导,以及对整个问题的主人翁责任,在 Airbnb、Instagram 和 Stripe 这三家公司里联系了起来。

你为什么选择加入 Airbnb?

Laurent

Laurent 曾在苹果和 Meta 工作,并认定开发者生产力是自己关心的领域:让工程师在写软件时更高效。搬到旧金山,让他原本的通勤变成每个方向大约九十分钟,这促使他开始寻找。Airbnb 把他喜欢的人、可以步行到达的办公室,以及一个早期的、足以提供大量可塑造工作的开发者基础设施组织结合在一起。

他加入时,是两位测试基础设施工程师之一,正值这项更广泛的工作变成多支团队之际。这个选择结合了日常的生活质量和一个技术机会;并不是纯粹由头衔驱动的跳槽。

为什么从测试基础设施的个人贡献者工作,转向管理?

Laurent

一位经理负责好几支团队和十五人以上,留给开发和支持的时间有限。Laurent 已经作为技术负责人,开始做其中的一部分工作。随着他的团队增长到六到八位工程师,其中许多人处于职业早期,他认为一位专职的经理,可以更好地支持他们,并改进这个大项目的交付。

他向自己的经理提出了这个需求,并主动提出在得到帮助的前提下试一试这个角色。他从两位下属开始,后来管理了整支团队。他的理由,是一个他能帮助解决的组织问题,而不是把管理当作对技术资历的自动奖励。

管理以前的同事,是否造成了令人不舒服的权力关系?
Laurent

是的,所以他们公开地谈了这些。一位同事利用第一次一对一,来测试他的判断:招聘部门说,一位员工错过了安排好的面试,那么新经理会怎么做?Laurent 说,他会先问发生了什么,并确认事实。那位同事认为这算过关;立刻惩罚这位员工,会忽略诸如名字弄错或邮件不准确的可能性。

这则轶事说明了,在行动之前先听取各方的说法。正式的权力,并不能消除调查的必要,也不能免去在以前是同事的人面前赢得信任。

有多少经理会通不过那个测试?
Laurent

他没有给出百分比。相反,他批评把管理当作一种固定的风格:强硬的、放手不管的,或微观管理的。指令式的做法,可能对一支由初学者组成的团队有帮助,却对有经验的工程师失败。好的管理,需要适应人和情境。

管理改变了你在工作中对无聊的体验吗?

Laurent

他把无聊当作一个信号,用来审视哪里出了问题,而不是简单地忍受。成为经理,起初提供了强烈的学习:招聘的级别、评审、晋升,然后是建立关系,并规划下属的成长。后来,他用自己对优化的本能,去改善团队的工作条件。

他做了一个日历工具,来减少他自己和下属日程的碎片化。他还详细地调查了团队里的每一个流程,包括会议、规划、代码评审和工作方式,以改善团队的健康。调查显示,每个人都认为那个冗长的站会对别人有用,而实际上没有人真正从中获益多少。改变它和其他流程,提高了参与度,并让团队用更少的时间做更多的工作。

一次为期三周的婚礼旅行之后,他回来发现,团队已经用他们建立的流程,规划好了下个季度和各项任务。这种成功的独立,也让他感到无聊。下一步可能是管理经理们,但他觉得自己还没有准备好,而且怀念编码、交付,以及在生产环境里看到效果。他回到了个人贡献者的工作。这个故事把一支运转良好的团队,视为成功,即使它的经理之后想要不同的挑战。

学习管理,在之后让你成为更好的个人贡献者了吗?

Laurent

是的。理解评审、职业叙事、晋升路径和晋升,帮助他驾驭自己的工作,而辅导和艰难对话的技能,提升了他对他人的领导。回到个人贡献者的工作之后,他继续培养这些能力。好处是一套新技能,而不只是对一个委员会享有的特权知识。

提出组织价值,是转入管理的好办法吗?

Laurent

他把这个教训扩展到与经理的对齐。人们常常犹豫要不要说出自己想要晋升、专长或另一种成长,然后在评审时拿出一年的活动,并希望得到想要的结果。他更喜欢一场持续的对话,让员工和经理都有机会塑造这项工作。

作为经理,他使用了一个“惊讶因子”练习:在交付评审之前,每个人写下预期的评级和晋升结果,然后与他自己书面的评估对比。一致是理想的结果。他接近完全一致,却没有达到。目的是减少不确定性,并说明这一年里的沟通是否有效。

一次正面的评审“惊喜”,是否也能揭示问题?
Laurent

能。一位做出了出色工作却不自知的人,可能不必要地谨慎。经理本该更早地辅导这个人,让他们更有信心、更敢于有成效地冒险,而不是让他们一直焦虑,直到一次意料之外的晋升。正面的惊喜,与负面的惊喜一样,可以揭示被错过的沟通。

个人贡献者应该在什么时候尝试管理?取舍是什么?

Laurent

Laurent 觉得这段经历是无价的,并鼓励那些正在考虑的人去试一试。这是一份不同的工作,所以亲身经历,既能揭示有用的技能,也能看出这个角色是否合适。即使结果不好,也能让人了解自己的偏好和局限。

他建议从带一位实习生开始,同时警告说,一位实习生是一个高度偏颇的样本。实习生往往需要更多的指导,并激发强烈的个人感情,与一群有经验的个人贡献者不同。他回忆起情绪上很艰难的实习生校准会,因为导师们强烈希望自己的实习生成功,并把转正的录用通知,混同为良好管理的证明。一位经理即使在正确的决定是不发转正通知时,也可能做得很好。他帮助主持了校准会,让这种区分更清晰,也让流程不那么吓人。

你自己的晋升和评审,没有惊喜吗?

Laurent

他首先说,自己常常感到意外,然后澄清说,意外的是评级,而不是晋升。他把这视为证据,说明自己没有足够理解这套体系及其价值观。在一次转型中,他预期自己的技术领导力会支持一次晋升到 Staff,但在周期临近结束时,转到了管理岗位。

评级回来是“符合期望”,因为他在新角色里花的时间太少。他觉得这令人沮丧,并把精力转向争取下一个管理级别。他现在认为,自己本该事先明确地问,角色变动的时机,会怎样影响评审和晋升。

角色变动,会让你的晋升进程重置吗?
Laurent

他没有给出一条普适的重置规则。公司、组织,甚至地方团队,都可能形成关于任期、角色转换或异常快速晋升的非正式校准规则。有些后来被成文并传达;另一些则保持不成文,直到有人去问。

作为经理,他质疑那些他认为让人泄气、或与既定价值观不一致的规则,并试图向个人贡献者透明地解释校准。他的标准是,一位员工意外地旁听这场会议,应该为这项工作感到自豪,而不是觉得有人在策划不公平的决定。由于他把管理视为代表公司的利益,所以要真诚地为这些决定辩护,需要有强烈的价值观对齐。

一位经理或个人贡献者,怎样成功地挑战一条既定的规则?

Laurent

他从审视一个流程可能引入的偏见,以及什么让员工评估公平开始。收集证据,理解规则背后的原因,并提出论证。历史也许揭示了一个你没看到的有用约束,或者一个已经不再适用的旧先例。

他通常更喜欢最初的一对一谈话,而不是在校准会上公开对抗。在一群人面前,人们可能把分歧解读为对声誉的威胁,并变得防御。理解这些人的动态,提高了改变流程的机会,而不只是赢得一场争论。

如果一位资深领导者提议,对代码改动数量少的人进行惩罚,怎么办?
Laurent

他会先弄清楚,惩罚和指标究竟是什么意思。不同的贡献,使代码行数或拉取请求的数量,成为衡量工程产出的糟糕通用指标。在 Stripe,对这类衡量的担忧,推动了对一个代码改动的历程做更有用的探究:思考、编写、持续集成、评审、迭代和合并。

在不同阶段花费的时间,可以揭示组织的摩擦。如果某个领域让改动落地的时间是别处的两倍,就去查为什么,也许是糟糕的代码库或低效的流程。他明确拒绝把快速交付等同于高生产力,或把缓慢的交付等同于低价值。这项指标是一个诊断信号,有助于消除障碍,而经理必须评估完整的贡献,包括非编码的工作。

Airbnb 的工程文化有什么突出之处?

Laurent

他发现,在一家以设计师为主导的公司里,更难解释底层基础设施为什么重要,但那种不同的专业视角,也产生了有用的想法。在一段出现可靠性问题的时期,公司借助有应急响应背景的人,来改进危机管理。

他钦佩由此形成的严谨性和做法,并把其中一些带到了之后的工作里。他举的积极例子,是愿意问:哪个其他领域已经很好地处理了类似的问题,而不是假定所有的事故管理专业知识,必然都起源于软件工程内部。

为什么从 Airbnb 回到 Meta?

Laurent

四年之后,最初股票授予的归属期限(cliff)影响了收入潜力,这是考虑跳槽的一个原因。他还认为自己想成为一名基础设施通才,在跨越测试、计算、数据库和其他领域工作之后。他后来认定这个自我描述是错的,但当时它把他带到了 Instagram。

一次扰乱性的七月四日值班经历,促使他去追求可靠性的改进。他知道,Facebook 已经有工具,解决 Instagram 仍然深受其害的那些模式。他向自己的隔级经理提议,采用那套基础设施并围绕它合作,并加入了由此产生的跨组织项目。

你是怎样找到合适的 Facebook 合作伙伴并获得认同的?
Laurent

他与 Facebook 一侧的一位个人贡献者结对,他认为她是一位杰出的技术领导者。她把合适的人带进讨论,并促成了 Facebook 一侧的对齐。他把功劳归于她的角色,而不是暗示他自己独立地认识并说服了每一位合作伙伴。

你是怎样选择导师的?是什么让辅导有用?

Laurent

他寻找的是那些体贴、直接、能够挑战他、并能以他愿意回应的方式改变他想法的人。这些特质不一定只属于工程师;他在自己现在的教练身上也看到了它们。

Facebook 一侧的合作者具备这些品质,并帮助他审视自己对问题的界定哪里错了。衡量辅导是否有用的一个标准,是这个人之后是否真的改变了思考和行动的方式,而不是重复同样的行为。尽管主持人问到他明确提出指导请求的说法,回答主要解释的是选择和价值;它没有提供提出这个请求的详细话术。

你对 Stripe 的第一印象是什么?

Laurent

他遇到了很强的工程师,就像在其他工作中一样,并特别看重在做决定之前,先收集和分析数据的重视。他认为它的指标和实验文化,比他所知道的 Meta 的文化还要强。这个判断是他个人的比较。它适合他自己享受衡量进展和成功的乐趣。

你的技术负责人角色,是怎样在一个大得多的开发者基础设施组织里成长起来的?

Laurent

他加入是为了领导大约三十五位工程师的构建、测试和工具,在他熟悉的领域。他的第一项任务,是在已经了解本地系统的人面前赢得信誉。他刻意避免把自己的前雇主,当作某个设计应该被照搬或被否决的自动证明。

相反,他在各个团队里“嵌入”了大约一个月,做具体的工作,了解他们的节奏,并提出能帮助人们自己重新考虑决定的问题。对于紧急的事故响应,他是个例外,那里可能需要直接的指令。一年时间里,他在这个小组的大部分部门工作过,并多次与这些人见面。

领导一个更大的组织,也意味着接受每位专家对自己领域的了解,都比他多。他可以用宽广的开发者生产力视角来指导,而不假装自己是各处的本地专家。后来,他承担了与不同的人或团队合作的两到八周的任务,来启动工作,并让它可持续。文档和自动化,应当让这项工作无需他一直在场、也不打断他的假期就能继续。做秘密的唯一守护者,是成功的反面。

你是怎样让自己覆盖这么多工程师的?

Laurent

设定现实的期望:没有哪位领导七十个人的领导者,能知道每一个当前项目的细节。保持能提供信息的联系人,并愿意说你还不知道,并会在约定的日期前回来给出答案。他相信,自信的错误信息,比坦率的不确定,对信任的损害大得多;他强调这是对职业的警告,表达的是这种担忧,而不是适用于每一个错误的字面规则。

他用答疑时间,来取代与每个人每周的会面,提供足够的时间,让人们在一周内能约到。由于小组大约一半在欧洲,他把日程调整为大约清晨五点半开始,以便与欧洲和美国的同事都有重叠。规模化仍然需要直接的沟通和可得的帮助,只是通过一种不同的结构。

教练们常常在哪方面做错?

Laurent

他们认同某一种单一的风格:放手不管、高度指令式,或暗示式,并把它用在每个人身上。Laurent 则根据这个人的熟练度、信心、动机和眼前的处境,来选择提供什么帮助。在他早期的 Facebook 入职工作里,四位被指导者中,三位正常进展,一位停滞了;学习一个情境领导力的模型,帮助他调整,并释放了那个人的表现。

他描述了从对初学者的指导,到鼓励和共同决策,到支持,最后随着技能发展到授权。这种评估是针对某项技能和某种情境的。一位技术上有能力的人,在不熟悉的事情上,仍然可能需要明确的帮助。一位疲惫的家长,凌晨四点打电话问 iPhone 的问题,需要的是清晰的步骤,而不是泛泛的称赞,或一场关于系统的讲座。只选择支持这一个阶段,会让许多其他需求得不到满足。

那位停滞的新兵训练营被指导者,具体出了什么问题?
Laurent

Laurent 当时假定,每位新人都处于同样的低技能、高动力的起点阶段。这个人已经大量研究过文档,在某些领域比其他人知道得更多,但失去了信心和动力。一再的指导,打断而不是支持了学习。

在听完这位被指导者做过的事情之后,他给出了较少的规定性建议,更多的支持。表现大幅提升。纠正来自评估这个人的实际状态,而不是更用力地套用同一种方法。

编辑综合

让辅导适应正在发展的能力

  1. 指导当技能陌生时,给出具体的步骤。
  2. 鼓励并解释随着知识增长,支持动力和艰难的选择。
  3. 支持让学习者自己做决定,同时提供帮助。
  4. 授权当这个人能处理好工作时,退后一步。
对 Laurent 描述的编辑综合。箭头表示随着某项具体技能的发展,支持方式可能发生的变化;实际的选择还取决于动机和眼前的情境。

为什么从资深到 Staff 的转变,会比下一次转变感觉更难?

Laurent

他认为在 Staff 级别有一种心态的转变:独立找出问题,选择并提出它,端到端地解决,解释结果,并记录下来。资深工程师可以是强大的设计者和实现者,同时仍在做别人发现的问题。

在他的模型里,更高的级别,是在更大的范围里延续这个完整的循环,而不是再次引入同样的根本性的自主性转变。这是他对这种区别的描述,并不是断言后面的晋升很容易,或者是机械地决定的。

一个卡在资深级别的人,怎样开始找到 Staff 级别的问题?

Laurent

Laurent 把沮丧引向真实的工作流程。在开发者生产力领域,每一条别扭的命令、每一个窗口、延迟或重复的手工任务,都可能暴露一个机会。Stripe 的摩擦日志,把这种观察制度化了:走一遍流程,用图片记录这些步骤,并问每个操作或加载界面为什么存在。

他在一次代码改动期间,就能识别出几十项可能的改进,然后把相关的问题归类,排序,并处理有价值的那些。目标不只是收集烦恼。要寻找那些消除后能改善整体体验的“一类问题”。他还会想象一位疲惫的用户:这个人会在哪里困惑、卡住,或者流失?

他把同样的习惯用到了软件之外。反复的出差,可以是一个机会,每次都改进流程,直到第二十次出差比第一次顺畅得多。Staff 的习惯,是不断从使用中学习,发现摩擦,并有意地改进它。

哪本书对你的职业生涯影响最大?

Laurent

他点出了金·斯科特(Kim Scott)的《绝对坦率》(Radical Candor),它帮助他在建立信任、激励和辅导下属的同时,处理艰难的对话。他欣赏它对经理与员工关系的解释,以及他认为许多有经验的经理仍然忽略的想法。这是他基于自己转型经历的个人推荐,并不是对这本书的外部评论。

你会对职业生涯开始时的自己说什么?

Laurent

这个领域变化得比看上去还要快。Laurent 把他早期遇到的面试做法,比如估算谜题,与他在这场访谈所处的 2025 年的背景下观察到的、技术性强得多且受监控的面试,作了对比。这些例子说明的是变化,而不是确立一项普遍的招聘政策。

他建议保持好奇,并定期阅读技术新闻和讨论。他关注 Hacker News 上每周排名靠前的条目,并在整个职业生涯里一直保持这个习惯。他预期软件工程的技能和经验会继续发生巨大的变化,并鼓励年轻时的自己保持留意,而不要假定这份工作的原有模式会一直持续。

关于这份资料

Airbnb Staff 工程师:校准的不成文规则,以及怎样不卡在资深级别

本节是对原始文字稿的转述。自动生成的字幕可能有错误。

观看原视频 ↗

00:00–00:44 的开场预告片,重复了后面展开的内容,没有计作额外的提问轮次。

已省略 01:00:19 之后的结尾互动请求和嘉宾征集推广。

我的笔记在可使用本地存储时,笔记会保存在此浏览器中。
第 16 节 · 访谈

支持他人,贴近产品,并让取舍变得明确

Fiona Fung 回顾了管理、指导、产品反馈,以及把她从微软带到 Meta 和 Anthropic 的那些选择。

Fiona Fung 的叙述联系了三种习惯:让与人的合作关系变得明确,亲自体验产品,把文化视为人们去践行的东西。例子涵盖开发者工具、Marketplace、VR,以及她早期使用 Claude Code 的经历。她的比较描述的是她工作过的那些团队在当时的情况;它们是一段职业生涯里的观察,而不是对整家公司永久的描述。

你怎样在一个重要项目与团队健康之间取得平衡?

Fiona Fung

首先确定这种情况是否真的值得一次特殊的冲刺。Fung 记得 Marketplace 的封闭式冲刺,或者说“作战室”(war room),让人们集中在一个紧迫的目标上。这种专注可能是有价值的,但它对士气有真实的代价。领导层应当与团队有意识地讨论这个取舍,而不是让代价一直隐而不宣。

有一个作战室,把一个增长目标作为退出条件。团队起初想象,也许几个修复就能达成,但这项工作持续的时间,远远超出预期。回头看,她会更现实地评估可能的持续时间,讨论对团队健康的影响,并预先说明这段旅程和预期的长度。仅凭一个可衡量的目标,并不能让持续的高强度变得可以承受。

那个作战室持续了多久?

感觉至少有两个月。门洛帕克和西雅图都有实体的房间,有一次,团队一下子上线了 75 个实验。与一周的上线冲刺形成的对比,是这个教训的核心:团队在进入这种安排时,并不了解它的持续时间。

编辑综合

在投入一次特殊的冲刺之前

  1. 说清需求找出为什么此刻需要不同寻常的专注。
  2. 估算历程考察达成这个结果可能要花多久,而不是只依赖退出指标。
  3. 讨论代价让士气和团队健康,成为领导层和团队对话的一部分。
  4. 设定期望在冲刺开始之前,解释预期的持续时间和取舍。
对 Fung 从 Marketplace 作战室得到的回顾性教训的编辑提纲。

当你成为经理们的经理时,会发生什么变化?

Fiona Fung

这种关系,变成了一种合作伙伴关系,双方都既有管理技能,也有技术技能。当她第一次支持经理们时,包括一位她认为是杰出编译器工程师的 TypeScript 经理,她问每个人擅长什么,以及他们可以怎样划分责任。支持另一位经理,会创造更多让长处互补的机会。

授权也需要在信任与核实之间取得平衡。如果授权让你与项目的接触太少,提供支持的领导者就可能失去联系。她请经理们提供快速的反馈,并对成功和问题都保持透明。有用的对话,是那个能暴露哪里需要帮助的对话;一份说一切都好的、让人安心的汇报,可能掩盖了这段合作本应解决的那个问题。

导师怎样让这段关系变得有用?

Fiona Fung

首先问被指导者,他们想从这段关系中得到什么,以及三个月或六个月之后,成功是什么样子。一个明确的目标,让双方都有办法有效地利用自己的时间。

还要把指导(mentoring)和辅导(coaching)区分开来。在她的描述里,指导是把倾听与来自经验的建议结合起来。辅导则更像一面镜子,帮助对方在自己内心发现答案。弄清这个人想要哪种模式,可以改变对话应当如何进行。

应该由被指导者还是导师来主导这段关系?

她见过的最有效的关系,都是从被指导者设定的目标开始的。导师贡献经验、建议和资源,但寻求指导的人,应当说明自己希望得到什么。

帮助一个人成长的两种模式
模式帮助者贡献什么有用的起始问题
指导(Mentoring)倾听、经验、建议和资源。在接下来的几个月里,你想得到什么?
辅导(Coaching)一面镜子,帮助这个人找到自己的答案。你需要自己去理解或发现什么?

个人贡献者应该怎样利用一对一的时间?

Fiona Fung

把例行的状态汇报,放到一个异步的渠道里。Fung 使用消息,或一份共享的、持续更新的一对一文档,双方都可以在上面添加更新。

把现场的对话,留给那些适合互动的话题:这个人想学的东西,对他们工作的更深入讨论,或者值得一起探讨的产品问题。重点是把稀缺的会议时间留给对话,同时把运营层面的更新,单独提供出来。

你为什么离开微软去了 Facebook?

Fiona Fung

她有朋友在 Facebook 过得很开心,但她一再地想要先完成手头在微软的工作。她在那里的最后一个项目涉及 JavaScript 和 TypeScript,她在乎帮助团队交付 TypeScript 1.0。一位以前 Visual Studio 的同事,后来成了她在 Facebook 的第一位经理,在 2014 年末联系了她,说要围绕在小组里买卖东西,构建一款产品。她在 2015 年加入。

商业这个使命很重要,有三个原因。二手物品,可以给预算较紧的人带来有意义的实惠。重复使用,可以让现有的物品拥有第二次、第三次或第四次生命。一个销售平台,可以帮助一家本地小生意起步,而不必先开一家实体店。Marketplace 对她来说,还代表了一种新的联系:结识新的人,而不只是与已经认识的人重新联系。

在微软工作了十一年半之后,她还想在一个她已经习惯的生态系统之外,检验和拓宽自己的工程能力。这次转变,把她在乎的使命,与一个超越熟悉的工具和做法去学习的机会,结合在了一起。

微软和 Facebook 之间的差异,有什么突出之处?

Fiona Fung

两边都有有才华、在乎自己工作的同事。她的例子里最明显的差别是速度:早期的 Marketplace 每周发布更新,而她记得的 Visual Studio 的工作,大约是四周一个冲刺。即使是那些四周的冲刺,与更早的开发周期相比,也曾经显得很短。

Facebook 当时也显得小得多。她欣赏那种期望:一个问题是每个人的责任,不论角色。她的例子,是愿意主动投入并帮忙,而不是把一个问题当作完全属于别人的。

为什么使用你自己的产品如此有价值?

Fiona Fung

她的第一份工作,涉及用 Visual Studio 来构建 Visual Studio,所以每天使用产品,是工作内置的一部分。这让她对用户有同理心,并对产品的状态有感觉。她把这个习惯带到了 Marketplace,留着一些要卖的物品,这样她就能亲自体验这个流程。见到用户,也让这项工作的影响变得具体,并令人受到激励。

在 VR 和相关的设备团队,她使用 Quest 设备和早期的 Ray-Ban 产品。对于很少有机会写代码的经理来说,使用产品,可以是一种体验团队在构建什么、并直接做出贡献的方式。她描述了在家复现一个棘手的地板高度 bug,并收集日志,当作一小段“创作者时间”。

Peterman 补充说,领导者的汇报,可以引起人们对一个本来已知、却失去了紧迫性的 bug 的关注。Fung 强调另一个效果:团队成员会注意到,领导者使用并在乎他们的产品,这可以建立融洽的关系。

你怎样让频繁使用产品变得可持续?

Fiona Fung

把产品融入你喜欢的事情里。她用 VR 来锻炼、看电影,以及边看边织毛线。令人愉快的日常使用,创造了反复的接触,又不会让这件事感觉像一件苦差事。

在这场访谈的时候,她用 Claude Code 来构建 Claude Code,这让那个反馈循环成为她日常工作的一部分,并让她再次交付生产环境的软件。她还提到,在离开 Meta 之后,她仍然继续提交对 Meta 产品的反馈。

领导者可以增加结构化的产品体验环节。在她最后的 VR 团队,她和她的产品与设计搭档,在周五一起试用几乎就绪的功能,并给出快速的反馈。这用一个定期的机会,补充了日常的使用,去检查即将发布的东西。

工程领导者怎样与产品管理良好合作?

Fiona Fung

从领导小组共同的目标,以及每个人带来的长处开始。因为工作总会多于人手,所以要明确约定谁负责哪些部分,并据此划分工作。

使用产品,也改善了她与产品经理的合作。他们的一对一,可以变成扎实的产品对话,立足于他们真正体验过的东西。这场讨论把合作关系与产品知识联系了起来:当工程领导者贴近客户使用的东西时,他们就有更多可贡献的。

善意对一个工程组织有什么贡献?

Fiona Fung

她把这条原则与疫情联系起来,当时设备团队试图在无法正常使用办公室、实验室和同地办公的专家的情况下,交付 Quest 2 并开发 Ray-Ban 产品。人们在做艰难的工作,同时还要应对家里的压力。

一个个人的例子,让这条原则变得生动。她的祖母住在加拿大的一家护理机构,她无法去探望。工作人员只能安排有限的视频通话,而一个难得的空档,与她答应参加的一次一对一冲突了。她所支持的那个人,爽快地接受了临时取消。对他来说,这也许只是一个小小的通融,对她却有很大的影响。

教训是,同事的私人处境,往往是看不见的。善意是一种务实的方式,用来与你并不了解其全部情况的人共事,而团队正在一起努力完成困难的事情。

你为什么选择 Anthropic?

Fiona Fung

她在 Meta 做 VR 和 Horizon OS 时很开心,并没有在广泛地寻找新工作。她描述的选择,本质上是加入 Anthropic,或者留在一个她已经喜欢的角色里。

使用一个内部的 AI 工具来构建有用的工作工具,让她看到,AI 已经在改变她自己的工作流程。随后与 Anthropic 员工的交谈,让她被他们对使命的重视、对安全的强调,以及共同责任的感觉所吸引。她把这种吸引力,比作曾经吸引她去 Marketplace 的那个使命。这些是她做出这一调动的理由,以及她对这个组织在当时的印象。

Facebook 的文化,随着增长发生变化了吗?

Fiona Fung

是的。她把文化视为一种通过行动来表达的、活的东西,而不是墙上的一句话。增长改变了公司,尽管她仍然在 VR 这样的团队里,看到了对使命的坚定承诺。

当新员工问,哪个团队会给他们带来最大的影响时,她也会问他们对什么充满热情。这个问题,恢复了一个在只关注职业影响的比较中可能消失的维度。

一个人应该怎样在更大的影响力与自己更在乎的工作之间做选择?

与自己进行一场诚实的对话,弄清是什么在激励你。影响力、学习,以及与好人共事,对不同的人来说,占比可能不同;她不规定哪一个是普遍的赢家。

把这些优先事项与你的经理分享。当她支持一位新人时,会问他们想从这段合作关系中得到什么,以前哪些行得通或行不通,以及什么对他们重要。一场明确的讨论,比双方各自猜测对方的优先事项更有用。

在 Anthropic 的头两个月,有什么让你印象深刻?

Fiona Fung

她在入职培训中看到了使命和对社会的责任被表达出来,这让它感觉比一句面试时的口号更实在。

Claude Code 团队的速度也令人印象深刻,即使与她记忆中很快的 Marketplace 时期相比。广泛的内部使用,提供了一个快速的循环:构建一个想法,在内部上线,从员工那里得到反馈,公开发布,并不断学习。随着团队的壮大,她关心的是保持这种敏捷性和速度。

编辑综合

她所观察到的产品反馈循环

  1. 构建一个想法把一个想法变成人们可以试用的东西。
  2. 在内部使用把它交给在自己的工作中使用这款产品的同事。
  3. 回应反馈从内部体验中快速学习。
  4. 发布并学习把它带给用户,并继续反馈循环。
对 Fung 早期观察 Claude Code 的编辑呈现,并不是声称每支团队都使用这套完全一样的流程。

什么反馈最大地改变了你的职业生涯?

Fiona Fung

那是关于她如何接受反馈的反馈。作为工程师,她的本能是立刻去调试这个情形:问问题,回放发生了什么,并确定如何改进。有人指出,给出建设性的反馈本来就让人不舒服,而她的问题,可能让对方觉得自己必须为之辩护。

她把第一次对话改成了倾听和学习。问题可以等到改天,在她反思之后再问。区别在于时机,以及提出问题的那个人的体验:一份真诚想要理解的愿望,如果来得太快,仍然可能让人觉得是在要求他们为反馈辩护。

你会对职业生涯开始时的自己说什么?

Fiona Fung

在体验发生的时候,享受它。工作和生活都过得很快,那些日后让人觉得是“美好旧时光”的时刻,也正是你现在正在经历的时刻。

关于这份资料

Anthropic 工程领导者:关于指导的建议、微软对比 Facebook、职业心得 | Fiona Fung

本节是对原始文字稿的转述。自动生成的字幕可能有错误。

观看原视频 ↗

开场的预告片段剪辑(00:00–00:34)重复了后面的内容。

已省略结尾的感谢和请求观众支持的话(29:08–29:48)。

我的笔记在可使用本地存储时,笔记会保存在此浏览器中。
第 17 节 · 访谈

加入团队时,重建信任并对齐期望

关于资深人员的入职、重建关系/信任、具体的同级期望、反馈,以及角色适配对话的精选段落。

你为什么在 Meta 要求降级?

Igor

Igor 以资深 Staff 的级别加入,并觉得自己必须足够快地获取深入的技术背景、人际关系和信任,才能与有经验的同事并肩工作。他描述了一个比头衔所暗示的要长得多的上手期:外部招聘的人,一开始对环境的了解,可能比一位已经在那里待了几周的实习生还少。期望的职责范围越大,需要重建的能力和背景的层次就越多。

大约一年零两个月之后,他自己的评估是,已经达到了更接近 Staff 级别的效能。绩效压力让这个差距显得有风险。他对公司绩效环境的描述,是他当时的经历,并不是对当前政策的说明。

他还发现自己更喜欢 E5–E6 区间的工作:编码、调试、设计和指导。资深 Staff 的角色涉及更多的领导、会议和设计文档,直接编码更少。他问自己能否降一个级别,同时理解现有的股票和薪酬使这件事很尴尬。他被告知,在保持同一职类的同时降低级别,不被他可用的流程所支持。

是什么让你认为自己低于期望的级别?

很大程度上是他自己与其他资深 Staff 工程师的比较,不过他后来确认,自己也收到了反馈。他强调,能力是连续的、多维的,而不是一组完全离散的级别。他想要改变的愿望,也关乎享受这份工作,而不只是判断自己没有能力。

你有没有试着把这个请求升级上报?

他问了,得到的是否定的答复;他承认,更多的升级,也许会带来一个例外。他转而选择去探索回到谷歌,在加入 Cruise、然后 Meta 之前,他曾在谷歌度过了十四年半。那是一个熟悉的环境,也是一个可用的备选。

为什么资深的角色在谷歌和 Cruise 行得通?

Igor

在谷歌,他以初级工程师的身份加入,并通过一次次晋升成长起来,包括起初失败的尝试。资深 Staff 的晋升,是在他已经待了多年的团队里的一个重要项目之后到来的。专长、熟悉度和可信度是一起累积起来的。

Cruise 也需要艰难的第一年上手期。随着时间推移,他找到了一个结合了编码、指导和更广泛的技术指导的角色。在他描述的那起事故和随后公司的动荡让他离开之前,他在那里很快乐。

是什么让 Cruise 和 Meta 的上手期不同?

Cruise 规模更小,需要学习的基础设施更少,有更多无人认领、需要负责人的工作。在他 Meta 的组织里,资深人员的空间显得拥挤,所以找到合适的职责范围更难。他明确地把这个观察,限定在自己经历过的那个组织。

你对你的入职会有哪些改变?

Igor

他花了太多时间,试图通过阅读文档来建立基础知识,然后才做足够多的实际工作。回头看,他会边学边做:接一个任务,亲自上手,在取得进展的同时获取相关的背景。

他没有经常换公司,所以这种入职方式对他是新的。他还觉得,管理团队在让资深的外部招聘者上手方面经验有限,因为许多资深员工是在公司内部成长起来的,已经了解它基本的运作机制。

经理本可以做什么来帮忙?

一个具体的例子,说明另一位资深的外部招聘者最近是怎样上手的,会有帮助。他并没有把这个问题说成是管理上的疏忽:他们尝试支持他,但双方都没有一套成熟的做法。

编辑综合

一个更务实的资深上手路径

  1. 接一个真实的任务找到能暴露环境中有用部分的工作。
  2. 边做边学在尝试这项工作的同时获取背景。
  3. 利用有经验者的指导向了解这套系统的人,请教具体的例子并寻求帮助。
  4. 扩大职责范围同时增长技术理解和人际关系。
对他入职反思的编辑综合,并不是一套保证晋升的流程。

对资深的个人贡献者来说,换公司是不是变得更难了?

Igor

他见过谷歌的同事在一次调动没成之后离开,又回来。这样的故事更难听到,因为人们往往更乐于分享成功而不是失败。他也怀疑,反复调动可以培养在新环境里上手的技能;他自己有限的经验,不应被当作每一次资深调动都会失败的证据。

有没有人给过你关于级别差距的反馈?

Igor

有,尽管他没有分享私下的细节。他举了一个项目的例子:他预期两周能完成的工作,变得复杂得多。即使他成功地完成了,他也不认为它的范围足以支撑 E7。低估复杂性,和选择范围不够宽广的工作,是两个不同的问题,在同一个项目里结合在了一起。

回到谷歌,是否也能恢复你以前团队的背景?

Igor

不能。人和基础设施都是新的。好处是熟悉公司的运作模式和文化,而不是保留以前角色里所有具体的知识和关系。

哪种文化差异影响了你?

在他所观察到的 Meta 组织里,激进的截止日期可能被反复地设定、错过,然后延长。他认为,由此产生的压力可能失去可信度:当截止日期一再显得是人为设定的,人们就学会了对紧迫感打折扣。

他把这与自己记忆中早得多的谷歌环境作了对比,在那里,非同寻常的压力,更常伴随着一个具体的理由。他明确说,自己不知道这个比较是否仍然适用于谷歌,并说自己在 Meta 个人并没有感受到多少压力。这里的担忧,针对的是他在周围观察到的模式,而不是一个普遍的公司排名。

以 L6 而不是你以前的 L7 回去,顺利吗?

Igor

这需要招聘人员做一些工作,因为通常的回聘流程,支持相同的或更高的级别。一个要求较低级别的请求,可能引起这个人为什么想要它、以及是否会接受较低薪酬的疑问。

他明确地向招聘人员保证,自己理解,并会接受大幅度的薪酬降低。他们在他的情况里让这种安排成为可能。他并不声称知道,招聘经理是怎样解读这个请求的。

招聘经理可能会有什么担忧?

他推测,经理可能会想,这次调动的背后,是否有未披露的问题。这些是他想象的可能的疑问,并不是指控,也不是关于招聘讨论中实际发生了什么的信息。

回聘的流程是怎样的?

Igor

招聘人员发来了职位空缺,他与几位招聘经理交谈,并追求那个看起来最合适的团队。然后他与工程师和经理的经理交谈。

尽管他已离开大约三年半,他并不需要重复正常的面试流程。曾讨论过,以 L6 回来是否需要编码面试,因为更资深的角色,可能涉及较少的编码,但他得到了一个例外。

他不知道,这是一项普遍的回聘政策,还是为他安排的特殊情况。所描述的流程,是一个人的经历。

你为什么愿意公开谈论这些?

Igor

他通常对正面和负面的经历都很坦率,但也强调,是让他的坦率成为可能的安全感。他不依赖雇主来获得工作签证,可以通过配偶获得医疗保险,孩子已经长大,也没有房贷,并且负担得起一段不工作的时间。

这些条件,减少了公开发言后失去工作的后果。他不会自动建议处于不同约束的人,披露自己的职场挑战。他愿意分享,伴随着对自身特权的明确承认。

在追求晋升与追求较低级别之间,发生了什么变化?

Igor

在职业生涯早期,很难想象高出好几级的角色,实际上是什么感觉。亲历这个进程,澄清了他的偏好:他最快乐的工作,涉及一支相对较小的团队,大量的编码和调试、设计和指导。一旦较高头衔的日常工作变得具体,它对他的价值就降低了。

那些优秀的资深同事做了什么,是你觉得自己所缺乏的?

Igor

他警告不要把其他所有人的长处,合并成一个想象中的竞争者。一位同事可能擅长演讲,另一位擅长沟通,还有一位擅长领导。把自己与整个群体比较,可能造成一个不可能达到的标准。

他认为,只要有足够的时间,自己本可以在 E7 上完全高效。他只是不享受这个过程,也不必继续。朋友和家人质疑,为什么在被迫离开之前就离开,或者拒绝在别处寻求同样的级别。他的回答,把“有能力做某件事”与“想用一生去做它”区分开来。

有没有一个你特别记得的指导的故事?

Igor

他在大约 L4 时带过一位实习生,后来这位实习生全职加入,并最终成了那个团队的经理。那时 Igor 已转到另一个项目,所以他并没有向以前的实习生汇报。他的教训很直接:不要低估一位实习生的潜力。

你会给早年的自己什么建议?

Igor

问问这项工作对公司是否重要,谁需要它。他记得做过一些项目,其目的对他并不清楚,而领导层后来关停了它们。选择有用的工作,是比仅仅因为它被分配了就留在一个项目上更具体的指引。

如果项目似乎没有帮助,初级工程师可以做什么?

与其他经理交谈,并在内部流动切实可行的地方,寻找一个更好的项目。他发现,在谷歌调动比在早期的雇主那里更容易,并提醒这条建议取决于公司。他明确地把自己的经历,与自己只是听说的名声区分开来。

关于这份资料

Meta 资深 Staff(IC7)工程师的坦诚降级故事

本节是对原始文字稿的转述。自动生成的字幕可能有错误。

观看原视频 ↗

开场的预告片段剪辑(00:00–00:37)重复了后面的讨论。

已省略结尾的感谢和请求观众支持的话(49:01–49:40)。

这一精选章节保留了来源中关于职场、领导力和职业的段落。技术性的和无关的讨论已省略。

我的笔记在可使用本地存储时,笔记会保存在此浏览器中。
部分

让影响力被看见

保留成果的证据,清楚地解释你的贡献,并建立一种有助于别人认出有用工作的声誉。

第 18 节 · 访谈

Barbara Liskov:让奠基性的贡献被看见

关于演讲/写作作为认可来源,以及为什么奠基性的工作可能变得不可见的精选段落。

为什么有些名字和想法,比类似的工作更广为人知?

Barbara Liskov

当被问到为什么 Paxos 比 Viewstamped Replication 更为人熟知时,Liskov 回忆起 Lamport 的解释:他做了那些演讲,而她在实现这项工作。她承认,他的演讲和论文是能见度的一个来源。当主持人想知道,更朗朗上口的名字是否也有帮助时,她同意这是个吸引人的名字,但没有把命名当作一个经过证明的因果解释。

为什么有些人质疑你图灵奖工作的重要性?

Barbara Liskov

Liskov 首先质疑主持人的假设,即只有她面对过负面的评论。她的丈夫碰巧在网上读到了那些评论;她认为,其他获奖者如果去看,也可能遇到类似的待遇。

她更有意思的解读是:有些工作已经变得如此基础,以至于人们无法再想象之前的世界。即使她的研究生们,也没有完全领会,抽象数据类型和模块化编程的思维方式,是必须被发明出来的。一个具体的协议,很容易被认定为一项发明;而一种渗透进日常实践的思维方式,则可能成为不被注意的背景。

因此,尽管那些轻视的评论有其本意,她仍把它们视为对创造了这些基础的更广泛研究社区的一种赞美。影响力变得难以看见,恰恰是因为这些想法被视为理所当然。

关于这份资料

图灵奖得主:数据抽象、Dijkstra、分布式系统 | Barbara Liskov

本节是对原始文字稿的转述。自动生成的字幕可能有错误。

观看原视频 ↗

开场的片段剪辑(00:00–00:31)重复了后面的交流,没有再次计入。

已省略结尾的感谢和键盘/频道推广(33:45–34:42)。

这一精选章节保留了来源中关于职场、领导力和职业的段落。技术性的和无关的讨论已省略。

我的笔记在可使用本地存储时,笔记会保存在此浏览器中。
第 19 节 · 访谈

Werner Vogels:学习文化、指导与沟通

关于发现问题、事后复盘文化、指导、把写作作为杠杆、认可与沟通的精选段落。

你怎样找到最重要的问题?

Marc Brooker

Brooker 建议广泛地看,而不是只优化自己代码的数量。客户会揭示他们觉得困难的工作、正在做的投资,以及他们希望不要分散对自己业务注意力的运维杂务。技术趋势提供了另一种输入:更快的网络、存储、计算、多核系统和 GPU,可以让以前不切实际的设计成为可能。更广阔世界里的变化,也会创造出空间。

什么样的事后复盘才算好?

Marc Brooker

首先要弄清到底发生了什么,而不是把事件套进一种既有的偏见。如果做不到,这个困难本身,就指出了缺失的可观测性、日志、指标或模拟能力。然后在几个层面上考察原因:代码缺陷,测试为什么没发现,为什么测试方法或假设不足,以及哪些团队或组织的决定,塑造了这些条件。

为什么一个事后复盘习惯薄弱的团队,应该在这方面投入?

Marc Brooker

这个选择,是把工程时间花在哪里:改进产品,还是一再地扑灭同一场火。一种薄弱的文化,可能缺乏对结果和客户体验足够清晰的关注。标准不必处处相同;对持久性要求极高的系统,值得有特别高的标准,而另一款产品,可能有意接受更多的缺陷,以优化其他目标。重要的区别,在于是有意的取舍。

另一种失败模式,是把运维上的英雄主义常态化。一支通宵达旦、容忍不断告警、修复每一次紧急情况的团队,从内部看可能令人钦佩,却把自己最强的主人翁责任和专业能力,花在了一个昂贵的、反复的“出错-修复”循环上。纠正的做法,是把这股精力,转向理解并消除原因。防止再次发生,能为更深入的产品改进腾出时间。

对一位被这些更高的期望吓到的新工程师,你会说什么?

Marc Brooker

他不指望应届毕业生立刻什么都懂。雇主和职业早期的工程师,都从人们的成功中受益,所以组织必须建立一条有支持的学习路径。与客户的第一次对话,可能让人害怕;指导、反馈、护栏,以及逐步变大的经历,让它们变得可以学会。

他把这与其他职业作了比较,在那些职业里,许多实践性的学习发生在工作中。变化的是学习的重点,而不是毕业生需要它这个事实。领导者必须重新思考职业阶梯,而不是简单地雇用初学者,然后要求专家级的表现。他承认存在不确定性,同时对机会的规模保持乐观。

作为工程师,为什么要写这么多?

Marc Brooker

写作让专业能力跨越人与时间而传播。一款产品、个别的指导和演讲,都能传播知识,但一篇很久以前写下的解释,十年后仍然能帮到一位读者。他把写作看作一种倍增器,而不仅仅是一种提升能见度的活动。

它也让写作者的思考更敏锐。把一个想法写成文字,会迫使它有一种口头或幻灯片所未必具备的深度和清晰度。Brooker 有时写作,并不打算发表。他欣赏 Leslie Lamport 关于形式化数学的更有力的论点,同时把散文视为一个容易入手的起点。分享想法、保存它们,以及更好地理解它们,是各自独立但相容的动机。

对那些把文档看作瞎忙活的工程师,你有什么要说的?

Marc Brooker

问问这份写作是为了什么,它是否在问题的正确层面上运作。Brooker 并不觉得每一种设计符号都有用;他批评 UML 把重点放在一个对自己的工作没有帮助的语义层面。一份文档之所以有价值,可能是因为它为未来的读者,保存了一项决定,或者帮助人们理清一个困难的、难以撤回的设计或 API 选择。例行的、可以撤回的选择,并不都值得采用同样的流程。

对重要的设计,记录理由也把深思熟虑的决定,与没有数据的临时猜测区分开来。未来的工程师,可以带着新的证据,重新考虑那些随意的选择,同时更用心地去理解那些深思熟虑的决定背后的推理。事前思考了多少,与结果同样重要。出于这个目的而写作,是一项值得培养的技能,即使这项活动本身并不令人自然地享受。

你怎样在做事与谈论它之间取得平衡?

Marc Brooker

他把两个极端都看作失败模式。一位能力很强、却从不沟通的人,如果分享,可能有更大的影响,而且待在 IDE 里,可能错过重要的问题。一个只说不做的人,如果回到实践中,可以让自己的建议更切合实际。

Brooker 个人把大约百分之七十五到八十的精力用于实践,其余用于教学或沟通。优秀的同事们,从大约九比一到五五开不等;他把这些作为观察提出,而不是一个最优的分配公式。专职的沟通者可以有不同的工作,只要他们保持好奇,并对自己知道什么、不知道什么保持诚实。在快速变化期间,他会稍微更偏向实践,同时不切断与外部世界的联系。

是被高估更好,还是被低估更好?

Marc Brooker

从长远看,他会选择被低估。被高估可能感觉很好,但很难持续。体育和手艺,很快就暴露出外表与能力之间的差距;而工程则可能让定性的观感存在更久。他钦佩的那些职业生涯,建立在对自己实际知识和技能的诚实之上,而不是靠维持一个被夸大的形象。这补充了他的建议:传达有用的专长,而不是隐藏它。

你钦佩哪些 AWS 工程师?为什么?

Marc Brooker

他重点提到退休的同事 Al Vermeulen,其工作包括对 S3 和数据库设计的重大贡献。Brooker 记得 2010 年前后,与他争论 Paxos 的细节,同时也看到他讨论高管层面的云战略,并解释业务该构建什么。他钦佩这种在这些层面之间穿梭、而不失深度的能力。

更一般地说,他尊敬那些被有用的工作和客户影响所驱动、而不是被名气所驱动的同事。广度、细节和目标结合在一起,构成了他想追随的榜样。

你刚加入 AWS 时,会给自己什么建议?

Marc Brooker

当学习和影响开始减弱时,在调动上要更大胆一点。他热爱自己在 EC2 和 EBS 早期的团队,离开时比他现在认为理想的更犹豫。他做了大约四次重大的组织变动,并怀疑再多几次可能更好,但并不是建议不断地换。

他会反复问自己,在学什么,向谁学,以及另一个环境是否会帮助自己学得更快。在他自己的职业生涯里,追随好奇心既有用又令人愉快。

关于这份资料

AWS 杰出工程师:从 3000 起事故中学习,以及工程如何变化 | Marc Brooker

本节是对原始文字稿的转述。自动生成的字幕可能有错误。

观看原视频 ↗

00:00–01:01 的开场片段剪辑,重复了后面展开的问题和说法,没有单独计入。

已省略 01:10:34–01:11:29 的结尾键盘推广、频道反馈请求和告别。

这一精选章节保留了来源中关于职场、领导力和职业的段落。技术性的和无关的讨论已省略。

我的笔记在可使用本地存储时,笔记会保存在此浏览器中。
第 20 节 · 访谈

Charlie Marsh:坦诚的沟通与打造团队

关于坦诚的沟通、用户信任、创始人/团队适配,以及选择值得信赖的合作伙伴的精选段落。

你怎样在有挑衅性的标题与诚实之间取得平衡?

他反对误导性的标题党。目的是有效地传达最有趣的真相部分。撒谎可能吸引注意,但会摧毁与用户建立有益关系的基础。

截断了坐标轴的图表呢?

他拒绝带有欺骗性的图表呈现,然后强调真正的基准测试的难点:缓存、项目选择和不相关的原生构建,都可能改变观察到的结果。没有哪张图能涵盖所有情形。这并不免除给用户一个关于性能的诚实印象的义务;他承认,自己的团队有时也可能把握不好这个平衡。

愿意走开,是否给了你谈判的筹码?

他同意,自己处于一个强势的位置,同时拒绝把自己描绘成一位谈判专家。他强调的是一致的、支持他的投资人,以及除了让他更激进地增长的建议之外几乎没有压力。那段积极的经历是幸运的;他认识到,其他创始人可能有不同的关系。

作为第一次创业的工程师,有什么让你意外的事?

他不信任普适的创业建议,因为成功的创始人可以给出相互矛盾的指示,而幸存者偏差隐藏了其他选择。选择适合团队和你想要的生活的原则。远程办公让他得以雇到一支在一个地点无法组建的团队,尽管线下见面有真实的好处。融资优化的是值得信赖的合作伙伴、合理的条款,以及尽快回去工作。他没有仅仅因为被推荐,就强行建立联合创始人的关系,尽管后来他感到缺少一位分担重担的同伴。

你是怎样补偿一个人创业的?

他依靠自己的妻子,请教早期的团队,并与其他创始人建立关系。每一种支持的来源都有限度,包括可以把多少放在家人或员工身上。他还选择自己大量工作,却不要求每个人都这样:他希望人们在正常时间里取得成功,并因有用的表现而得到奖励。他的建议是,让实际的文化诚实而有意识,而不要模仿一种时髦的作息。

毕业后,你会给自己什么建议?

相信出于可靠的个人理由做出的决定,同时意识到,事后看来,一条幸运的路径可能显得是必然的。他曾担心,选择 Khan Academy 让他失去了大公司的经验和薪酬;他现在看重自己真正想要的那段经历。他不会假装知道另一条路会怎样。

更广泛的生态系统的接触,会不会是必不可少的?

他同意,并补充了自己早期的创业经历。那家公司没有实现它所有雄心勃勃的药物发现目标,这让他一度质疑投入的那些年。作为早期员工,他既学到了公司是怎样发展的,也学到了日后在 Astral 用到的技术教训。回头看,这些经历都与构建他所热爱的工具相联系。他认识到,这个令人安心的叙述,来自一条走得很好的路径,并不能证明每一次失望都会产生同样的回报。

关于这份资料

uv、ty、Ruff 的创造者:软件工程如何变化 | Charlie Marsh

本节是对原始文字稿的转述。自动生成的字幕可能有错误。

观看原视频 ↗

0:00–0:45 的开场预告片,重复了后面的交流,只呈现一次。

已省略 39:14–40:04 的 WorkOS 赞助商片段,以及 82:00–82:54 的结尾支持/键盘推广。

这一精选章节保留了来源中关于职场、领导力和职业的段落。技术性的和无关的讨论已省略。

我的笔记在可使用本地存储时,笔记会保存在此浏览器中。
第 21 节 · 访谈

Thariq Shihipar:向经理更新进展与职业能见度

关于准备给经理的更新、坦诚的沟通、有意识的写作,以及公开的职业能见度的精选段落。

在 Anthropic,现在有多少“粘合性”的写作,比如发布文章、更新和设计文档,是由大语言模型写的?

Thariq

Thariq 的经验法则是:如果你乐意把提示词给别人看,你就可以把输出发给他们。提示词往往只是在汇集背景。在每次一对一之前,Thariq 让 Claude 读取 Slack 消息、GitHub 消息和 PR,并汇编一份 Thariq 做了什么的报告。经理缺乏那些背景,而 Thariq 乐意让他们知道提示词。

对于数据解读,Thariq 建议表明你读过结果,比如做一些小的修改,或对数字进行合理性检查。对于一个提案或新概念,人们想知道你相信它。即使 Claude 的想法很出色,Thariq 也会说,这是 Claude 生成的,而 Thariq 认为它很棒。人们不喜欢的,是觉得被误导。

有些写作取决于每一个字。Anthropic 内部那些主张某个方向的文章,通常由人来写,Thariq 说,让 Claude 来写你的文章,是被人瞧不起的,因为每一个字都应该是有意的。

所以例行的写作是 AI 写、人审阅,而新颖的思考仍由人来做?
Thariq

Thariq 表示同意,并补充说,写作是一种思考的方式,所以如果你需要对一份解读多思考一下,就自己来总结。汇集背景则不同:没有人会因此责怪你,而承认走了捷径是好的。

软件工程师应该在 Twitter 或 X 上发帖来建立能见度吗?

Thariq

Thariq 说,尽可能多地对外分享你的工作,尽管有些雇主不允许;副业项目是一个选择。在加入 Anthropic 之前,Thariq 与不同的公司合作,构建东西,并就它们写作和讲述。Thariq 说,这增加了自己的“运气表面积”,而且门槛比人们以为的低得多。

Thariq 说,自己把这个建议给了很多人,几乎没有人照做,而照做的人,都在一份自己很兴奋的工作里,或者在经营自己的公司。配方是:无视你的简历,选一个有趣的项目,努力工作、全力投入,然后把它发布出来并写下来。会有不这样做的理由,但如果第一次尝试失败了,就再来一次。

Twitter 可能不是合适的地方;Reddit 或 Hacker News 可能更合适。目标是找到喜欢你所做之事的人。人们想要高质量的内容,那需要大量工作,而 Thariq 说,没有捷径,比如让 Claude 来运营你的 Twitter 账号。要真实地参与。Thariq 把它比作每天去健身房:简单、需要自律,也很容易放弃,Thariq 说自己没见过坚持尝试的人失败。

你能举一个扩大“运气表面积”的例子吗?
Thariq

Thariq 描述了自己是怎样得到 Anthropic 的工作的。Thariq 在可解释性 AI 公司 Good Fire 做过一段研究员项目,做关于如何用可解释性来打造更好产品的应用研究,并事先约定目标是分享 Thariq 所构建的东西。

Thariq 构建了一个可解释性的可视化并发布了出来。它得到了大约 500 个赞,这在当时很多。好几个人看到了它,有些人发了私信,Thariq 得到了 Anthropic 一个职位的引荐。这个项目花了大约一个月,而 Thariq 为此得到了报酬。

Thariq 说,没有捷径:做有趣的、新颖的工作,努力工作,并为之自豪。

关于这份资料

Anthropic 如何构建产品,以及工程将如何在不久后改变 | Thariq Shihipar

本节是对原始文字稿的转述。自动生成的字幕可能有错误。

观看原视频 ↗

已省略开场的预告片段和引子(00:00.00 至 00:27.20);真正的问题从 00:28.40 开始。

已省略 WorkOS 的赞助商口播(34:16.72 至 35:00.96)。

笑声以及关于“第一次尝试的期望”的简短重复交流(01:05:17.64 至 01:05:40.08),已并入 01:05:07.16 的追问中。

已省略结尾的感谢(01:09:53.12 至 01:09:56.28)。

已省略频道对评论和点赞的号召、嘉宾建议,以及人体工学键盘 Kickstarter 的推广(01:09:58.76 至 01:10:52.84)。

这一精选章节保留了来源中关于职场、领导力和职业的段落。技术性的和无关的讨论已省略。

我的笔记在可使用本地存储时,笔记会保存在此浏览器中。
第 22 节 · 补充篇

雄心、影响力与晋升清单的局限

一位主持人和一位 CTO,就如何让有价值的工作被看见,同时又不把职业成长简化成交易式的晋升清单,展开了辩论。

工程师应该围绕晋升来规划职业,还是围绕培养有用的行为和影响力?

嘉宾

嘉宾强烈地偏向影响力而非头衔。在评估晋升时,他想看到的是重要的成果,而不是试图谈判出一张清单,一旦完成就机械地触发晋升。一个人可以在技术上满足某项明说的活动,却以几乎不增加价值的方式去执行它;这样,晋升背后的根本原因就没有得到满足。

他也承认自己的一种个人反应:一再试图让领导者就奖励给出明确的承诺,会让他觉得交易化、令人厌烦。这是他作为领导者的视角,并不保证所有经理的反应都一样。他实质性的论点是,真正的影响力,仍然应该是被认可的东西。

比较安静的工程师,应该怎样在影响力与让工作被看见之间取得平衡?

嘉宾

主持人对纯粹的“影响力优先”的说法提出挑战:优秀的工程师可能不善于传达自己的成果,当晋升决定取决于人们是否注意到时,他们可能吃亏。他把有用的能见度与愤世嫉俗的自我推销区分开来。

嘉宾同意能见度很重要。工程师需要与了解重要挑战的人接触,与合作者协调,并让自己的能力得到认可,这样别人才会把更大的工作托付给他们。他的区别在于沟通的目的和框架:让工作易于理解并协调它,与试图吹嘘自己,可能导致不同的行为。

更新也应当认可合作者,并感谢团队。这让贡献变得清晰可辨,又不暗示只有发送者才重要,帮助别人感到被重视,并支撑起领导所需要的信任。主持人观察到,两种动机可能产生表面上相似的更新;嘉宾强调的是,这条信息在多大程度上以个人为中心,而不是以工作和其他人为中心。

一位高调的高绩效者,是否往往比一位同样优秀的安静同事更早被晋升?

嘉宾

主持人认为,持续的游说,即使在两个人都有真实影响力的情况下,也能赢得额外的关注。嘉宾说,结果取决于组织文化,而他自己的文化试图不去奖励这种行为。他承认,也有一些边缘情况,游说仅仅因为让人一直被记在心里,而赢得了考虑。

他并不建议放弃雄心。他希望雄心被表达为对更大影响力的渴望:问问自己是否在做最重要的问题,能学到什么,以及可以在哪里做出更多贡献。否则,一位勤奋的工程师,可能把非凡的努力花在一个低优先级的任务上,仍然错过自己想要的结果。

让这些抱负为人所知,并要求机会,是有价值的对话。他反对的,是把关系简化成合同式的勾选框,然后要求晋升。因此,这场辩论仍保留着一种真实的张力:主持人担心认可不平等,而嘉宾更喜欢以影响力为中心的能见度和经理的判断,而不是晋升的讨价还价。两者都没有确立认可总会完美地匹配贡献。

关于这份资料

CTO 谈你为什么不该向经理要求晋升(辩论)

本节是对原始文字稿的转述。自动生成的字幕可能有错误。

观看原视频 ↗

已省略 00:09:12–00:09:28 的结尾完整一期的指引和反馈请求。

我的笔记在可使用本地存储时,笔记会保存在此浏览器中。
第 23 节 · 访谈

迈克尔·诺瓦蒂(Michael Novati):声誉、反馈与跨团队的影响力

关于内部新闻简报的能见度、跨团队的声誉、经理的反馈、领导层关系和广泛影响力的精选段落。

通过与用户的关系建立动力

迈克尔·诺瓦蒂

在社交层面,Facebook 是一款人人都听说过、也都有看法的产品。Novati 可以得到大量关于人们喜欢和不喜欢什么的反馈,并发现构建一个人们在乎的东西很有激励作用。Novati 补充说,公司也经历了起起落落,即使在 Novati 任职期间。

现在文化变了,Novati 怎么看“快速行动,打破常规”(move fast and break things)?

迈克尔·诺瓦蒂

Novati 描述自己当时就是那个“快速行动、打破常规的人”,并且仍然喜欢这个说法。在 Novati 的理解里,“打破东西”那一半,部分是外界的观感,Facebook 并不想告诉公众,人们在鲁莽地打破一切。最初的精神是打破常规:第一性原理的思考,从头尝试,不为了追随潮流而追随潮流。它并不是为了制造破坏。

Novati 仍然认为它在今天会是一句不错的格言。不过,在一家更大、更成熟的公司,即使最小的 bug,也可能花费数百万或数千万美元,所以 Novati 能理解公司为什么放弃了它。

考虑到 Novati 刚开始时大约有 200 名工程师,文化是否随着年月发生了变化?

迈克尔·诺瓦蒂

Novati 描述了一种极度由工程师驱动的文化。设计师和产品经理必须赢得工程师的支持,因为工程师不愿做的工作就做不出来。几乎所有的内部工具,都是在内部编写、并由员工使用的,这确立了 Novati 所热爱的、工程优先的基调。

Novati 把 2012 年的 IPO 视为转折点。之后股价下跌,因为人们问 Facebook 要怎样赚钱,这个问题在最初的三年里几乎没有出现过。随着公司的成长,Novati 形成了更成熟的看法:广告优化、成本节约和高效的基础设施变得更重要。早期,资深工程师们当面辩论设计,在很大程度上独立于管理层。到后来,两支团队的副总裁更多地进行协商,结果再层层往下渗透。

那份让 Novati 出名的内部新闻简报是什么?为什么要开始写?

迈克尔·诺瓦蒂

它叫作“每周的 Novati”(the weekly Novati),是在 Notes 产品(Facebook 的博客功能)上每周发的一篇帖子。Novati 2009 年加入时,Notes 没有负责人,所以 Novati 在黑客松上改进了它,把富文本加到原本只有纯文本的功能里。这次改动是一个 11,000 行的 diff,大到 Novati 不得不组织一场当面的会议来评审它。Novati 还经常使用这款产品,这是 Facebook 内部“吃自己狗粮”的习惯之一。

几篇略有争议的、关于产品构建的帖子引起了关注,所以 Novati 更有规律地发帖,常常是随口而写。Facebook 坚持留在门洛帕克的园区,而旧金山的创业公司,比如 Stripe 和 Uber,正在把员工吸引走。Novati 反复写这件事,包括一篇提议在南旧金山设立办公室的帖子,那个办公室后来真的开了。

今天,Novati 会推荐这样的内部新闻简报吗?
迈克尔·诺瓦蒂

总的来说,Novati 说,不会。写它并没有战略上的理由。它出自 Facebook 开放与透明的价值观:Novati 想去掉客套,诚实地审视产品,比如承认一款产品的增长靠的是运气,而不是实质。Novati 把这与创业公司和新兵训练营作了对比,后者把一点点牵引力,当作自己打造出了了不起的东西的证明。这些帖子与绩效评估或影响力毫无关系。

代价是摩擦。Novati 曾经公开指出,头衔为网络工程师或数据工程师的工程师,不能像软件工程师那样轻松地在团队之间流动。Novati 不知道这在幕后是一个痛点,高管们说,那篇帖子没有帮助,现在他们得去做危机公关了。Novati 的教训是,随口而写的风格是有后果的,不过 Novati 仍然在 Reddit 和 LinkedIn 上尝试保持直接和开放。

人力资源部有没有要求 Novati 撤下过帖子?
迈克尔·诺瓦蒂

Novati 说,没有任何东西以下架命令的形式出现,但人力资源部确实给过反馈。有一篇帖子讲的是哪些公司在挖 Facebook 的工程师,当时 Uber 正在提供非常大额的股票授予。人力资源部指出,这可能无意中鼓励人们去看其他工作。Novati 当时没有想到这一点,并说这类随口而写的帖子,也许不值得带来那些摩擦。

出于担心,Novati 直接给扎克伯格发了消息。扎克伯格对此没有意见,并鼓励 Novati 继续发帖。

Novati 真的能直接给扎克伯格发消息并得到回复吗?
迈克尔·诺瓦蒂

是的。Novati 加入时,Facebook 很小,Novati 经常与高管们打交道。离开时,Novati 逐一给每位高管发了消息,包括克里斯·考克斯(Chris Cox),并说他们回复表示感谢。Novati 觉得与他们所有人都有一种关系,这种关系来自公司还小的时候真诚的互动,并与扎克伯格最熟,部分是在工作之外。随着 Facebook 的成长,Novati 在过去几年里没有与其中许多人交谈。

哪些工程师给 Novati 留下了最深的印象?为什么?

迈克尔·诺瓦蒂

是产品基础设施团队,他们构建了 PHP 的各种抽象,后来演变成今天的 React 框架。Novati 看着这个框架一砖一瓦地搭起来,把那些工程师看作另一种类型,一种不属于 Novati 的专长。与 Novati 最相像的人,是 Evan Priestley,Novati 说他是 Novati 之前提交最多的人。Priestley 几乎凭一己之力写出了内部的代码评审套件,后来它被分叉并开源了(字幕里它的名字写得不清楚)。

为一个新的产品团队,Novati 会选 Priestley,还是四位普通的资深工程师?
迈克尔·诺瓦蒂

Priestley。随后 Novati 又补充说,这取决于情境。被称为“编码机器”并不是魔法:它来自努力工作,来自在记忆里装下大量代码,也来自对最微小细节的关注。Novati 说,在 Oculus 固件上,一开始效率会很慢。在一个大家都已经上手的、舒适的代码库里,Novati 会选编码机器。对于真正全新的东西,一个更多元的小组,可能带来更多的灵活性和创造力。Novati 说,一台编码机器,能让人们以为不可能的事情发生。

Novati 能举一个七位资深工程师组成的团队也完不成的例子吗?
迈克尔·诺瓦蒂

Novati 的典型例子,是一个叫 Preparables 的框架。一个组件有一个获取数据的函数和一个渲染函数,所以所有数据可以在渲染之前并行获取。它后来被 async/await 和更现代的方法取代。成千上万个类使用它,Novati 手动、不懈地把每一个都重构掉了,按 Novati 的估计大约三到六千个,直到父类消失。这花了几个月,是一个人的工作。

第二个项目,是把服务器上每一个直接命中的 PHP 端点,都改成使用路由框架。Novati 说,这两件事都不是公司的头号优先事项,如果没有个人的驱动力,它们就会消耗本该花在新产品上的资源。一个人做了它们,通过去掉遗留框架,让所有工程师的日子都更好过了。

React 框架的工程师与 Novati 的原型不同,是什么给 Novati 留下了深刻印象?

迈克尔·诺瓦蒂

Novati 把他们归入专家型原型:非常擅长某一个技术栈的人。另一个例子,是一位工程师,他是世界上也许十个深入理解电子邮件协议的人之一,包括垃圾邮件和路由的实际方面。Novati 喜欢用运动队来类比:在一支棒球队里,每位球员都能合理地胜任大多数位置,但你还是需要明确的角色,以及对每位球员位置的相互尊重。Novati 尊重那些工程师,并认为一支拥有不同类型球员的团队,是出色的。

是因为他们解决了别人无法解决的问题吗?
迈克尔·诺瓦蒂

是的,Novati 说,而且他们的抽象影响特别大,因为每位工程师每天都在用它们。Novati 自己的清理工作,也让每个人的日子更好过,所以有一些相似之处。他们的框架,减少了诸如获取数据这类任务的心智负担。Novati 指出,一个优雅、快速、易用的 API,设计起来非常难,而让事情变得更简单,可能比写大量代码更费功夫。

Novati 说过,大约 30% 的时间给了团队,70% 给了自主选择的项目。这是怎么运作的?

迈克尔·诺瓦蒂

Novati 把它描述为:作为一支大约十人的团队里的资深工程师,同时把一半以上的时间,花在覆盖整个代码库的举措上:清理、重构、一个新框架、一次性的帮忙和紧急情况。那 30% 是心智专注力的份额,而不是八小时工作日里的一块。Novati 整天都在团队里,评审代码,与初级工程师交流想法,指导他们走向晋升,并编写团队排好队的功能。Novati 还参加产品会议,评估产品经理提议内容的可行性。团队工作产生的代码量,相当于一位资深工程师的水平。

考虑到大部分精力都在别处,Novati 是怎样处理与经理的关系的?
迈克尔·诺瓦蒂

Novati 常常(但不总是)向更初级的经理汇报,几乎像同级一样,帮助他们管理团队。隔级经理通常做绩效评审,而 Novati 实际上非正式地向这位隔级经理汇报。Novati 每月与整个组织的一位副总裁见面,每两周与隔级经理见面。在组织结构图上,Novati 向一位一线经理汇报,但在实践中,Novati 是为资深人员服务的虚线资源,是“组织的一件武器”,哪里需要就去哪里。

Novati 是怎样过渡到 IC7、为整个组织解决最难的问题的?

迈克尔·诺瓦蒂

Novati 说,产出在第一天就已经是编码机器的水平。提高的是品位和判断力。举个例子,同一个数据源上,有两个任务工具的分叉,一个快而精简,一个功能臃肿而缓慢。在一周或更短的时间里,Novati 把它们合并成了一个,兼具第一个的速度和第二个的功能。Novati 没有告诉任何人,只是向全公司发帖说工具已经合并了,并说现在做不到这样了。

每个人都向 Novati 道贺,但教训是,用改变了的网址,让数百位用户措手不及,并不是最好的做法。Novati 当时没有理解对各个团队的后果。在许多次大的改动中,有些太快,有些有 bug,Novati 保持了同样的速度,同时提升了判断力:一次该改多少,别人会有什么感受,哪些地方是敏感的。Novati 说,这种判断力和品位的积累,才是跨过 IC7 门槛的东西。关于如何培养它的建议,取决于情境:先和经理谈,再和隔级经理谈,然后找一位在类似组织里的非常资深的工程师谈。

所以高生产力和主动性,让 Novati 得以承担额外的工作,并因此出名?
迈克尔·诺瓦蒂

是的,Novati 说,但判断力和品位,比代码更重要。它们延伸到发布流程。当时 Facebook 还没有持续集成。如果生产环境里出了问题,负责发布的团队就得发一个修复,而一位搞砸太多的工程师,会失去他们的信任,这会伤害一台编码机器。Novati 建立了这种关系,并且不止一次说过,某个改动必须上线,如果它搞崩了网站,Novati 就辞职。Novati 以前耗掉过信用,所以必须对修复非常有把握。一位只是写了大量代码、没有多年积累的信任的工程师,是蒙混不过去的。

如果它又搞崩了,Novati 真的会辞职吗?
迈克尔·诺瓦蒂

Novati 认为会。这句话给 Novati 带来如此大的压力,也许是一种性格特质,以至于 Novati 会反复检查每一行,并考虑每一种奇怪的情形。

对软件工程师来说,品位和判断力是什么意思?

迈克尔·诺瓦蒂

Novati 把品位比作铸铁锅上的包浆,是一层层历史堆积起来的。有些人早早就有更强的直觉,也许来自成长环境,或者来自代码之外的经历,比如舞蹈或体育。一般来说,需要经验。Novati 的第二个意象是速滑运动员:你不能读一本书、穿上冰刀,就成为最快的。这需要多年去感受不同温度下的冰面,以及滑过一次和滑过两次的冰刀的差别。

Novati 看到太多处于职业早期的人,试图跳级,就像在建立起那种手感之前就参加奥运会。Novati 说,这没关系,他们也没有什么问题。建议是投入练习和重复,得到反馈,迭代,并有毅力坚持下去;没有反馈,练习并不能提高技能。

品位指的是怎样设计软件,还是指哪些问题值得解决?
迈克尔·诺瓦蒂

Novati 说,对不同的人,两者都是。产品经理的品位,主要是关于做什么,通过交付许多东西、看着一些失败来培养。Novati 说,那些出色的人,交付的主要是失败的或平庸的东西,并在每一步都学到东西(这是一个宽泛的、未经衡量的说法)。对工程师来说,Novati 说,品位适用于代码本身,也适用于快速前进的策略。

Novati 在动每个人的代码。其他团队有没有给反馈?是怎么处理的?

迈克尔·诺瓦蒂

有。在一个案例里,Novati 在一个团队工具的线上版本里,重构了一个旧框架,而那个团队当时正在构建一个更新的工具,并小心地维护着向后兼容。他们有许多 diff 正在进行中,这次重构造成了合并冲突。他们想让它被回退。Novati 当时没有关注这一点,教训是,要小心那些团队正处于复杂、长期工作的迁移途中的地方。

有人反对说,Novati 添加了东西,却不负责维护吗?
迈克尔·诺瓦蒂

Novati 说,这从来没有出现过。当时的理念(Novati 说 Kent Beck 最近也描述过)是:你写的每一行,你都要负责。如果你愿意在凌晨三点被叫醒去修自己的代码,你就可以不写测试。如果你想朝九晚五,就多写测试,这样你不在时代码也是稳定的。

Novati 并不是重构完就不管了。有时两年后,一个自动的 bug 会被分配过来,因为 Novati 最后碰过那段代码,Novati 就把它当作自己的来修。Novati 没有领地上的冲突,也没有践踏别人对产品的判断。Novati 把它比作外科手术,是通过早期过于激进的教训学到的:找到那条界线,既不打扰人们日常的工作,又仍然把清理做完。

随着工程师更加资深,他们会被拉进更多的会议。Novati 是怎样保护专注时间的?

迈克尔·诺瓦蒂

Novati 把会议降到最少。当日历邀请没有背景就来了,Novati 会问是做什么用的,并回绝了很多。Novati 会跳过站会,除非相关,比如在冲刺、要在一个月内交付的时候,而且不参加纯社交闲聊的会。Novati 对时间很严格,并有意地选择团队,看重那些明白自己的工作是帮助下属表现出色的经理。Novati 的经理们保护 Novati 免于不必要的会议,这样影响才能最大。

Novati 承认有时太傲慢。Novati 回忆起一两次,在觉得会议不再有用之后,直接走出了会议室,现在后悔了,对主持会议的人感到抱歉。

人力资源部有没有要求 Novati 友善一点?
迈克尔·诺瓦蒂

没有,Novati 说,因为那不是掀桌子的情形。Novati 与产品经理们关系很好,他们喜欢 Novati 又快又好地构建和修复东西,包括那些不是 Novati 负责的 bug。Meta 的产品经理希望事情推进得快,并盯着每一个像素。当一场会议不再需要 Novati 时,他们常常会允许 Novati 离开。Novati 把这种态度描述为,在可以写代码的时候,对不把时间花在会议上,毫不留情。

Novati 是怎样培养出选择重要问题的技能,让代码更有影响力的?

迈克尔·诺瓦蒂

Novati 首先说,自己并不擅长这个,在排优先级上仍然很差。Novati 倾向于选择那些已经能看到答案的事情,所以唯一的问题,只是代码能打多快。这也是为什么大语言模型对 Novati 帮助这么大:想法在 Novati 的脑子里,工具能把它更快地弄出来。

Novati 称这可能是拖累职业生涯的事情之一。当经理要求做任务 A,而 Novati 看不到答案时,Novati 就去做了 B 到 H。这能得到一个及格的分数,并受到赞赏,但如果 A 真的很重要,那么如果 Novati 做了它,公司整体的影响很可能更高。Novati 把它表述为一个弱点,受限于 Novati 能想明白怎么做的东西。

所以优先级清单,就是 Novati 能立刻搞出来的东西,而不是完整的业务价值?
迈克尔·诺瓦蒂

Novati 同意,并补充说,如果你搞出足够多,它会累积起来,并可能产生巨大的影响,但这是一种不同的思考工作的方式。

IC7 以上的工程师有什么共同点?

迈克尔·诺瓦蒂

Novati 说,无论原型是什么,编码机器、专家,还是救火者,都有一个共同的标准。每个人都表现出极强的勤勉和尽责,而且头脑敏锐。Novati 举了全 A 的在校成绩,以及觉得自己相当聪明的感觉,但也承认,这个群体里很多人可能更聪明。在一个房间里,一个新提出的协议,不会得到一小时的演讲;人们会立刻提出尖锐的追问。对细节的关注非常高。

对 Novati 来说,这些是性格特质,比如把强迫症式的倾向,富有成效地用在产品的每一个细节上。另一些人,则通过 25 年的经验达到了这些。Novati 说,在与初级同事的交谈中,背景往往缺失,追问不那么敏锐、也耗时更长,项目的范围通常也更小。

在最高的表现水平上,有多少是天赋,有多少是努力和成长?

迈克尔·诺瓦蒂

Novati 说,天赋存在,由生理、成长环境和机遇塑造,其中一部分尚未被发现。一个觉得自己没有天赋的人,也许只是还没找到它,或者在不是自己本职工作的事情上有天赋。Novati 说,这就是目前正在做的、帮助人们找到自己能做的最有影响力的工作这项工作背后的使命,因为不是每个人都有机会去探索。Novati 相信,每个人都在某件事上比大多数人强,而找到它,是高绩效的重要一环。

相比之下,努力是在你控制之内的。Novati 的一位朋友指出,天赋和运气不在你的控制之内,而努力在。Novati 说,如果你擅长自己的工作,并且喜欢它,你可以比相近的人付出更多,并很可能因此得到认可。

Novati 的职业成长,有百分之多少是运气?

迈克尔·诺瓦蒂

Novati 说,一半一半。来自加拿大的 Novati,在 Facebook 的第一天是个惊喜:Novati 拿了一台笔记本电脑,离开了入职培训,却被叫了回去,因为没有领手机。Facebook 递上了手机和配件,仿佛铺开红地毯,Novati 想,这一切到底是怎么回事。Novati 说,留在加拿大,大概也会发展得不错,但不会有同样的加速。

运气在于,在 Novati 加入的那个时间点,落在了 Facebook:与 Novati 当时的性格完美契合,价值观一致,而且代码与 Novati 能应付的东西相匹配。Novati 见过一些没有同样驱动力的人得到了运气,现在也做得很好,并说两个因素中的任何一个,都可能成功。Novati 说,在这里,两者都起了作用。

Novati 会给刚毕业的自己什么建议?

迈克尔·诺瓦蒂

Novati 看到许多人,包括那些准备面试的人,在寻求认可:一个绿色的对勾,一个满分。Novati 过去就是那样的人,想要一个 A+,却并不真正知道自己在学什么。正因为这样,Novati 把反馈当作一个用来评判的分数,而不是用来改进的输入,并给自己施压,下次要达到 100%,而不是朝着改进努力。

给那些想要满分的有野心的人的建议是:反思反馈,并突破舒适区,而不是把反馈当作评判。

关于这份资料

Meta 资深 Staff 工程师(IC7):扎克伯格的故事、快速的职业成长、编码机器原型

本节是对原始文字稿的转述。自动生成的字幕可能有错误。

观看原视频 ↗

已省略开场的预告片段和主持人“你会喜欢完整的一期”的引子(00:00.32 至 00:26.08);核心说法在概览里只涵盖一次。

关于嘉宾现公司(面试准备和录用通知辅导)的简短提及,约在 15:08 至 16:50 和 58:38 至 59:14,已缩减为其背后的建议;未保留推广。

关于纳斯达克敲钟的后勤安排(11:18 至 11:57)和 Ripstik 禁令轶事(26:33 至 27:54)的简短题外话,已压缩为要点。

已省略结尾的感谢、提供通过 LinkedIn 或 Reddit 联系的邀请、订阅和 Spotify 评价的请求,以及征集嘉宾建议的话(01:25:40.64 至 01:26:19.92)。

这一精选章节保留了来源中关于职场、领导力和职业的段落。技术性的和无关的讨论已省略。

我的笔记在可使用本地存储时,笔记会保存在此浏览器中。
第 24 节 · 访谈

Bobby Holly:能见度、团队功劳与杰出级别的影响力

关于以影响力为中心的能见度、给予团队功劳、资深的榜样,以及杰出级别的领导力的精选段落。

那时你在职业生涯的什么位置?随着你做这些项目,它是怎样成长的?

Bobby Holly

Holly 说,早期的 Mozilla 有一种自选头衔的文化,Holly 为那个复杂的代码库选了“负熵”(negative entropy)。到 Firefox Quantum 时,Mozilla 有了一套更标准的职级阶梯。Holly 在 Quantum CSS 期间达到了资深 Staff,上线之后,Holly 和领导 Quantum 另一半的工程师,都被晋升为首席工程师(principal engineer),按 Holly 的估计,当时拥有这个级别的人可能不到五位。

Holly 的长期梦想,是成为像 Boris Sabarski 那样的人,他是 Mozilla 的三位杰出工程师之一,而路径,是在代码的尽可能多的部分里多产:WebRender、移动、多进程、布局。Holly 的经理,也就是负责工程的人,要求 Holly 每周留出一天不打开终端,并更广泛地思考影响力,而不只是直接的代码。Holly 当时很震惊,并说这不是一种自然的工作方式。

你有没有一种方式,来思考哪些贡献比另一些更有影响力?
Bobby Holly

Holly 说,这是一场有指引的搜寻,寻找所提供的最大的问题,它随着时间而变化:DOM 绑定与安全,然后是解决 YouTube 问题的媒体播放,多进程,基于 Rust 的 CSS 引擎,WebRender,然后是移动。Holly 的模式,是跳进最紧迫的领域,学习它的代码,与它的领导者共事,不总是自己敲代码,而是评审、确定方向和设定优先级。主持人把这总结为多产,但瞄准的是组织最大的问题,Holly 表示同意。

在业内,我听到两种关于成长的方式:先聚焦晋升,或者先培养技能和行为,让晋升随之而来。哪种更好?

Bobby Holly

Holly 有强烈的看法,并说要关注影响力,而不是头衔。这是 Holly 在决定提拔谁时看重的东西。有那种程度影响力的人,不需要像“晋升黑客”(promo hacking)所暗示的那样推销自己,那意味着让管理链条把获得晋升必须做到的事情逐一钉死。

坦率地说,Holly 觉得这很烦人,把它比作孩子要求为做了被要求的事换取奖励。Holly 也看到了一个实质性的问题。一个关注影响力的人会取得成就,而一个关注别人给出的那些勾选框的人,可能在技术上以打勾的方式满足了一个明说的条件,却错过了重点。影响力才是应当被认可和奖励的东西。

说话比较温和的工程师,往往做出出色的工作,却营销得很糟。“炫耀文档”和分享成绩,似乎是一种合理的平衡。你怎么权衡这两种说法?
Bobby Holly

Holly 说,类似的活动可以有好几种表述方式,而表述的方式,塑造了它们如何被执行,以及达成什么。能见度是影响力的一个基本事实:你需要与了解最大挑战的人建立联系,与他们协调,并确保他们知道你能做什么,这样他们才能把你放在可以做得更多的位置上。但 Holly 说,试图吹嘘,与试图为重要的工作沟通、协调并创造能见度,会带来非常不同的结果。

更新的措辞可能很微妙,同一篇帖子可能出自不同的动机。人们能看出来吗?
Bobby Holly

Holly 说,很大程度上取决于这份更新在多大程度上是关于你,而不是关于工作、团队和其他人。每个人都知道,发送者很可能在工作中扮演了重要角色,所以任何更新的重要一部分,就是让别人被看见,并感谢团队。Holly 把这视为领导力的一部分:做一位谦逊的领导者,为别人的贡献创造认可。

“会哭的孩子有奶吃”不是吗?一位高调的、游说晋升的高绩效者,往往比一位安静、扎实的人更早得到奖励。
Bobby Holly

Holly 说,这取决于组织及其技术文化,而 Mozilla 努力不去奖励这种行为。信息不是要避免雄心,而是把它表述为你想要的影响力,而不是你想要的地位。Holly 承认,在边缘情况下,为自己游说的人,因为被记在心里,会得到多一点的考虑。

Holly 最喜欢的对话,是关于如何成长、产生更大影响的,比如你是否在做最重要的事。Holly 说,最令人难过的结果,是有人非常努力地做某件不够重要的事,却没得到他们想要的影响。Holly 说,让领导者把该打哪些勾逐一钉死,是极其烦人的,而你不想让领导觉得你烦人。

你专注于影响力,并有杰出工程师作为榜样。接下来的成长是什么样子?

Bobby Holly

Holly 继续做浏览器里最难的挑战,并在团队之间流动,假定达到 Boris Sabarski 那样的影响力,最终就意味着成为杰出工程师。然后当时的 CTO 把 Holly 叫来坐下。现有的杰出工程师,大约从 2010 年起就拥有这个头衔,此后没有再产生新的。CTO 说,Mozilla 将近十年来第一次要产生新的杰出工程师,而 Holly 不在其中。

Holly 有点意外,因为 Holly 认为,任何人都会说,虽然也许不到 Boris 的水平,但 Holly 比几乎任何人都更了解 Firefox 的代码。CTO 解释说,这是 Mozilla 传统的模式,而他现在想要一种围绕行业影响力的东西。

在你朝着杰出工程师努力的过程中,影响力的定义发生了变化。你对新的标准是怎么想的?
Bobby Holly

Holly 觉得这很鼓舞人心,尽管有些人担心 Holly 会不高兴。Holly 把它比作做一个新的普拉提动作,发现了一块自己不知道的、极其薄弱的肌肉。Holly 说,什么定义了杰出工程师,取决于什么对这个组织重要。早期,Mozilla 生死攸关的问题,是用很少的人管理一个庞大的代码库,这需要一位多产的贡献者和赋能者。在一些公司,这个头衔意味着打造一门十亿美元的生意,但 Mozilla 是要改变世界,所以它的标准聚焦在那里。

Holly 说,Holly 可能仍然没有达到 Mozilla 其他一些杰出工程师的行业影响力,而最终的晋升,是新旧定义的混合。但理解那种影响力模式,意义深远,并塑造了 Holly 把精力投向哪里。

杰出工程师级别的影响力是什么样子?你能描述几位做出了令人印象深刻的工作的人吗?

Bobby Holly

Holly 描述了当时被晋升的三位工程师,作为 Mozilla 个人贡献者改变世界的影响力的原型。

第一位是 Martin Thompson,仍在 Mozilla,Holly 称他是国际标准方面的杰出人物。他的名字出现在 HTTP/2、QUIC 和 web push 等协议的作者栏里,Holly 说他深度参与了 WebRTC 和地理定位,并补充说 Holly 并不熟悉每一项署名。这是核心的设计工作,而不是编辑排版。通过设计更快的新协议,给业界一个采用它们的商业理由,同时泄露更少的元数据,安全问题也更少,他提升了互联网的隐私和安全。

第二位是 Luke Wagner,Holly 认为他是最以一己之力对 WebAssembly 负责的人。在浏览器里运行非 JavaScript 的代码,比如 AutoCAD,过去依赖插件,Holly 称这对安全和用户体验都很糟糕。另一位工程师的一个副业项目,把 C++ 编译成朴素的 JavaScript,能行,但非常慢。当时是 SpiderMonkey JavaScript 引擎首席工程师的 Wagner,想让它变得可行,于是这个想法变成:让工具输出 JavaScript 的一个受限子集,引擎可以检测、验证并更原生地运行它。这启动了一个飞轮,让编译出来的原生体验进入浏览器,随后又推动了一种真正的字节码格式 WebAssembly,它具有原生速度、沙箱化且可移植。谷歌当时在推动一种类似插件的替代方案 Native Client,所以 Wagner 处理了技术和政治两方面的事务,来促成浏览器之间的共识。

第三位是编解码器负责人 Tim Terbury。原生视频播放受阻,因为占主导地位的格式 H.264 受到大量专利的束缚,开源浏览器无法发布。Mozilla 花了数年开发免版税的编解码器。Terbury 的团队构建了 Opus 音频编解码器,然后是一种叫 Daala 的视频编解码器,它被纳入了 AV1,现在是开放媒体联盟(Alliance for Open Media)的行业标准。Holly 说,这驱动着今天的视频,而真正不受束缚的编解码器这一愿景,来自 Terbury。

这些工程师创造的价值是巨大的,WebAssembly 让 Figma 这样的公司成为可能,但价值被别处所获取。这是否困扰 Mozilla 的人?
Bobby Holly

Holly 说,Mozilla 没有股东,也不想赚大钱。它的使命,是一个对所有人开放、可访问的互联网。Holly 承认,大型科技公司拥有一个免版税的编解码器是很方便的,但指出他们本可以付费。Mozilla 的角度,是构建能赋能每个人并创造经济价值的格式,尽管有些人获取的比别人多。

Holly 补充说,Mozilla 想要继续存在,这意味着要考虑收入,而它的大部分收入来自谷歌,一家占主导地位的广告巨头。Mozilla 想改变这一点,但很难,也不是它心之所在,所以 Holly 描述了一种真实的张力:在业务与影响力之间,该关注到什么程度。

你会给想成为杰出工程师的人什么建议?

Bobby Holly

Holly 的回答是写作,任何级别的任何人都可以练习。Holly 说,Mozilla,包括 Holly 个人,在这方面没有太多成熟的能力,而写作是最强大的技能之一。Holly 指出一份内部备忘录(现已公开),叫作“把事情写下来”(writing things down),它论证写作的重要性,既在于产物(它有助于协调、广泛的评审和反馈),也在于过程,因为写作就是在思考、提炼和阐述想法。Holly 称思维的清晰是最重要的事情之一,并说你只有逼自己把想法写下来,才能获得它。

作为及时的建议,Holly 说不要用大语言模型来生成你署名的文字。这相当容易看出来,而更重要的是,你失去了写作所迫使你进行的思考。

你有关于如何写好的建议吗?
Bobby Holly

Holly 说,一份文档不应该比你要说的话更长。当你没话可说时,你要么去提炼自己的想法,要么就写完了,因为废话从来没有用,而注水的文档是 Holly 最不喜欢的东西之一。重实质,而不是修辞。Holly 反对非母语的英语使用者写不好的看法:有一个基本的表达水平需要努力,但好的写作不是华丽的词藻。它是思想的清晰,而一旦你有了它,它是相对容易表达的,如果你去练习的话。

如果你能在刚进入这个行业时,给自己一些建议,会是什么?

Bobby Holly

Holly 的回答是要谦逊。Holly 说,年轻时的态度并不严格是关于自我,而是关于工程,认为工程师是宇宙的中心。随着时间推移,Holly 意识到,还有许多别的东西很重要,而且当你刚进入一个组织时,你并不理解为什么存在某些流程和职能,比如法务团队。走上领导岗位之后,Holly 对组织和行业里不同的角色培养了欣赏和同理心,认识到每个人都有一个观点和一个出发点,并且努力去理解人们从何而来,才是取得进展的方式。

关于这份资料

Mozilla Firefox 的 CTO:Chrome 对比 Firefox,以及杰出工程师的晋升

本节是对原始文字稿的转述。自动生成的字幕可能有错误。

观看原视频 ↗

开场的精彩片段和介绍(00:00.16 至 00:49.28),重复了后面访谈里出现的话,在概览和各轮中只呈现一次。

结尾的播客事务性内容(01:34:57.44 至 01:35:31.44):请求在 YouTube 或 Spotify 上参与互动、留下评价,并推荐资深工程师嘉宾。主持人声明没有赞助,文字稿中也没有赞助商口播。

全程修剪了一些没有单独成块的细枝末节:主持人简短的应答、答案里重述的问题,以及关于 IRC、实习、诺基亚移动工作和 Chrome 对象包装器清理的一些细节,约在 02:00 至 05:05 和 19:17 至 24:24。

这一精选章节保留了来源中关于职场、领导力和职业的段落。技术性的和无关的讨论已省略。

我的笔记在可使用本地存储时,笔记会保存在此浏览器中。
第 25 节 · 圆桌讨论

Ryan 与 Ricky:能见度、自我倡导与晋升

关于晋升对话、可见的工作、自我倡导、衡量影响力和沟通的精选段落。

从初级到 Staff,各个工程级别意味着什么?

Ricky

Ricky 解释说,初级工程师在不少帮助下编写并交付代码。中级工程师工作更独立,但有时仍需要帮助。资深级别往往是一个终点,很少有人被期望走得更远。Staff 工程师为团队设定方向,并领导其他级别的工程师。Ricky 估计,从初级到中级大约需要两到四年,从中级到资深也差不多。

Ricky 说,有些公司采用“不升即走”的政策,没有达到下一级别的人要离开,而谷歌在这方面没那么激进。Ricky 估计(没有确切数据),90% 或更多的人能达到这些级别。几位讲述者说,levels 网站相当准确,只是股权薪酬会随股价变动。

实习生怎样才能成功?他们是怎样被评判的?

几位讲述者说,实习生是按三件事被评判的。第一是生产力:完成了被分配项目的多少,理想情况是在实习的一半时间里。第二是质量,体现为到最后代码评审的轮次更少。第三是沟通,包括在完成第一个项目之后,提出改进或一个新的项目。一位出色的实习生三样都做到。

Ricky 自己的实习是什么样的?
Ricky

Ricky 大三时在谷歌的实习,只产出了大约 800 行代码,感觉很少。到一半的时候,Ricky 有大约 300 行,而一位同在这个项目里的加州大学洛杉矶分校的朋友有大约 11,000 行。Ricky 把大部分时间花在了熟悉代码库上,并写了一份详细的设计文档,比较了几种方案。这项工作体现了生产力,Ricky 拿到了转正录用。

你是怎样在二十多岁时,这么快就晋升到 Staff 工程师的?

Ricky

Ricky 说,每个级别期望的是不同类型的工作。在当前级别上的许多项目,并不能赢得下一次晋升。一个处于下一级别、清楚地表明你已准备好的项目,价值更大。经理们常常把这些期望描述为行为。Ricky 和 Ryan 把精力放在能让他们升级的项目上,而不是放在不会让他们升级的瞎忙上。

Ricky 还说,每次晋升之后,Ricky 都会问经理下一个级别需要什么,然后去承担那类工作。经理解释了该培养哪些技能,Ricky 把快速的晋升归功于此。

职业上的成功,主要是运气吗?

Ryan

Ryan 说,运气是很大一部分,但人们可以通过主动性来提高自己的运气。在亚马逊大约八个月之后,Ryan 觉得被卡住了,看不到通往下一个级别的路径。Ryan 申请了许多公司,除了一家,面试过的每家公司都给了录用通知。这促成了去 Meta。

几位讲述者会给出一条什么建议?

Ricky

Ricky 说,主要的建议是多问问题,在工作中和实习期间都是如此。Ricky 曾告诉一位被指导者要不断地问,实习结束时,对方说 Ricky 其实并不是真心的。Ricky 说,快速成功的人与没有成功的人,最大的区别,是他们多快开始提问、学习,并自己扫清阻碍。害怕显得愚蠢,拖住了许多人。

是什么把出色的实习生与薄弱的实习生区分开来?
Ryan

Ryan 在 Meta 带过五位实习生。出色的那些,有胆量提出改进建议并提问,尽管 Ryan 是资深的人。有些建议是错的,但许多是对的。较弱的实习生更安静,Ryan 无法判断他们进展如何。时间过去,进展甚微,这样的实习生往往拿不到转正录用。

最优秀的工程师,是班上最聪明的学生吗?

几位讲述者说不是。优秀的工程师需要扎实的技术技能,也需要软技能,比如说服和影响他人。工作是一个大型的团队项目,分歧很常见。告诉同事他们的想法很糟,并不能赢得他们。点出对方的沮丧,承认他们的观点,并提出一个折中的办法,更有可能让工作得以交付。几位讲述者说,这些技能的重要性,与编码大致相当。

这份工作实际上有多少是代码?

一位讲述者说,代码在工作中所占的部分,比应届毕业生预期的要小。写作占很大一部分。设计文档先于代码,一次改动需要一份书面说明,一个完成的项目需要一份结果总结。这位讲述者说,这种写作,是一个人影响他人的方式,所以人际技能往往决定了一位工程师能走多远。

有经验的工程师还会有冒名顶替综合征吗?

Ricky

Ricky 说,冒名顶替综合征非常普遍,大多数人都会有。Ricky 在加入谷歌时,通过了面试和实习之后,就有这种感觉,并发现其他工程师非常强。即使在晋升之后,Ricky 仍然怀疑公司是不是犯了个错误。Ricky 的应对方式,是尽可能多地学习,并尽可能做好工作,理由是即使被解雇,也会有所学到。Ricky 说,这种感觉仍然一阵阵地回来。

工作中的称赞,减轻了压力吗?
Ricky

Ricky 描述自己是个焦虑的人,总是为工作而紧张。一位经理曾让 Ricky 冷静下来。Ricky 不确定,这个称赞意味着及格,还是出色。与经理一起谈谈期望,有所帮助,压力也有所缓解。

你在工作中怎样为自己倡导?

Ryan

Ryan 说,好的工作是必需的,但还不够,因为是人在决定晋升,他们必须知道这些工作。最后百分之几的努力,就是告诉人们。这可以意味着就一个结果写点东西,在会上展示它,或者告诉经理,某个里程碑提前完成了,下一个任务也准备好了。Ryan 说,一篇关于出色成果的清晰帖子,会让转正录用变得难以拒绝。Ryan 说,这一步常常被跳过,尤其是内向的人。

能见度是一项独立于做事的技能吗?
Ricky

Ricky 说,能见度可以来自经理、产品经理或队友,也可以来自这个人自己的写作。Ricky 把没被看见的工作,比作一棵在没人看到的森林里倒下的树,并说人们无法晋升他们不知道的工作。

经理们怎样衡量影响力?

几位讲述者把影响力定义为工作所产生的具体的、可衡量的结果,比如收入、成本、速度或用户增长。衡量标准取决于团队。在广告团队,可能是金钱。在基础设施方面,可能是数据库的成本或延迟。在增长团队,可能是日活跃用户,或关键步骤的注册数。工程师应当向自己的团队和经理了解衡量标准,因为这就是他们的工作得到奖励的方式。

几位讲述者还说,一个改进了关键数字的小改动,可能比一万行修正拼写错误的代码更重要。他们的例子,是一行代码的改动,在某件重要的事情上带来 20% 的提升。

做工程管理需要 MBA 吗?

Ryan 说不需要,而 Ryan 就是一位没有 MBA 的经理。Ryan 描述了一张来自一家收集 LinkedIn 数据的公司的图表,涵盖几千位总监及以上的人。有 MBA 和没有 MBA 的薪酬看起来相当,没有的略低一点。Ryan 说,这是与一家公司一起做的研究,而不是一项发表的研究。

家人对 MBA 的期望,影响了 Ricky 吗?
Ricky

Ricky 的母亲认为,没有 MBA,Ricky 不会成功,并推动 Ricky 去上顶尖的学校。自从 Ricky 做到 Staff 工程师,她变得放松了,现在会读关于职业的内容,并认为这条路不错。

你们现在的目标是什么?你们当时有没有推动晋升?

Ricky

Ricky 说,Ricky 最初并不是很有职业驱动力。Ricky 和 Ryan 是室友,现在仍然是。Ryan 会问,他们能不能以比通常的时间线更快的速度争取晋升。Ricky 看过每个级别需要多长时间的数据,而 Ryan 的推动,让 Ricky 去测试是否有一条更快的路径。

Ricky 说,Ricky 付出了努力,比平均速度更快地得到了晋升,并且没有为此放弃其他兴趣。

人们是否应该为了薪水或晋升,每两三年换一次工作?

Ricky 说,答案取决于具体情况。Ricky 在谷歌一直待在同一个团队,跟着同一位经理,同时仍在看其他团队。Ricky 指出存在幸存者偏差,因为离开的人,也许过得更糟。Ricky 建议每六个月问问自己,是否仍然想待在那里,机会是否仍然合适,团队和经理是否支持你。

Ryan 说,关于“为了晋升而跳槽”的常见建议,其实更微妙。职业早期,跳槽可能是最快的路径,因为势头不如达到下一个级别重要。在资深级别,它可能适得其反。Ryan 说,公司通常不会把外部候选人直接招进 E7 或 L7,那里的晋升取决于信誉和过往记录,而频繁的调动并不会建立这些。Ryan 的建议是,早期积极地跳槽,后期则更慎重。

离开一家公司,能帮助一个人以更高的级别回来吗?
Ryan

Ryan 说这很少见。Ryan 见过有人离开一家公司,加入一家创业公司,然后以更高的级别回到 Meta。Ryan 说,一个离开了清晰阶梯的人更难安置,所以回归时,可能留有给出更高录用级别的空间,但这样的案例很少。

关于这份资料

我们希望毕业前就知道的行业秘密(Staff 工程师在加州大学洛杉矶分校的讲座)

本节是对原始文字稿的转述。自动生成的字幕可能有错误。

观看原视频 ↗

开场的频道引子和活动介绍(00:00.08 至 01:40.00),包括拒信那句话的预告,以及问答环节重复的开场设置。

镜头之外的提议:点出拒绝 Ryan 的那家公司(12:00.00 至 12:24.64),以及事后展示广告工作的提议(约 46:00.00 至 46:05.28)。

现场的后勤安排,以及点名叫到的观众(约 04:55.92 至 05:10.00)。

转入观众提问,并感谢主办(约 39:40.00 至 40:16.80),仅作为“收益递减”追问的上下文保留。

这一精选章节保留了来源中关于职场、领导力和职业的段落。技术性的和无关的讨论已省略。

我的笔记在可使用本地存储时,笔记会保存在此浏览器中。
第 26 节 · 访谈

Austin McDonald:行为面试、降级定级,以及招聘委员会如何做决定

前 Meta 招聘委员会成员 Austin McDonald 讲解,级别和招聘决定是如何做出的,以及为什么聚焦职责范围的行为故事,决定了资深工程师的结果。

资深级别的招聘,取决于行为故事中所展现的职责范围(Austin McDonald 的观点)

Austin McDonald 被主持人介绍为前 Meta 招聘委员会成员,曾领导全公司的移动端招聘,他认为,对资深工程师来说,行为面试,甚至第一次与招聘人员的对话,就是决定级别的地方。一位想避免被降级定级的候选人,应该了解公司的评分标准,选择仍然符合问题的、职责范围最大的故事,展现技术、组织和业务上的深度,并把每一次接触(招聘人员、招聘经理、结尾的提问)都当作评估的环节。后半部分转向面试官的动态、故事结构,以及 Austin 自己对遗憾、职责范围和恐惧的反思。关于 Meta 流程的一切,都是 Austin 对自己在那里的时期的描述,在其他公司或今天,可能有所不同。

招聘委员会里实际上发生了什么?从第一次接触到最终决定之间,有哪些人会接触候选人?

Austin McDonald

Austin 说,当一份资深级别的材料送到委员会时,Austin 读的第一样东西,就是行为面试。Austin 想看到这位工程师曾在什么样的职责范围里工作,他们的影响力、洞察力和沟通的水平,以及他们所在组织的规模。委员会由工程师和有影响力的工程经理组成,由像 Austin 这样的主席召集,与招聘部门一起做两个决定:录用与否,以及级别。Austin 描述了一个全公司范围的委员会,主要是对照跨公司的标准做一次直觉检验,并说在 Meta,由工程总监组成的最终委员会,做出招聘和定级的决定。

这条路径始于“寻源员”(sourcer),一份入门级的招聘工作,任务是寻找候选人或处理内推。寻源员查看职位描述、工作年限和过去的公司。随后的电话筛选,往往是一场编码面试,有时是一份用作预筛选的多项选择技术测验。一场明显出色的电话筛选,直接进入现场面试的安排。一场处于边缘的,则第一次来到招聘委员会,由其决定是增加一轮追加面试、让这个人往前走,还是暂时放弃。

对于专门的候选人,比如需要一场合适的系统设计面试的底层 C++ 移动工程师,以及在资深与 Staff 之间的选择,也会征询委员会的意见。这个选择会改变整套面试环节。Austin 说,在 Meta,Staff 候选人要经过两场系统设计面试,所以没有人可以不经过它们就被聘为 Staff,而首席和杰出级别的面试,还会增加更多的行为面试。现场面试之后,委员会决定录用、级别和追加面试。行为面试产生了大多数追加面试,因为 Austin 认为它们是最难做、也最难解读的面试之一。委员会成员有时会陪着招聘人员去找总监们,为给一位材料在某一方面薄弱、但在公司需要的某项特质上很强的人一个机会而争取。

候选人的起始级别,最初是怎么确定的?
Austin McDonald

Austin 说,早期的判断,取决于工作年限和之前的头衔:谷歌的一位 Staff 工程师,大概会以 Staff 的级别进入 Meta。包括 Meta 在内的许多公司,不公布职级,所以 LinkedIn 个人资料很少显示级别,这就是为什么工作年限的权重这么大。

对于来自大科技公司之外的高头衔候选人,会怎么处理?
Austin McDonald

Austin 说,寻源员和招聘人员知道,行业的某些地方,头衔会通胀。一家偏业务的公司里,管理 50 或 75 人的经理,在 Meta 可能被降级定级为管理一支八到十位工程师的团队,个人贡献者也被同样对待。在 LinkedIn 上自称首席工程师,并不会引来首席级别的接触,因为不同的公司,把不同的期望附加在同一个级别上。Austin 补充说,如果有一个全行业一致的标尺会很好,但它并不存在。

有人能靠在简历上夸大头衔蒙混过关吗?
Austin McDonald

主持人把这当作关于一位不道德的候选人的假设来提出。Austin 说,Staff 及以上的第一次电话筛选,也是一次职责范围的检查:有一些编码,一些系统设计,还要讲一遍一个大型已交付的项目。令人信服地撒谎很难,因为面试官能感觉到故事是不是真的,而追问会暴露漏洞。Austin 说,那些背诵 AI 生成的故事的辅导客户,一旦被问到技术细节,就开始给出含糊、前后不一的回答。

Austin 承认,任何人都可能被一个足够好的骗子骗过,但 Staff 和首席候选人的现场面试官非常资深,校准程度很高,所以骗子必须反复地、令人信服地撒谎。Austin 开玩笑说,能做到这一点的人,也许就足以胜任这份工作了,并说在雇用了几千人的职业生涯里,Austin 没有听说过有哪位被雇用的人,后来被发现编造了自己的背景。

主持人说,工程师常常以为行为面试那一轮可以临场发挥。候选人该怎么做,才能被定到 Staff 级别?

Austin McDonald

Austin 说,在任何行为故事里,以及与招聘人员的第一次交谈中,最重要的任务是确立职责范围:用技术解决的是多大的业务问题,处理了多少模糊性,以及候选人所处的是什么样的组织。招聘人员的电话,实际上就是一场行为面试,所以开头的“介绍一下你自己”,应当是简历的精华,带着指标,还有深度和复杂性。

Austin 对比了“我提升了 Facebook 应用的性能”,与这样一段叙述:在一个为期十二个月的性能项目里,组织了大约 100 位工程师,遇到了棘手的技术问题,需要好几位 Staff 工程师,最终归结为三条核心原则。候选人应当传达技术深度、组织深度和业务影响,因为面试环节里的每一位面试官,听的都是同样的东西。对这个开场做简洁的练习,是落入正确定级档位的第一步。

回应主持人关于 Staff 晋升也需要跨组织工作的说法,Austin 表示同意,并说为行为面试做准备,会让一个人成为更好的工程师。Austin 的大多数辅导客户,是把自己说得太少,而不是夸大。他们需要展示问题有多难,以及它对团队、代码质量和组织随时间产生了什么影响。把整个故事讲清楚需要准备,但这与每周一对一和高管汇报中用到的是同一项技能。

与招聘人员的第一次通话,已经是一次评估了吗?
Austin McDonald

主持人指出,招聘人员把第一次通话说成是随意的聊天。Austin 的回答是“永远在促成交易”(always be closing):这通电话是评估性的,只是更温和,因为招聘人员想找到一位能通过的候选人。大公司的招聘人员,是按他们交付的录用来获得报酬的。他们为候选人倡导,但不是朋友,而薪酬是一个需要谨慎处理的话题。

Austin 建议不要毫无准备、心不在焉地出现。如果没准备好,就重新约时间,花时间准备要说什么,因为这是拿到更高级别录用通知的最佳途径。

与招聘经理的最后一次交谈,也带有信号吗?
Austin McDonald

Austin 说,是的。压力较小,而在 Meta 或谷歌这样的公司,团队匹配阶段会带来与几位经理的交谈。这些交谈比面试更偏社交,在面试里,冗长的自我介绍,会挤占面试官收集信号的时间。经理问的是,他们是否喜欢这位候选人,是否适合团队,以及候选人是否能解决像经理自己那样的问题。

所以 Austin 建议提前问招聘人员和寻源员,经理看重什么、团队在做什么,然后讲能表明候选人能解决那些问题的故事。

候选人在与招聘人员的薪酬对话里,最常犯的错误是什么?

Austin McDonald

Austin 说,自己不是谈判专家,并建议向专家寻求建议。Austin 自己的看法是,早期锚定是危险的:当被早早问到薪酬期望时,候选人应当小心,因为说出的任何数字,都会锚定接下来的整场对话。

Austin 告诉候选人要了解当地的法律,并说在加州和纽约,招聘人员被要求分享薪资和总薪酬的区间,候选人可以据此看出自己处于什么位置(这一法律说法是 Austin 的,未经核实)。Austin 认为,最大的错误是没有多个录用通知。没有它们,候选人是在弱势中谈判,所以 Austin 敦促候选人把录用通知的时间安排得差不多同时到达,尽管那样压力更大、工作更多。

如果一位只想要 Staff 岗位的候选人,发现自己被引向了错误的面试环节,能在流程中途纠正吗?

Austin McDonald

Austin 说,这取决于公司和流程,但这是一场值得与招聘人员进行的好对话。公司既会升级定级,也会降级定级,而招聘人员通常会尽量让人留在流程里。Austin 建议,争取在前期就为期望的级别,完成尽可能多的评估,这样就不需要追加面试和后期的变动了。如果某个团队只给出较低的级别,这取决于工作和总薪酬,但 Austin 会以表现出色为目标,然后请求以更高的级别来考虑。

Austin 点出了两种方法。第一,把每一次对话都锚定在更高的级别,从“介绍一下你自己”开始,然后是行为面试和系统设计面试,让面试官看到大职责范围的项目和影响,并重新设定他们对面试其余部分的期望。第二是选择故事。每个行为问题的背后,都有一个面试官真正在乎的问题:候选人是否在期望的级别上做事?面试官很快就会忘记细节。

Austin 说,自己的书给出了选择故事的四点考虑,职责范围排在第一位。候选人的任务,是在离开时,已经讲述了自己职业生涯里最重要的那些故事,而且因为面试官在主导,所以要把对话引向最能代表自己的信号。

资深、Staff 和首席的职责范围是什么样子?候选人应该怎样表达它们?

Austin McDonald

Austin 首先说,要研究具体某家公司对级别的期望,然后给出了一个适用于大科技公司风格的公司的简单评分标准,如下表所示。级别其实关乎一个人能处理多少模糊性。Austin 指出,一位实习生面对的模糊性,不同于一位首席执行官面对的模糊性,并说正是这种差异,区分了级别和薪酬。

Staff 与资深的区别,归结为影响的广度:是整个团队或几个团队,而不是一个小项目。故事涉及在大型组织里跨团队工作。出于这个原因,Austin 认为,创业公司的工程师很难达到 Staff,除非他们是创始人,因为几位工程师和一位利益相关者,限制了他们能展现的组织领导力。

Austin 还补充了两件需要量化或提及的事情。对于技术复杂度,候选人应当让人感觉到所涉及的时间、风险、咨询了多少人,以及要退出一个决定有多难。对于领导力,工程师往往忘记它,因为他们爱谈技术,候选人应当描述影响力、从其他团队争取到的让步、对齐路线图,以及指导他人以让团队和组织变得更好。Austin 建议回顾自己的职业生涯,找出是什么让它与众不同,并谈论这些东西。

一位解决别人说不清的问题的专家,应该怎样描述自己的职责范围?
Austin McDonald

主持人问到那些凭一己之力推动行业向前的人。Austin 说,从业务影响开始,这是专注于技术的工程师觉得困难的。这项技术之所以被需要,是有原因的,周围也有背景,而 Austin 鼓励人们问一问:史蒂夫·乔布斯会怎样评价这项进展,以及这个项目为什么对公司至关重要。

说“一个由 Staff 工程师组成的团队失败了,而候选人成功了”,是否过头了?
Austin McDonald

主持人说,当经理在晋升委员会上这样说时,这种表述行得通,但候选人说自己,可能听起来过头了。Austin 完全不同意。在 Austin 看来,行为面试官是模式匹配者,而“解决了别人解决不了的问题”,是通往更高级别的模式之一。

Austin 觉得,说候选人是一个项目的第三任负责人,并说明之前的负责人在哪里失败了,是可以的,只要重点不是吹嘘,而是展现对这些努力为什么失败的洞察,无论是产品与市场的匹配没做成,还是技术方法没做成。Austin 把这种判断和反思,视为资深的标志,并说许多候选人只是讲一个“问题解决了”的故事,没有任何教训,Austin 把这当作低于该级别的人的迹象。

善于推销自己的候选人表现更好,这不公平吗?
Austin McDonald

主持人指出,评论者抱怨那些经营形象的人,而晋升的内容也招致同样的反对。Austin 回答说,人们就是这样运作的,无论是在职业还是在个人关系里:说“难道你感觉不到我爱你吗”是没有用的,行为必须被展示和传达。

Austin 把自我倡导称为对进步征收的一种不愉快、但值得的税,候选人只有放弃 Staff 级别的晋升或录用,才能不缴这笔税。Austin 告诉人们,一份首席工程师的工作,薪酬大约是每年一百万美元,所以他们应当为这个流程做好充分的准备。

Austin McDonald 按级别划分的职责范围评分标准
级别这个人负责什么具体表现是什么样的
应届毕业生任务从经理或工单系统接一个任务,完成它,然后回来接下一个。
中级一个功能(许多任务,几周时间)端到端地交付一个功能。
资深一个项目(许多功能)带领并授权,往往通过中级或初级工程师,需要沟通和组织能力。
Staff(在 Meta 是 6 级)一个目标,比如一个参与度或收入目标协调几个项目,跨团队和大型组织工作,具备影响力和指导他人的能力。
首席或杰出一个组织(许多目标)责任横跨许多目标、项目、功能和任务;Austin 说,这些级别的叫法各异。
再上一个级别一项业务或一个行业(许多组织)对包含许多组织的整项业务负责。

到底是谁做出招聘决定?

Austin McDonald

Austin 列出了各个决策点。寻源员根据 LinkedIn 个人资料,决定是否联系某人,他与招聘人员是不同的,后者在电话筛选之后接手,负责谈判、组织面试环节,并在委员会面前倡导。电话筛选的人是另一个决策点,无论是寻源员的多项选择题,还是工程师的编码筛选。

然后由招聘委员会做决定,通常通过共识,有时通过投票,决定是否以某个级别录用、增加追加面试,或放弃这位候选人。委员会之上的两三位工程总监做最终决定,同样大多通过共识,有时通过投票。

Austin 有没有在招聘委员会里见过偏见,比如任人唯亲?内推有多重要?

Austin McDonald

Austin 从未见过公然的任人唯亲或贿赂,却见过内推起到巨大的作用,尤其是当推荐人资深,或者出现在委员会会议室里替人说话的时候。推荐人的资历很重要:副总裁或总监是拿个人声誉冒险,而一句“我在学校认识这位候选人”的话分量很小。内容同样重要。一份说明这个人曾与候选人直接共事、并列出具体长处的内推,帮助大得多,所以 Austin 告诉候选人,要为推荐人写好推荐语。

Austin 说,内推对处于边缘的候选人最重要。Austin 自己的电话筛选表现不佳,Austin 相信,是因为一位曾与自己直接共事的前同学做了内推,才得到了一轮追加面试。

一份非常强的内推,能挽救一场反响平平的面试表现吗?
Austin McDonald

主持人描述了一位结果平平、却有最强副总裁内推的候选人。Austin 说,内推对处于边缘的候选人有帮助,通常是争取到一轮追加面试,而 Austin 从未见过,对工程师的一致“不予录用”的共识被推翻。这在领导岗位的招聘中也许更常发生,Austin 称那是另一回事。在高级经理和总监级别,Austin 认为,认识谁有时比实际表现更重要,因为决策者的数量减少了,而且更容易受到影响。

Austin 补充说,好的招聘流程不是这样的:它识别出什么让人成功,并在没有偏见的情况下为此评估。

面试表现在多大程度上预测了工作表现?

Austin McDonald

Austin 说,委员会并没有跟踪一个人通过了多少场面试。它看的是面试官对一项“录用与级别”决定所表述的信心,而这种信心与后来的表现相关。Austin 把这解读为证据,说明那些主持过数百场面试的、经过校准的面试官,即使很难定义,也能感觉到什么是好,而评分标准在不消除直觉的前提下,减少了偏见。

Austin 还指出,有些候选人在面试中表现出色,随后却表现不佳,另一些则看起来磕磕绊绊,后来却做得很好。面试是一项独立于工作的技能,Austin 说,候选人需要花时间把它练好。

行为面试的评分标准是什么样的?候选人应该怎样使用它?

Austin McDonald

Austin 说,各公司不同。管理良好的大公司,常常雇用工业心理学的博士,称为“甄选科学家”(selection scientist),他们研究是什么让工程师成功,并把它整理成各个信号领域。按 Austin 所说,在 Meta 有五项:推动结果、拥抱模糊性、化解冲突、持续成长和有效沟通。这些并不是 Meta 的公司价值观。候选人应当提前向招聘人员索取评分标准,或者去搜索它。

Austin 把典型的五到八项,归并为八个更宽泛的信号领域,在自己的书里作了描述,并告诉候选人,按这些领域给自己的故事分类。在面试里,核心的循环是“解码、选择、表达”(decode, select, deliver):弄清为什么问这个问题、它在探查哪个领域,选一个能提供该信号的故事,并生动地讲出来。在较小的公司,可能没有正式的评分标准。那里,Austin 建议依靠公司价值观,并询问招聘人员或团队成员,什么让工程师成功,以及招聘流程在寻找什么。

一个故事怎样服务于不同的问题?面试官需要候选人提供什么?
Austin McDonald

主持人说,作为一位面试过数百位候选人(包括工程经理)的面试官,常常问一个有针对性的问题,却看着候选人绕过它,说一大段排练好的台词,在评分标准上留下一片空白。主持人把面试看作一场共同填写评分标准的练习。

Austin 表示同意,并给出一个电影预告片的意象,归功于产品经理行为面试教练 Robert Hamilton。一个故事里可能同时包含动作、爱情、模糊性、沟通和冲突,而候选人可以把它重新剪辑成一支适合这个问题的预告片。这必须尽早发生,在开头的背景里。Austin 说,候选人应当把自己视为伙伴,帮助面试官拿到所寻求的信号。

编辑综合

Austin McDonald 的“解码、选择、表达”循环

  1. 解码听出为什么会问这个问题,以及面试官在探查哪个信号领域或公司价值观。
  2. 选择从已经按信号领域分好类的故事里,选出能在符合的最大职责范围上提供该信号的那一个。
  3. 表达把它讲成一段简短的弧线,把回答问题的部分放在靠前的位置,让面试官早早得到信号。
对 Austin 在讨论行为面试评分标准时所描述的循环的编辑总结;各步骤的措辞,是根据 Austin 的叙述浓缩而成。

候选人应该怎样为 OpenAI 和 Anthropic 量身定制行为故事?

Austin McDonald

Austin 先把故事对应到八个通用的信号领域,因为大多数公司价值观都可以归结到它们,然后再加上公司自己的价值观所贡献的东西。对于 OpenAI,Austin 把“保持谦逊地行动”(act with humility)解读为成长:接受反馈,并改进自己和身边的人。“感受 AGI”(feel the AGI)则在这八个领域之外。Austin 把它解读为对 AI 能为世界做什么保持乐观。

对于 Anthropic,字幕把一条价值观写成“hold light and shade”,Austin 认为这意味着理解 AI 在正面和负面两方面的影响。一个关于在 Anthropic 使用 AI 的故事,应当提到候选人所想到的潜在危害,以及他们如何评估和缓解这些危害。Austin 说,没有这一点,面试官就不会放心地录用。在 OpenAI,一位不以 AI 为先、或对 AI 的新领域不感兴趣的候选人,对他们的吸引力会小一些。这些是 Austin 对这些价值观的解读,不是官方的定义。

资深工程师在行为面试中最常见的错误是什么?

Austin McDonald

Austin 列出了几条。第一,选错故事,即与目标职责范围不匹配的故事。第二,背景太多:资深的人是很好的沟通者,往往爱讲,但只有理解行为所需的背景才是有用的。如果故事里大约三十秒都没有出现一个行动,Austin 认为候选人给了太多的前情或技术细节。Austin 承认,工作故事并不精彩,所以行动必须不断推进。

第三,招来不友善的解读。面试资深领导者的面试官是规避风险的,所以候选人应当有防御性的思考。说代码库有大量技术债,听起来也许是个好故事,但房间里的一位资深工程师,会引出它是怎么变成这样的这个问题。Austin 建议加上这个情形背后的判断,比如团队当时是一家要完成下一轮融资的创业公司,所以接受了这笔债务,然后选择优先偿还它。

第四,对非技术工作讲得太少:指导、组织、授权、影响路线图、化解冲突、跨团队工作和向上管理。第五,漫长的、多年的故事需要一个有条理的形状。Austin 建议以一份简短的目录开头(业务背景,然后也许是五个部分,比如提出想法、让利益相关者对齐、解决难题和漫长的上线),这样候选人在被打断之后,可以回到关键的部分。

候选人应该怎样选择讲哪个故事?
Austin McDonald

Austin 按顺序给出四条标准。职责范围排第一,Austin 说这让那些以为相关性排第一的人感到意外:一个大职责范围的故事,怎么能契合这个问题?相关性排第二,因为一个关于毫无模糊性的项目的故事,无法回答关于模糊性的问题。时效性排第三:最近两三年的故事没问题,超过三四年就需要一个强有力的理由,并且这个限制会随着资历而放宽,所以一位有 30 年职业生涯的首席,可以用十年前的故事。独特性排第四:在好几轮行为面试中,候选人应避免重复同一个故事,比如把项目深入讲解,与一般的关于模糊性的回答分开。

像政客一样回答,把话题引向一个更强的故事,可以接受吗?
Austin McDonald

主持人把这比作政客给出排练好的回答,填满评分标准,而不是回答所问的问题。Austin 说,不幸的是,可以。目的是在离开时,已经展示了最多的业务价值和解决问题的能力,而严格地只回答那个狭窄的问题,可能让一个更大的故事没有被讲出来。

Austin 的例子,是一个关于与产品经理发生冲突的问题。候选人可以说自己有过一次,并概述它,然后提出,一场与工程总监之间、涉及数据收集和许多次会议的更长的冲突,也许更有意思,并问是否应该讲那个。面试官可能把候选人拉回那个较小的故事,但面试官也可能只是在收集化解冲突的信号。

候选人怎样判断自己是不是讲得太久了?
Austin McDonald

Austin 说,面试官各不相同。有些人,比如 Austin,会倾听,并吸收候选人觉得有趣的东西。另一些人会打断,翻来覆去地琢磨一个细节,问很多追问,或者在问题之间快速切换。候选人应当在情绪上为第二种类型做好准备,他们可能让候选人觉得自己在失败,而面试官只是在跳来跳去。

Austin 建议留意眼神接触和记笔记等线索,如果投入度下降,就停下来问问这是不是面试官想要的。一位经过校准的面试官,即使显得无礼,也会为了收集信号而打断,而较弱的面试官,则需要候选人让停下来变得容易。Austin 建议每次讲话不超过两到四分钟,因为超过四五分钟的独白,必须非常精彩。

候选人应该怎样在编码、系统设计和行为这几轮之间分配准备时间?

Austin McDonald

Austin 说,大多数人在编码上花了太多时间,在系统设计和行为上花得太少,而后两者准备起来更模糊。对初级工程师来说,技术信号最重要,而行为方面的重点,应该放在思考、动机和尝试过的想法上,作为未来影响的信号,因为初级工程师的成就较少。

对于中级工程师,Austin 说,过去那种只关注技术工作、而在行为面试上不出岔子的做法,已经不再有效。Austin 给出两个原因:裁员带来了许多候选人,所以必须在所有类型的面试中都出彩;而且有更多的技术工作用智能体编码完成,所以雇主想要的是端到端拥有问题、并在工程快速变化时不断学习的中级工程师。Austin 说,这种主人翁意识和成长,会体现在行为面试里。编码练习应该尽早开始,因为编码测评排在最前面,但在现场面试前几周,候选人应当选定核心故事,研究价值观和评分标准,并确保每个关键领域都有一个故事。

Austin 说,从资深往上,主要就归结为行为面试。对于一份 Staff 的材料,Austin 直接去看行为面试,因为设计一个网络爬虫或解两数之和,就那么几种方法,而行为面试,展现了组织影响、影响力、处理冲突、职责范围和业务影响。在 Staff 及以上的级别,额外的几轮可能包括一位跨职能的搭档,比如产品经理,或者一次项目深入讲解。Austin 把那里的技术面试,视为需要通过的“打勾项”,而把行为面试,视为决定一个人能否被录用的东西。

Austin 认为,大多数人在行为面试的准备上投入不足,至少需要几周的时间。Staff 及以上的候选人,应该在开始刷 LeetCode 的时候就开始,打磨故事的定位,得到反馈,并与朋友或专业人士做模拟面试。对于 Meta、OpenAI 或 Anthropic 这类热门公司,Austin 建议找一位针对该公司校准过的模拟面试官,能让你感受到它的文化。

一份技术结果一般、行为结果很强的材料,还能通过吗?
Austin McDonald

Austin 说,在最高的级别上,可以。在 Staff、首席和经理级别,预期的日常编码较少,委员会会把薄弱的编码表现打折扣。这对初级候选人来说要难得多。

Austin 讲了一位候选人,成就有限,技术表现只是还行。Austin 不断看到,这位候选人试图推动的那些想法,即使经理不同意,或者组织阻挡了它们。Austin 力主录用,并说这个人后来成了 Staff 工程师。Austin 的解读是,行为面试评估的是一条成长的斜率,即使对初级工程师也是如此。

主观上的讨人喜欢有多重要?气场如何影响结果?

Austin McDonald

Austin 说,它随级别而放大。在大公司,针对初级工程师的行为面试,是有结构的,有表格,以减少“啤酒测试”(beer test,是否愿意一起喝啤酒)的影响。对于资深工程师,面试官期望这个人在工作中去影响别人,所以他们给人的印象很重要。Austin 描述了硅谷的一种“随性的卓越”(casual excellence)品质:看起来平静,却敏锐而有能力。一位邋遢或紧张的、无法稳住场面的候选人,传递的信号是他们将怎样出现在会议上、以及在 CEO 面前。

Austin 补充说,文化规范因国家和公司而异。这里的对话,针对的是一种硅谷或西雅图的风格,以轻松的玩笑开场,然后转向尖锐的问题,而候选人应当了解他们所申请地方的期望。

一位并不善于与人打交道的 Staff 工程师,怎样才能给人留下强烈的印象?
Austin McDonald

Austin 从“内在会显现在外在”这个想法出发,所以工作始于信念,而不是面具。Austin 引用了一档最近的播客,嘉宾是一本关于硅谷礼仪的书的作者,字幕里写作 Sam Lesson(拼写未经核实),他强调要在对话前降低心率。Austin 指出,一家会长期存在的公司还有别的机会,所以候选人可以允许自己犯错,并显得更平静。

第二个信念是同理心:面试官想找到一位出色的工程师,并不是敌人,而是一个会乐意与候选人共事的人。在外在方面,Austin 建议穿得比平时正式一档,检查视频背景,并在最初几分钟里表现出用心,而不是被动地等待。一位不外向的候选人,仍然可以通过热情的问候和明说的热情,让自己对人们的在意流露出来。Austin 建议在模拟面试里练习这个开场,并指出面试官也可能紧张,而一位招聘经理或领导者,会塑造候选人对这个团队的看法。

一位简短、言简意赅的候选人,与一位热情、爱说爱笑的候选人,谁得分更高?
Austin McDonald

主持人提出了这个对比。Austin 说,这取决于由谁来面试,而 Austin 会更偏向更温暖的人,因为 Austin 喜欢交流。但融洽并不意味着爱说爱笑,它意味着与对方建立联系。候选人应当以积极、有活力的状态开始,然后观察面试官。跳过介绍,直接说“讲讲你的一次经历”的人,想要的是效率,所以候选人应当高效。以几分钟的天气和体育开场的人,是另一种类型,候选人应当匹配那种能量。

是第一印象更重要,还是最后的印象更重要?

Austin McDonald

Austin 说,如果非得选,是开头。Austin 常常在最初的十到十五分钟里,就决定是否录用,因为 Austin 以最大职责范围的问题开场(最喜欢的项目、最模糊的项目、引以为豪的事)。如果 Austin 想看到这样的表现,在组织里被复制,那么面试的其余部分,就是对其他领域(比如化解冲突和成长)的核对。

结尾仍然重要,主要通过候选人的提问。Austin 说,候选人常常准备了故事,却然后问一些泛泛的问题,比如工程师的一天是什么样的,这在各处都差不多。那些来自对团队、组织、产品和公司的真实思考、并有助于候选人决定是否加入的问题,会留下一个投入的候选人的印象。

面试的早期,已经决定了多大比例的结果?
Austin McDonald

Austin 说,没有任何社会科学被直接用到科技面试上,也不能简单地把一家快餐公司的研究搬过来。Austin 回忆起一项研究说,大约 40% 的决定,是在最初的 15% 里做出的,也就是大约最初的十分钟(这是 Austin 的回忆,未经核实)。按 Austin 自己的经验,很少有人在早期决定反对某人,然后在第 38 分钟被赢回来。更常见的是感觉不确定,然后对照评分标准写笔记,这是为了把决定从一种直觉反应,转变为更深思熟虑的东西。

如果 Austin 早早做了决定,候选人就很难扭转,通常是因为故事选得不好、工作低于期望的级别,或者讲述薄弱。主持人根据经验补充说,一旦面试官已经做了决定,似乎会在中途走神,这使得前半段很重要,而结尾的提问也是评估性的。

结尾处好的提问是什么样的?
Austin McDonald

Austin 说,一切都是评估性的,从招聘人员的电话,到结尾的提问。候选人应当从对自己重要的东西出发:担心公司的长期产品前景,或者,为了职业成长和一位支持自己的经理,提出这样的请求:请经理描述一次帮助某人从一个级别成长到下一个级别的经历。技术栈方面的问题,在 Austin 看来显得更初级,不过在 AI 的语境下,关于模型如何构建或评估的问题,可能很强。Austin 最喜欢的问题之一,是什么让这个岗位上的人成功,这表明了想要成功的兴趣。

Austin 不会试图用一个深刻的问题来给人留下印象,而是让一个真正的担忧,读起来有深度。关于这个岗位的谈话,或关于免费食物的问题,也许对候选人很重要,但不适合问行为面试的面试官。

用最少的力气讲好一个行为故事,最好的方法是什么?

Austin McDonald

Austin 说,一个故事需要一条弧线,有开头、中间和结尾,并且必须传递面试官所追求的信号领域:可以在新组织里重复的过去行为。STAR(情境、任务、行动、结果)是最广为人知的捷径。Austin 不太喜欢它,但说,任何在前一晚准备好了 STAR 故事的人,都应该用它们,因为它们提供了一条弧线、行动的背景,以及结果。

Austin 更喜欢 CALR:背景、行动、结果、反思(context, actions, results, learnings)。情境和任务的区别,在一个长项目里没有用,因为长项目有许多任务,所以背景加上行动更简单。对资深工程师来说,STAR 没有给反思、判断或学习留出空间,而 Austin 要看的,是候选人能否看出是什么让自己成功或不成功,并把它向前应用。

候选人应该怎样根据问题调整回答的长度?
Austin McDonald

Austin 说,资深的候选人会管理时间。一个“树干”型的问题,比如一个确实很模糊的项目,邀请的是一个更长的故事。一个“树枝”型的问题,比如为了获取某项信息,候选人和谁谈过,寻求的是沟通信号,值得一个比完整的 STAR 或 CALR 故事更短的回答。一个“树叶”型的问题,比如用了哪个框架,只需要给出答案,然后继续往下。Austin 说,察觉面试官想听多久,既是资深的标志,也是管理面试的一种方式。

候选人说什么更重要,还是怎么说更重要?
Austin McDonald

Austin 说,主要是说什么,因为工程面试是有结构的,工程师看重实质。一位听起来自信而积极、却没有展现出处理模糊性或冲突的结构化方法的候选人,不会赢得支持。形式服从功能。

Austin 补充说,在资深级别,表达更重要,因为资深的人必须讲引人入胜的进展故事,比如当一位副总裁问项目进展如何时。细节只应在服务于某个目的时出现,比如技术深度,或者在一个跨团队的故事里,另一位技术负责人带敌意的眼神,如何展现了候选人在阻力面前推进。Austin 认为,大多数候选人需要在基本的故事结构、以及点出自己采取的可重复的行动方面多下功夫。

主持人请 Austin 从职责范围的角度,解释自己为什么在 Meta 被晋升为 M2。

Austin McDonald

Austin 说,要升到 M2,意味着解决招聘中的难题,其中最重要的是多样性。Austin 离开了一支为青少年构建产品的团队(Austin 称那是 Facebook 的艰难时期),去领导内部招聘产品组织里的几支团队,这个组织为候选人、招聘人员和寻源员提供支持。吸引 Austin 的,是一支努力招聘更多元工程师的团队,而 Austin 的动力,是把科技(Austin 称之为最大的财富机会)向更多人开放。

Austin 说,一个产品团队无法决定学校的课程,也无法决定所有的招聘决定,但可以通过改进面试准备,推动局面,并把这归功于帮助了 Meta 的多元化招聘。Austin 还支持其他团队,在 Facebook 的应聘者跟踪系统里构建高质量的候选人数据。主持人听到的是多支团队、一个模糊的问题,以及强烈的自我驱动。Austin 同意,并补充了领导 iOS 和安卓招聘流水线所带来的全公司范围的影响,这让 Austin 的影响力超出了直接管理的团队。这些是 Austin 对自己履历的叙述。

回顾大科技公司的经历,Austin 有什么遗憾吗?

Austin McDonald

Austin 不后悔离开,并说很享受与出色的人共事。遗憾的是,把焦虑带进了团队,也带进了自己的生活。Austin 指出,没有人在生命的尽头,会希望自己多拿了几个百分点的参与度数字,并说人们看重的是关系和联系。

Austin 说,自己有意识地选择了更看重生活体验而不是职业,但并不总是对自己诚实地面对薪酬、晋升和地位上的取舍。自从为了支持配偶的生意而离开大科技公司,收入下降了。离开之前,Austin 决定接受较少的现金流,换取更多陪伴孩子的时间和更多的社区志愿服务,并在钱紧的时候,回到这个选择上。Austin 希望自己能更早地做出这种由价值观驱动的决定。

对自己不诚实,是什么样子的?
Austin McDonald

Austin 描述了当别人得到晋升或工作时,自己的沮丧,有时还有苦涩。Austin 说,诚实的回答是,那些人调动团队更快、工作更努力,而 Austin 把家庭和社区放在优先位置。Austin 不认为人们能拥有一切:有些人也许能做到做一位七级的个人贡献者、还能下午五点下班,这取决于天赋和所培养的技能,但对大多数人来说,要完成非凡的事情,需要采取非凡的步骤。

Austin 说,想清楚什么重要,包括十年或十五年后,孩子们会记得自己什么,这让一切变得清晰。

这种清晰,消除了嫉妒的感觉吗?
Austin McDonald

Austin 说,这些感觉会半规律地回来,尤其是在硅谷,人们快速积累财富。每一次,Austin 都会问,那是不是自己想要的。与自己的价值观保持一致,有一个使命宣言或人生愿景,是 Austin 觉得满足的东西。

Austin 得到过的最好的职业建议是什么?

Austin McDonald

Austin 说,是创造职责范围的重要性。许多人等着别人给他们机会,但一位经理曾告诉 Austin,要得到 M2 的岗位,Austin 必须创造出一个 M2 职责范围的团队,并解决那种规模的问题。晋升并不意味着把同样的事情做得更好。它意味着做不同的事,也就是创造更多的职责范围,以及让组织成功的空间。

Austin 补充了一个检验:副总裁在怎么谈论你的项目?如果副总裁没有告诉同级或他们的经理,这是不是对的工作?候选人在面试中,已经从想展示的信号领域倒推,在晋升中,从想要的材料倒推。Austin 建议用同样的方式倒推:领导层应该怎样谈论这项成就,然后找到实现它的办法。主持人补充说,建立在自己创造的职责范围之上的晋升,是最令人满足的,因为它们不需要任何人的许可。

Austin 会给刚毕业的年轻的自己什么建议?

Austin McDonald

Austin 说,冒名顶替综合征拖了自己的后腿。在完成计算机科学博士学位之后,Austin 的夏天都在做大学的研究,而同龄人在谷歌或 Facebook 之类的地方做行业实习,因为 Austin 不想经历面试、冒被拒绝的风险。Austin 热爱自己的职业,也不会改变太多,但说,这种恐惧,让来自学术界的自己,对大型组织和大型代码库如何运作的理解变慢了。

Austin 总结的建议很简单:不要向恐惧屈服。

关于这份资料

Meta 招聘负责人:避免降级定级、识破骗子、通过 OpenAI 和 Anthropic 的面试

本节是对原始文字稿的转述。自动生成的字幕可能有错误。

观看原视频 ↗

开场的预告片段剪辑和完整一期的引子(00:00.08 至 00:49.28)(主持人的开场框架,在概览和第一个问题中只呈现一次)。

主持人为一家面试准备网站做的赞助商口播,包括主持人关于播客财务状况的评论,约 26:30 至 27:33(位于 26:06.96 至 27:33.84 的字幕范围内)。

结尾的感谢、人体工学键盘的产品推广、对评论的请求,以及关于通过评论发现嘉宾的说明(01:41:36.80 至 01:42:38.48)。

全程省略了问候、笑声、重述的问题和简短的应答附和。

我的笔记在可使用本地存储时,笔记会保存在此浏览器中。
第 27 节 · 访谈

Vlad Feinberg:可见的贡献与相互支持的协作

关于内部调动的能见度、贡献的证明、善意,以及成为别人愿意支持的同事的精选段落。

让有用的贡献被看见

Vlad Feinberg

Feinberg 说,最强的信号,是构建了别人在用的东西的证据。对一个现有项目做出有用的贡献,给候选人提供了影响力的具体证明,并让他们的能力被可能与他们共事的人看见。

对于内部调动,比如一位基础设施工程师转到前沿团队,建议会有变化吗?

Vlad Feinberg

Feinberg 说,到目前为止的建议,假定的是外部招聘。许多大型组织并不构建前沿模型,却仍然使用它们。Feinberg 举了一位来自搜索方面的同事转到 Feinberg 的团队的例子。那位同事的做法,是帮助产品领域尽可能好地采用这项技术。Feinberg 说,在这样的组织内部,有效地应用和部署大语言模型,存在很大的差距。

Feinberg 说,成为填补这个差距的人,会创造业务价值,并提升组织的地位。这也让这个人成为研究一侧的天然合作伙伴,让模型在那个组织内部运作良好。Feinberg 说,转岗因此成了可选项。这项工作本来就已处于前沿,因为它把新技术放进了人们使用的产品里。

如果你能在刚毕业时给自己一些建议,你会说什么?

Vlad Feinberg

Feinberg 的第一条建议,是追逐人们今天面临的问题。Feinberg 说,一个人不应当回避一个大问题里更小的、不那么光鲜的部分,即使它不是花哨的研究数学。去做真正重要的事,会显示出什么在推动前沿。Feinberg 呼吁在如何对待问题上保持谦逊。

Feinberg 的第二条建议是职业性的:成为别人希望看到成功的同事。Feinberg 把这与那些为了短期结果而榨取人的职场领导者作了对比。Feinberg 说,最有效的人是善良的,并以第一位把 Feinberg 引入计算机科学的导师为例。

Feinberg 说,从职场博弈论的角度看,一种慷慨的方式可能显得天真,但它建立了合作和愿意帮忙的意愿。这种信任,对于需要几个人和多种技能才能完成的大型项目很重要。Feinberg 的总结是:做那种别人希望看到成功的人。

关于这份资料

Google DeepMind 杰出工程师(L9):如何拿到前沿实验室的工作 | Vlad Feinberg

本节是对原始文字稿的转述。自动生成的字幕可能有错误。

观看原视频 ↗

已省略开场预告 00:00.00 至 00:05.20,以及主持人关于“缩放之书”邀请的片头 00:14.44 至 00:30.60;邀请本身在 35:13.80 至 37:39.44 涵盖。

已省略 WorkOS 的赞助商口播 37:41.60 至 38:29.80。

已省略主持人的结尾思考 01:02:51.24 至 01:03:05.12。

已省略频道对评论和嘉宾建议的号召,以及带有 Kickstarter 链接的键盘产品推广,01:03:05.80 至 01:04:02.44。

这一精选章节保留了来源中关于职场、领导力和职业的段落。技术性的和无关的讨论已省略。

我的笔记在可使用本地存储时,笔记会保存在此浏览器中。
第 28 节 · 访谈

让你的工作和领导力容易被发现

关于选择合作者、带领小组、清晰地展示工作,以及让个人品牌可被发现的精选段落。

你怎样选择好的队友?

Jia Chen

看已经展现出来的技能和项目,而不只是头衔。她会查看 GitHub 上的作品、活跃度,以及与拟议项目相关的经验。她还看重热情、努力、足智多谋,以及愿意尝试陌生事物。最好的资历,是有用的证据,说明这个人可以为这个具体的构建出力。

黑客松的社交部分是什么?

Jia Chen

它既包括团队,也包括评委。在团队内部,整个活动期间的动力很重要:一个人放弃,会对小团队产生不成比例的影响。一位热情的队友,可以带动整个小组,而她看到过,当每个人都全情投入时,成绩最强。

你怎样向评委展示一个项目?

Jia Chen

让路演保持简短:说明想法,解释它做什么,并把大部分时间用来演示它。观察评委是否理解,并让他们与成果互动。在她的经验里,许多评委的技术并不深,所以一份框架清单,不如一个他们能看到其价值的产品有说服力。

这并不排除技术上的雄心。一个复杂的项目,当它运行良好、展示又让它的目的显而易见时,可以显得清晰而简单。错误在于,以为单凭复杂性,就是它应该获胜的理由。

黑客松加强了你的主动性吗?

Jia Chen

她本来就有一些愿意尝试不寻常事物的意愿,但认为这些活动有所帮助。学校有时让人觉得重复,而构建东西提供了更有刺激的出口。身处一个很少有人认真追求创业的环境,让这种尝试与通常的路径感觉不同。

一位在不太知名学校的学生,可以做什么来脱颖而出?

Jia Chen

培养主动性和责任感:领导一个社团,参与决定一个重要项目的方向,或者让有用的工作被看见。她的意思,是成为一个做决定并把它们落实的人,而不是完全依赖学校的名声。

个人品牌对一位学生有什么作用?

Jia Chen

它让之后的工作更容易被发现。展示给一个小圈子看的项目,只能触达那个圈子;而一批可见的作品,可以一次触达多得多的招聘人员或潜在的合作者。她把它看作提高了有用的机会找到自己的几率。

你是怎样克服把自己推到台前的恐惧的?

她与几位亲近的朋友讨论想法。知道有一小群人会支持她,帮助让陌生人的负面反应变得不那么重要。她是在仍然感到紧张的时候采取行动的,背后有一个让她踏实的支持网络。

对于一位不想成为高频创作者的人,有什么具体的一步?

让项目走出 localhost。发布一个能运行的版本,在合适的情况下公开代码仓库,并给人们一个可用的链接。能见度可以从分享作品本身开始,而不是不停地发帖。

关于这份资料

辍学大学生,赢得了 21 场黑客松(70% 的胜率)| Jia Chen

本节是对原始文字稿的转述。自动生成的字幕可能有错误。

观看原视频 ↗

开场的预告片段剪辑(00:00–00:44)重复了后面的讨论。

结尾的推广性注册话术,已浓缩为一小段产品背景介绍。

这一精选章节保留了来源中关于职场、领导力和职业的段落。技术性的和无关的讨论已省略。

我的笔记在可使用本地存储时,笔记会保存在此浏览器中。
第 29 节 · 访谈

Sash:协作、可见的工作与职业声誉

关于跨职能协作、原型的能见度、声誉、绩效认可,以及导师反馈的精选段落。

你是怎样选择在 Meta 的第一支团队的?

Sash

最初一个位于伦敦的选项,在发现跨地点的代码评审需要好几天之后,就失去了吸引力。Sash 随后遇到一个人,认为他兼具设计和工程的经验,适合一支要把设计师没被用到的原型变成已上线体验的团队。

那支 News Feed 的“愉悦”团队,优先考虑动画、好玩的互动和其他小小的愉悦时刻,一开始没有明确的指标要求。他很喜欢,但这支团队只持续了大约半年。回头看,他认识到,一个令人愉快、却没有持久的影响力故事的主张,在那个组织里,很难经得起审视。

一支偏设计的团队,怎样证明自己的工作是成功的?

Sash

Sash 回过头看,认为需要一位拥有可信的价值理论的高管赞助人。他回忆起一个调查指标,问人们是否觉得 Facebook 在乎他们,这为“愉悦”的工作提供了一个可能的联系。这个指标是主观的,也可以有不同的解读。

他认为,当公司高度关注效率时,更难为这样的团队辩护。这解释了他选择中的一种张力:他寻找自己觉得有吸引力的工作,即使它可衡量的回报并不确定。

你在选择团队时,优化的是什么?

Sash

起初,是乐趣。他追随人、直觉,以及看起来有趣的机会,然后事后再去理解由此形成的路径。随着时间推移,他变得稍微更有意识,但仍偏爱有风险的、从零到一的工作。

他注意到,许多优秀的工程师在开始之前,想要一个清晰的产品定义、示意图或设计。他在没有这些的情况下也能舒服地工作,这给了他一个有用的利基。广度积累了工具、关系和知识,在后来的项目里可能变得有价值,尽管这并不保证每一次转换都有成功的结果。

是什么让一位设计师格外好合作?

Sash

愿意持续地协作。最初的设计不必预见每一个工程上的约束,但团队最终必须解决缺失的数据、网络故障和其他现实世界的情况。工程也可以带来设计师可能没想到的可能性,比如传感器影响一次交互。

他看重短的反馈循环。在一个尚未发布的硬件项目里,他做了一条临时拼凑的流水线,能迅速把 Figma 的设计显示在设备上,这样设计师就可以修改,并立刻看到结果。双方都倾听、调整,比把一个所谓完成的想法交接过去,能产出更强的产品。

关键是快速迭代和双向沟通两者吗?

是的。他喜欢从一个有野心的图景开始,而不是立刻用约束去否定它,然后一起去适应处理能力、发热或其他限制。约束仍然重要;推迟过早的否定,给协作留出了更多发现一个好方案的空间。

当你提交的代码这么少时,你的绩效是怎样被评判的?

Sash

早期团队的期望,围绕的是减少不确定性,而不仅仅是落地生产代码。团队配备了资深的人,他们明白一个有风险的项目,需要那种工作。Sash 把这描述为,一家大公司可以在不承诺晋升的前提下,鼓励探索的一种方式。

他还看到评审节奏中的一种张力:频繁的反馈是有用的,但短周期可能让人不敢押注那些要跨几个周期才出结果的赌注。他并不声称有一种评审流程,能完美地服务每一个人。在他的例子里,重要的一点是,所期望的贡献,与项目的探索阶段是对齐的。

是什么让那个项目里的资深后端工程师如此高效?

Sash

对现有系统深入的熟悉。这位同事知道怎样创建一个 feed,怎样让一篇没有图片的帖子行得通,并理解在应用其他地方的后果。他们的对话,迅速变成了 Sash 可以测试的、可运行的前后端改动。

大型的、成熟的原语也有帮助。一个高层的操作,可以提供默认值和集成,而无需每位工程师重新搭建底层。这位懂行的搭档,知道怎样恰当地使用这些设施。Sash 把它比作“副驾驶”,这个俏皮的比喻,强调的是准确的背景和判断,而不是字面上对这个人的替代。

分享原型,是否建立了带来新机会的声誉?

Sash

他无法确切知道别人是怎么想的,但相信,反复的内部演示,让人们把他与快速的、探索性的工作联系在一起。使用公司技术的原型不能公开分享,所以内部的帖子是一个重要的场所,即使当下的互动并不多。

用一个能运行的东西,去回应一个含糊的询问,也展现了主动性。早期的项目,受益于那些在没有完整的任务清单时也能行动的人。他认为,在大公司常见的会议和对齐工作中,这种行为很突出。

为什么原型比书面提案更能传达?

Sash

书面描述,依赖每个人构建出同样的心智模型。一张图能缩小这种模糊性;一段视频能缩小得更多。一个可交互的原型,让人们直接体验这个行为,并讨论一个具体的交互。

Sash 见过一些会议,进行了一段时间,参与者才发现自己想象的是不同的产品。原型可以及早暴露这种分歧,并缩短项目中模糊的阶段。它的保真度有助于对齐,而不只是宣传。

尽管频繁换团队,你怎样评估自己从 IC4 到 IC6 的成长?

Sash

留在同一个领域,通常会让定级更容易:专长、善意和关系,围绕一个已知的问题复利累积。他在一位多年留在原团队的同事身上看到了这一点。他常常觉得,那种连续性对他自己来说不那么有趣。

他的选择偏向愉快的项目和广度,而不是最大化晋升速度。它们积累了人脉和知识,其中也有一些走错的弯路。因为他工作时间长,所以乐趣对于维持这份投入很重要。

他明确拒绝把自己的路径变成普适的建议。正确的策略,取决于一个人想要的职业和生活。他最终的晋升,并不能证明反复换团队是最快的路径,只能说明这条路径,可以为一个有他那样偏好的人,培养出一个有用的利基。

你的路径与你最初新兵训练营小组里的人相比如何?

Sash

他记得同伴们有的成为经理,有的留在同一个应用或领域,总体都做得不错。他们更偏爱纵向的成长,而不是他那样的广泛探索。这种比较只是一个小规模的轶事样本,并不是哪种策略胜出的证据。

离开的时候,他发现很难找到一个替代的角色,因为他的角色几乎完全围绕原型制作。他认为,大公司的激励,自然会把大多数人引向可预测的影响力。但一家公司也需要一些人,准备好去测试不确定的方向。这种平衡,可能帮助它发现既有业务之外的选项。

只针对某一项指标做优化,有哪些局限?

Sash

Sash 提到了那个人们熟悉的问题:一项衡量一旦变成目标,就会变得没那么有信息量:人们学会了钻它的空子。他还认为,产品质量中重要的部分很难衡量,需要品位。

一个不断上升的局部指标,可能掩盖那些需要暂时的倒退或不同方向的机会。他认识到,把这个洞见转化为一个可扩展的框架是困难的,因为大型组织也需要可重复的流程。他对实验的偏好,是对这种张力的回应,而不是对指标的一个完整的替代方案。

你对十次换团队中的哪次感到后悔吗?

Sash

有些回报不如他期望的好,但他从中学习,并建立了关系。努力做一个好队友,让这些联系在两个方向上都有用:有人可能邀请他参与后来的项目,或者他可以带上他们。

在他离开 Meta 之后,这个人脉网络的规模变得格外明显,人们提出引荐,或者对他接下来可能构建什么表示兴趣。他看重冒险和人,把它们当作结果,而不是只用头衔的晋升来评估每一次调动。

你会给职业生涯开始时的自己什么建议?

Sash

把弱点处理到不妨碍工作的程度,然后投入到让贡献与众不同的长处上。一位经理帮助他看到,修补每一个缺点,不一定是价值最高的发展计划。

对 Sash 来说,这意味着选择一个能让他对模糊性的适应、与设计的协作和快速原型制作派上用场的环境。这条建议,是请一个人去理解自己的长处和适配,而不是照搬他具体的团队选择。

关于这份资料

Instagram Staff(IC6):九年里换了十次团队仍获晋升(职业故事)

本节是对原始文字稿的转述。自动生成的字幕可能有错误。

观看原视频 ↗

开场的宣传片段剪辑,重复了后面的讨论,只计一次;已省略结尾对社交账号和播客互动的请求。

这一精选章节保留了来源中关于职场、领导力和职业的段落。技术性的和无关的讨论已省略。

我的笔记在可使用本地存储时,笔记会保存在此浏览器中。
第 30 节 · 访谈

练习清晰地表达与认真地倾听

关于练习公开演讲、寻求沟通方面的反馈,以及不打断地倾听的精选段落。

为什么要做一档关于资深工程师职业生涯的播客?

Ryan Peterman

Ryan 想成为更好的演讲者,他相信这项技能,会影响职业、人际关系,以及别人如何看待一个人。Toastmasters 提供了有用的练习,但他发现,录音在其他优先事项之中,常常没有被回看。发布带来了更强的承诺:因为会有人听,他在剪辑时会审视每一个字。这些内容既是练习,也是反馈循环。

做播客,比普通的对话更难的是什么?

Ryan Peterman

自然的口头回应,比如简短的赞同和倾听时发出的声音,在录音里可能会盖住嘉宾的回答。Ryan 不得不学会用点头来表达投入,同时克制打断。制作一个听起来令人愉悦的东西,需要一种与不录音的对话不同的倾听习惯。

关于这份资料

这档播客的幕后故事(2.5 万订阅特辑)

本节是对原始文字稿的转述。自动生成的字幕可能有错误。

观看原视频 ↗

关于改期的录制和没用上的录音棚预订的开场说明(00:00–00:58),仅作为制作背景概括。

已省略结尾的互动请求,以及在工作平衡的讨论之后,重复的嘉宾征集号召。

这一精选章节保留了来源中关于职场、领导力和职业的段落。技术性的和无关的讨论已省略。

我的笔记在可使用本地存储时,笔记会保存在此浏览器中。
部分

应对晋升与组织变动

让工作与真实的职责范围对齐,理解评审的决定,并让你的成长在团队和角色的变动中持续向前。

第 31 节 · 访谈

Anders Hejlsberg:在不失去自己喜欢的工作的前提下产生广泛的影响

关于授权、在指导架构的同时保持投入、广泛的个人贡献者影响力,以及选择一个有激励作用的角色的精选段落。

你是怎样学会放手实现性的工作的?

Anders Hejlsberg

Hejlsberg 给出了一个反例,反驳“放手总是进步”这个假设。在 C# 上,他的核心角色变成了语言设计和规范,直接做编译器实现的时间变少了。他逐渐发现,这离他所喜爱的、困难的编码问题太远了。

直接参与 TypeScript 的编译器,恢复了这种乐趣。他喜欢设计工作,但写代码,也是让他渴望开始新的一天的东西。教训是,授权时,不要意外地去掉那件激励自己的事情。

一位非常资深的工程师,怎样在满足广泛影响力的期望的同时,继续写代码?

Anders Hejlsberg

他的影响力,来自作为团队一员所做的架构指导,同时他仍然参与一部分实现。这种参与,让他能注意到别扭的代码、浮现的重构需求,以及单靠规范无法揭示的实际问题。

他把自己所写的任何一行代码的影响,与因为贴近代码库而得到支撑的判断区分开来。把指导与直接的工作结合起来,让他能够理解人们所使用的东西,而不只是描述它的语法。

所以每一位高层的工程师,都应该亲自动手吗?

他并不做这种普遍的论断。他有意识地选择了个人贡献者的路径,而不是管理,因为它适合他做出最佳工作的方式。其他人应该找出,是什么足以激励自己,支撑一生的工作。这个例子,是一个关于贡献和满足感的个人选择。

你会给职业生涯起点的自己什么建议?

Anders Hejlsberg

更早地学会与他人共事。另外,不要自动接受别人关于一个技术目标无法实现的声明:他们的极限,可能反映的是他们自己的经验,而不是一种根本的不可能。

这条建议邀请的是调查和坚持,而不是证明每一个雄心勃勃的想法都会行得通。

有没有哪个项目,让你遇到了这种怀疑?

他回忆起,人们不屑于早期的 Turbo Pascal 产品能做什么,即使团队描述了一个已经构建出来的实现。不知道别人认为这不可能,帮助他尝试去做这件事。

关于这份资料

TypeScript 的创造者:快 10 倍的 TypeScript,为什么 AI 不会取代软件工程师 | Anders Hejlsberg

本节是对原始文字稿的转述。自动生成的字幕可能有错误。

观看原视频 ↗

已省略开场的片段剪辑、赞助商片段和结尾的频道/键盘推广;重复的访谈节选只计一次。来源范围:0–47 秒,1811–1892 秒,3898–3956 秒。

这一精选章节保留了来源中关于职场、领导力和职业的段落。技术性的和无关的讨论已省略。

我的笔记在可使用本地存储时,笔记会保存在此浏览器中。
第 32 节 · 访谈

围绕真实的痛点构建工具,再赢得采用

Bento 的故事,把 Staff 级别的技术愿景,与入职培训、遗留系统的支持、团队的创建,以及明确约定的探索联系了起来。

你那次相当于资深 Staff 的晋升,背后做了什么工作?

嘉宾

嘉宾最初在 2015 年前后,参与一个估算 Facebook 某项业务使用情况的项目。在各自独立的数据流水线系统和机器学习系统之间切换很麻烦,所以他做了辅助脚本,让流水线工作可以放在编排环境内完成。合理的默认值去掉了重复的样板代码,同时为高级配置留有后门。他估计,在旧系统里需要大约 300 行的任务,用他的库可能只需要大约 20 行。

这段经历,把他的兴趣从单次分析,转向帮助分析师和机器学习工程师更快地工作。笔记本的环境配置是另一个反复出现的痛点:人们用过时的 wiki,手动安装 Jupyter 或 RStudio。在经理同意的情况下,他先花了两三个月探索自动化的配置,然后招募了其他人。最早的 Bento 只是一个配置脚本;更大的愿景,是一个可以通过浏览器访问、与内部库集成、最终支持其他语言的环境。

大约一年里,团队构建了这个平台,以及用户可以申请和释放、而不必自己维护服务器的按需实例。他还组建了一支六到八人的团队,邀请那些本来就喜欢在业余时间构建工具的工程师,全职来做这件事。他转入了技术负责人兼经理(TLM)的角色,并说他的 TLM2 晋升,在很大程度上取决于他个人的技术工作和 Bento 的愿景。主持人把这个级别解释为相当于高级经理或资深 Staff。

你是怎样把一个有用的内部工具,变成被广泛采用的东西的?

嘉宾

Bento 起初并不要求转换每个人现有的工作流程。团队瞄准了入职培训项目,那里的新数据用户,对遗留的配置没有依恋。在一家快速增长的公司里,这带来了许多用户;然后,现有的员工看到,越来越多的同事在使用新系统。

对于仍留在遗留笔记本上的人,团队在以前服务不足的渠道里,提供维护和支持。这在提出迁移请求之前建立了信任。当有人需要一个别扭的配置时,团队可以提供一份冗长的手工指南,或者更简单、有支持的 Bento 路径。

团队还与分析方面的负责人,谈论他们小组里具体的痛点。这些对话揭示了数据工具方面更大的积压需求。因为没有专门的团队服务这个领域,嘉宾就从核心数据科学转到了开发者基础设施,去创建一支。所以采用,是一个便利的切入点、为现有用户服务、与领导层的关系,以及合适的组织归属的组合。

编辑综合

一个工具如何赢得采用

  1. 消除一个反复出现的痛点减少真实工作流程里的样板代码和配置工作。
  2. 在入职时遇到新用户在习惯形成之前,提供一个更简单的默认选项。
  3. 支持现有用户帮助处理遗留系统,赢得信任。
  4. 随着需求扩展整合这个环境,并创建一支专门的团队。
编辑综合。箭头表示这段叙述中强调的先后顺序,并不是一个通用的采用公式。

当短期的绩效期望很严格时,你怎样去冒一个有前途的风险?

嘉宾

嘉宾认为,表现不佳的后果,比十年前更严重,但关键做法是一样的:在偏离正常工作之前,先就期望达成一致。他当时被分配去做数据咨询,而他提议的工作是基础设施,所以他请经理和隔级经理,把一次有边界的探索,纳入自己的工作。

如果这个工具成功了,团队受益;如果失败了,完成一次约定好的探索,仍然是被期望的。他认为这比消失三个月、然后带着一项没人知道取代了他正常职责的工作回来,要安全得多。

要过度沟通,并准备好听到“不”。他把功劳归于支持这次试验的一位经理,并记得后来领导层拒绝了的一些提议。这个故事并不保证每一个风险都能被谈判化解,也不保证一个探索性的项目一定带来晋升。

关于这份资料

Meta 首席工程师(IC8)谈他资深 Staff 的晋升故事

本节是对原始文字稿的转述。自动生成的字幕可能有错误。

观看原视频 ↗

已省略结尾的片段推广和评论请求(11:23 之后)。

我的笔记在可使用本地存储时,笔记会保存在此浏览器中。
第 33 节 · 课程

培养主动性、信心与组织层面的判断力

关于主动性、信心、有用的长处、协作、发声,以及读懂组织背景的精选段落。

冒名顶替综合征耽误了什么?

嘉宾 3

第三位嘉宾会更早地信任自己的判断。成功的项目、良好的协作和反馈,最终建立了信心,但早期的焦虑,让他不敢尝试一些想法,因为害怕打破现状。后来,其中几个有颠覆性的项目都做得很好。他希望自己更早地测试它们,少花一些时间担心,同时让最终的信心,立足于经验,而不是声称每个第一反应的想法都是对的。

一组普通的长处,怎样组合起来变得与众不同?

嘉宾 5

一位嘉宾,钦佩设计和工程方面的专家,担心只在好几个领域里表现中等是行不通的。他真正的优势,是在这些领域之间进行协调。他会少关注成为某个单一学科里最好的人,而更多地关注自己能带来的那种不同寻常的组合。

他还会对分享想法更勇敢一些。他在学校里对公开演讲的恐惧,与他在推介一款自己在乎的产品时的从容,形成了鲜明的对比。把讲解材料当作对知识的考试,让他焦虑;而为一项想要促成的改变发声,则给了他一个不同的目的。热情并没有神奇地消除每一个挑战,但它改变了说话对他的意义。

除了做那个写被要求的代码的人之外,还有什么重要?

Dwayne

这位嘉宾把年轻时的自己称作 Dwayne,他会问:怎么知道,被要求的实现,是该构建的正确东西?他会争取参与这些决定,而不是只用自己能敲出的东西来定义自己的价值。这种更广阔的角色,本可以帮助抵消他早期的冒名顶替综合征,并明确想法和判断,可能比原始的产出更重要。

你怎样变得更勇敢,又不假装尴尬会消失?

Brian

下一位嘉宾把自己称作 Brian,他会更勇敢,并对失败少一些难为情。他马上把这条简短的建议限定为一场更大对话的开始,关于理解感受,而不是一条让感受消失的命令。他认为,更多地了解自己的情绪,也许通过心理咨询,对这个人和他们的人际关系都有帮助。

当尴尬只是你单纯感受到的东西时,这是不是说起来容易做起来难?

是的。他同意,并说这两句话的建议,需要对这些感受以及如何理解它们,做更深入的讨论。他没有给出消除尴尬的完整技巧。

你怎样选择一个看重你长处的环境?

嘉宾 9

另一位嘉宾说,一位优秀的前端工程师,在后端团队里可能会吃力,或者一位热爱改进框架的人,在专注于产品交付的团队里,可能得到糟糕的结果。仅有活动是不够的:即使数百次改动,也未必服务于团队的优先事项。要认识到持续的不匹配,并寻找一支需要你擅长之事的团队和管理链条。原则是长处与被看重的工作之间的契合,而不是在任何环境里,仅仅多做自己擅长的一件事。

当一个组织继承下来的做法看起来很奇怪时,应该用什么来指引你?

嘉宾 11

最后一位嘉宾推荐常识。大公司可能有错位的激励,以及仅仅因为一直存在而被保留的流程。创业公司也需要对市场和用户究竟想要什么做出判断。他会信任并培养这种实用的判断力,而不是假定组织惯例已经回答了问题。

关于这份资料

2025 年最佳的软件工程职业建议

本节是对原始文字稿的转述。自动生成的字幕可能有错误。

观看原视频 ↗

已压缩或省略开场的合集介绍(0:00–0:43)和结尾的频道请求(约 15:47 之后)。

这一精选章节保留了来源中关于职场、领导力和职业的段落。技术性的和无关的讨论已省略。

我的笔记在可使用本地存储时,笔记会保存在此浏览器中。
第 34 节 · 补充篇

资深级别的职责范围,在深度、广度与时间跨度上成长

Philip Su 解释了为什么最高的工程级别需要定性的判断,并通过构建 Meta 的伦敦工程站点,来说明这种职责范围。

E7、E8 和 E9 的工作有什么区别?

Philip Su

Philip Su 从影响的范围谈起:一个人能够可靠地完成多大、多有价值、或持续多久的工作?他给出了历史上大致的期望,比如在资深/接近 Staff 的级别上,影响大约十到十五个人,而在 E7 也许是五十个人。他明确警告,自己关于级别的信息可能已经过时。这些是他经验中的例证,并不是任何一家公司今天的晋升标准。

更高的级别,在质上也不同。一位异常深入的专家,可能解决几位较低级别的工程师无法替代的问题。一位知识广博的通才,对于一支小的或新的团队,可能比分开招聘的几个人,更有效地整合多种工作。单看人头数,就错过了这种区别。

他回忆起 E9 是在他最初晋升到 E8 之后设立的,早期的决定只涉及几位非常不同的候选人。这样一个小而多样的群体,使得普遍适用的清单不太可能。在顶层,来自同级和更资深领导者的有见识的判断很重要:他们是否认出了那个级别的工作,为什么?他把它比作学术资历所涉及的定性认可。重点不是所有的评估都是任意的,而是一份任务清单,无法完整地代表出色而多样的贡献。

如果一位优秀的 E7 身边没有 E8 或 E9 可以学习或评估他们,怎么办?

Philip Su

Su 认识到这个问题,既存在于小公司,也存在于大型组织里较弱的团队中。当地最强的人,可能扭曲自我校准,或者去掉观察更好判断的机会。他建议选择一个有空间与强大的同事一起成长的环境,而不是把“在当地最强”当作唯一的目标。

在非常高的级别上,单纯模仿另一位资深的人,可能行不通,因为他们的原型和长处,可能与你的不同。他赞成找一位参与相关晋升决定、并能给出定性评估的教练。这个人可以解释,这份工作还在哪里没达到标准,并帮助讨论更强的工作会是什么样子。所期望的输入是具体的反馈,而不是假定靠近一个有声望的头衔,就会自动产生成长。

什么样的职责范围,促成了你自己的 E9 晋升?

Philip Su

Su 帮助用十二个人启动了 Meta 在伦敦的工程团队,并在大约四五年里,把它发展到大约四五百人。他描述了随着站点的扩张,管理战略和组织上的转变。一支十二个人的团队,一位有能力的工程经理就能管得很好;而几个数量级的增长,让问题变得更多样,答案也更不明确。

一个例子,是根据预期的签证限制,会影响未来在门洛帕克的全职入职,来规划伦敦的实习生和人头数。他用数据,在后果出现的大约十八个月之前,就提出了决策建议。另一个例子,是考察站点的资历分布,以及工程师是否在以合适的速度成长,而不只是检查每个人名义上的级别。

增加的职责范围,既涉及受影响人员的广度,也涉及判断的时间跨度。他把这样一系列决定,当作晋升的故事,而不是点出某一次孤立的代码改动,或断言仅仅扩大一个站点就能保证同样的级别。

资深职责范围增长的几种方式
维度Su 强调的是什么
广度协调并影响更多的人和决策。
深度解决增加较低级别工程师也无法复现的定性技术问题。
整合在强大的通才有价值的地方,结合多种类型的工作。
时间跨度利用当下的证据,选择那些效果要晚得多才会到来的行动。
关于这份资料

OpenAI 杰出工程师(IC9)片段:是什么让最优秀的工程师与众不同

本节是对原始文字稿的转述。自动生成的字幕可能有错误。

观看原视频 ↗

已省略 00:10:38–00:10:48 的结尾对完整一期的指引和反馈请求。

我的笔记在可使用本地存储时,笔记会保存在此浏览器中。
第 35 节 · 课程

Staff 工程始于超越自己任务的领导力

Peterman 通过职责范围、影响力和个人贡献者的职业路径,介绍 Staff 工程。

一条职业分支,而不是必须走的下一次晋升

Peterman 描述了一种常见的进阶:从入门级,经过中级,到资深工程。在许多公司,资深既可以是一个可持续的终点,也可以是一个分叉点:工程师可以继续沿着个人贡献者的阶梯走,或者转入管理。他把这作为一个宽泛的框架来呈现,并不是一套通用的头衔,也不保证每家公司都以同样的方式组织职业。

在保持个人贡献者身份的同时领导

在他的框架里,Staff 是第一个不可避免要领导的个人贡献者级别。你可以保持工程师的身份,而不成为人员管理者,但你必须帮助其他人和项目成功。这次晋升之所以困难,恰恰因为它是职责范围和行为的改变,而不仅仅是对多写代码的认可。

用工程来扩大你的影响

他强调工程这条路径异乎寻常的职责范围:工具、系统和方法,既能提高个人的效能,也能提高许多其他人的效能。这创造了一条在管理之外通往更大影响力和更高薪酬的路径。他与其他职业的比较,是对这个想法的说明,而不是对它们职业阶梯的全面论断。

思考如何扩大职责范围的一种方式
示意性的职责范围什么变得更重要
一个任务或功能交付一块有边界的工作
一个项目协调一项重要成果的各个部分
几个项目或一款产品跨越人员和代码边界去领导
公司或行业的影响力创造许多团队采用的系统或方法
关于这份资料

什么是 Staff 工程师?(Meta Staff 工程师解释)

本节是对原始文字稿的转述。自动生成的字幕可能有错误。

观看原视频 ↗

我的笔记在可使用本地存储时,笔记会保存在此浏览器中。
第 36 节 · 访谈

Adrien Friggeri:谈判职责范围并建立晋升支持

关于与经理的对齐、谈判职责范围、组建团队、采用,以及建立机会的关系的精选段落。

你在 Instagram 的第一次资深级别晋升,背后有什么故事?

Adrien Friggeri

在做完谣言方面的工作之后,Adrien 见到了 Instagram 的联合创始人兼 CTO。Facebook 在 2012 年 9 月收购了 Instagram,核心团队大约有 30 人。Instagram 没有个性化,也没有 A/B 测试。他从“探索”(Explore)标签页开始,加入个性化,并需要一种衡量它是否有效的方法。产品负责人说,在 Instagram 从 AWS 迁移到 Facebook 基础设施期间,他们有更大的优先事项。

他还是构建了这套测试系统,有一位产品经理给他撑腰。他重用了 Facebook 的系统。因为 Instagram 运行在不同的基础设施上,他增加了一个自定义的 Facebook API 端点,对 Instagram 的应用 ID 开了白名单,用来记录曝光。他称这很取巧,而且可能代价高昂。他还加入了用户哈希,把日志连到数据仓库,运行了一个服务端的 A/A 测试,并与移动工程师一起做了小型实验。

他说,自己当时并不知道有晋升这回事。他是 IC4,当他的经理宣布 IC5 的晋升时,他不得不问这个级别是什么意思。然后他把 A/B 测试系统,交给了一支新成立的、负责它的团队。

在职业早期,主动联系资深的人和同事,不寻常吗?
Adrien Friggeri

Adrien 说,早期的 Facebook 是自下而上的:如果你需要一件自己做不了的事,就去找人帮忙。在他最初的六个月里,他参加了大约六场黑客松,通常在周四晚上,通宵做与本职工作无关的项目。他说,那就是当时的文化。

早期的 Instagram 团队与 Facebook 之间,有文化上的差异吗?

Adrien Friggeri

Adrien 说,他从未正式加入过 Instagram 团队。他的数据科学小组像顾问一样工作,嵌入其他团队,而他的汇报线保持不变,头几年里他有两位经理。Instagram 感觉像是创业公司里的创业公司。Facebook 大约有 2,000 名员工,而 Instagram 的 30 到 40 人的核心团队,一间会议室就坐得下,重点放在设计和工艺上,而不是数据。

你说的最大的职业错误是什么意思?如果你当时加入了 Instagram,你的职业会在哪里?
Adrien Friggeri

他称没有加入 Instagram,是自己最大的职业错误之一,但不是严重的遗憾。他的职业可能发展得更快,因为留下的同事更早达到了资深级别。他称这是一条没走的路,并说那个反事实很难知道。

你能讲讲你的 IC7,也就是资深 Staff 晋升背后的故事吗?

Adrien Friggeri

Adrien 做的项目,是把数据带给非数据团队。其中一个统计某款 Facebook 产品用户数的项目,需要机器学习和推断,但工具很差。他构建了一个库,在机器学习框架内运行数据流水线。他说,在标准系统里需要大约 300 行的流水线,用这个库可能大约 20 行。这让他相信,要构建帮助别人更快前进的工具。

公司里一半的人用 Jupyter,一半的人用 RStudio,而配置依赖过时的 wiki。他提议每个人都有一个 Jupyter 实例,向经理提出了一次为期两到三个月的试验,并构建了 Bento 的第一个版本。起初它只是一个配置脚本。愿景是把它连到公司的工具上,这样用户可以打开浏览器,输入 Bento,就得到一个已经备好内部库的笔记本。

Bento 按需版本,后来让用户可以申请一个临时实例,而不是使用共享的开发服务器。Adrien 帮助领导了这项工作,并通过招募那些本来就在业余时间构建工具的人,来组建团队。他成为了技术负责人兼经理,并被晋升为 TLM2,他说这相当于行业里的高级经理和资深 Staff 工程师。

把内部工具从一个想法,变成人人使用的东西,分步的过程是什么?

Adrien Friggeri

Adrien 说,Bento 没有试图在现有的工作流程里赢得采用。团队瞄准了新员工的入职培训项目(bootcamp),并告诉每一位与数据打交道的人,这就是配置的方式。公司当时增长很快,所以许多新人并不了解遗留系统,其他人则跟着同伴转到了新工具上。

团队还维护那些无人维护的遗留配置。这样做建立了与用户之间的信任。

这种方法是否因为公司在增长而容易推销?领导层的支持是否也重要?
Adrien Friggeri

Adrien 把这种做法总结为两步。第一,利用网络效应,让一群用户通过一条简单的路径。第二,给遗留系统上的人提供价值。一旦信任建立,团队就用 Bento 的功能,来取代一份 25 步的手工指南。主持人指出,开发者工具通常需要人们放弃他们已经在用的东西,但在一家增长的公司里,新员工是在一张白纸上做选择,所以这款产品可能是容易推销的。

Adrien 还去找了分析部门的负责人和另一位领导者,说各个团队有真实的痛点,并提出帮助。一位领导说,这是很好的第一步,但还有大约 20 件别的事情要修。他们同意一步一步来。然后 Adrien 转到开发者基础设施组织,去建立一支专注于数据开发者工具的团队,因为当时没有团队为数据科学和机器学习构建工具。

你承担了一次绩效风险,去构建一个可能失败的东西。今天这样做是否更难?一个人应该怎样为了更大的回报去冒险?

Adrien Friggeri

Adrien 说,现在表现不佳的代价更高了,但做法是一样的。先与你的经理对齐,因为人们是按期望来评判的。他告诉经理,他会暂时放下分配给他的工作,并请求两三个月的时间来探索这个想法。他称这是团队同意的一次经过计算的冒险。

他认为,秘密地做自己的项目风险更大,因为三个月后你可能带着一个没人知道的结果出现。他的建议是过度沟通,并准备好听到“不”。后来,当他试图为其他想法建立共识时,有时被告知了“不”。

转入技术负责人兼经理的角色,背后是怎么想的?

Adrien Friggeri

团队正在构建的产品需要扩展,需要更多的人。Adrien 可以招一位有不同愿景的经理,或者自己试试管理。这次转变,是出于想领导自己组建的团队的愿望,而不是出于要成为经理的计划。团队需要一位经理,于是他成了这位经理。

对于在一个完全不同的领域快速上手,你有什么建议?

Adrien Friggeri

他从一次社交网络式的探索开始:与人交谈,并问还应该跟谁谈。不要害怕基础的问题,因为每个人都知道新人是新来的。他还亲自动手。虽然他从未正式做过固件,他读了代码,并做了几处改动。然后他选一个自己大致知道怎么解决的难题,因为他是在做中学。

什么样的职责范围,让你晋升为 IC8,也就是首席工程师?

Adrien Friggeri

Adrien 负责一台设备上的所有体验,涉及几十支团队和大约 35 位产品经理。合作团队拥有操作系统层。他的工作是协调、架构,以及达成里程碑。对于 Ray-Ban Meta 这样的产品,这些体验包括设备端的 AI、音乐、拍照,以及配套应用。

IC5 让他感到意外。对于 IC6,他请经理把自己推荐上去,而 IC7 花了几个评审周期。对于 IC8,他的经理从未推动过这个级别的晋升,所以他们一起想出了材料,Adrien 写了大部分。他很早就与几位副总裁建立了共识,并请一位总监每月核对一次他与那个级别之间的差距。六个月后,这位总监支持了这次晋升,因为他全程参与其中。

对于最高级别的晋升,找出支持者是否更为重要?
Adrien Friggeri

主持人说,支持者在最高的级别上最为重要。Adrien 同意,但说底层的影响力仍然必须存在。及早建立共识,避免校准变成一场辩论。他的 IC 晋升花了两个周期,而在第一个周期里,他的经理只是把这个想法放到台面上说了,并没有正式提名他。

当一个角色仅限一人,比如一个项目唯一的技术负责人时,你怎样争取职责范围?

Adrien Friggeri

一位工程师是整个项目的技术负责人。Adrien 看到,体验方面的许多工作,可以由一个专注于它的人来处理。他把它从这位负责人的盘子里拿走,让负责人可以专注于更大的项目,同时负责人保留系统方面的工作。两人建立了信任。大约一年后,Adrien 请领导层正式认可这个角色,这样他就可以用一句话来描述它。

他拒绝“接手职责范围就是偷”的想法。只有当你不与那个人沟通时,才有问题。他先问了这位工程师,对方同意了,后来他又问了一次关于一个相关的领域。过度沟通,是始终如一的主题。

放出职责范围,对放出的人来说是赢吗?
Adrien Friggeri

主持人提出,把职责范围交出去,可以帮助一位资深工程师成长为更大的角色。Adrien 同意,并说他推动过初级工程师去承担主人翁责任,这既帮助了他们,也让他得以授权更多。

你的职业生涯,是一连串偶遇合适的人。你有没有关于如何最大化“人际机会”的运气的建议?

Adrien Friggeri

Adrien 说,他的工作没有一样是在真空中发生的。早期,他有棱角,也有强烈的观点,这对他没有帮助,而他学到了,人们是一起成功的。他说,信任和尊重意味着,当你需要时,人们会出现,但你不应该为了得到回报才去帮助别人。

他还说,不要害怕开口问。对于职业上的变动,他从来没有通过招聘网站申请过。他联系自己认识的人,请求小小的帮忙,并给出一个容易拒绝的方式。人们都很忙,所以沉默不是判决。关于运气,他说,多试几次,会增加几率。

如果你能回到在法国刚大学毕业时的自己,你会给什么建议?

Adrien Friggeri

他会说,要做一个好人,投资有趣的事情,投资与同事的关系。功劳没有看上去那么重要,因为每个人都会因为某件事得到功劳。他早期非常在意功劳。他还会告诉自己要有耐心,因为他有时在还没准备好时就推动晋升,并要保持好奇,享受工作。

关于这份资料

Meta 应届生到首席工程师(IC8)(职业故事)| Adrien Friggeri

本节是对原始文字稿的转述。自动生成的字幕可能有错误。

观看原视频 ↗

开场的预告和引子,00:00.16 至 00:38.56。关于影响力和早期共识的预告,在 44:07.12 至 45:18.00 完整涵盖。主持人的介绍(00:03.44 至 00:08.16)仅用于框架。

收尾、LinkedIn 指引和频道呼吁(支持、评价、嘉宾建议),55:25.20 至 56:16.64。

这一精选章节保留了来源中关于职场、领导力和职业的段落。技术性的和无关的讨论已省略。

我的笔记在可使用本地存储时,笔记会保存在此浏览器中。
第 37 节 · 访谈

Carey Nachenberg:功劳、经理的信任与传达影响力

关于诚实地认领功劳、评审记录、向领导传达、经理的信任与协作的精选段落。

你能讲讲你在赛门铁克(Symantec)的整体经历,以及你是怎样成长为 Fellow 的吗?

Carey Nachenberg

Nachenberg 大约在 1992 年,作为实习生进入 Peter Norton Group,后来被赛门铁克收购。他认为自己是那里的第一位实习生,并说公司没有给他安排办公桌,所以他在质量保证实验室工作。到 2016 年他离开时,他已经从最初级的人,成长为赛门铁克最资深的工程师。

你是打算从事网络安全,还是机缘巧合?
Carey Nachenberg

是机缘巧合。Nachenberg 最初做的是一个文件管理工具,不是安全。在他第三次实习时,赛门铁克买下了一款杀毒产品,并把它改名为诺顿杀毒软件(Norton Antivirus)。分析计算机病毒的团队需要一位实习生,他在没有任何经验的情况下被安排了进去。

赛门铁克的职业阶梯是什么样的?你加入谷歌时,像你这样资深的人,招聘是怎么进行的?

Carey Nachenberg

Nachenberg 说,从初级工程师到 Staff,级别与谷歌和 Meta 的大致对应。在高层则不同,赛门铁克有杰出工程师和 Fellow。谷歌告诉他,在不知道他在那里的表现之前,无法聘用一位 Fellow。他实际上被降为首席工程师,8 级,而他说,这在赛门铁克本来大约相当于 10 级和一个副总裁的角色。

你的招聘流程是针对你的资历量身定制的吗?
Carey Nachenberg

是的。Nachenberg 没有申请。赛门铁克的一位前首席运营官,已经转到 Google X,那里正在启动一个隐秘项目,他邀请 Nachenberg 与团队聊聊。他在威尼斯(Venice)与创始人们见了面,然后一天里进行了大约八场面试。大约六周后,他拿到了录用通知。

那一轮面试里,有没有 LeetCode 式的编码,还是主要是行为面试?
Carey Nachenberg

Nachenberg 不记得有任何编码问题,并认为有一道设计题。大多数问题都是领导力风格的:他怎样解决一个难题,怎样处理冲突,以及这个领域将走向何方。有几场实际上是关于 Google X 认为世界将走向何方的推销。他相信团队已经认为他很合适,所以这一天主要是走过场,并让他认可这个角色。

最高级别的晋升是什么样子的?

Carey Nachenberg

Nachenberg 说,在赛门铁克,直到高级技术总监的晋升,都在组织内部处理,只要有一位副总裁或高级副总裁同意。杰出工程师和 Fellow,则交给由首席技术官领导的一个核心技术人员小组。该小组每季度开会,审阅申请,并让候选人展示自己的工作。目的是在整家公司里保持一致的标准,而不是一个部门一个部门地各行其是。

你晋升为 Fellow,是一个重大的时刻,还是你预期之中的事?
Carey Nachenberg

Nachenberg 跳过了那个流程。在赛门铁克与 Veritas 合并之后,后者已经有 Fellow 这个角色,公司需要确定级别。他在不知情的情况下被提名,他的作品集被转交给评估者,然后有人告诉他,他是 Fellow 了。

在通往 Fellow 的路上,是什么让你与其他工程师不同?

Carey Nachenberg

Nachenberg 把功劳归于有影响力的项目,而不总是技术上最难的项目。他寻找空缺:公司需要、却没有人站出来做的事情。赛门铁克在他早期,用他的话说是“狂野西部”,没有敏捷流程,也没有工程师测试自己的代码。他从未被交付一个框死的项目。因为作为实习生,他就已经了解这项技术,所以被告知自己去弄清楚要做什么并去做,他说,自己选择了那些能够落地、发布并转入产品的项目。

你是怎样培养对项目的品位的?
Carey Nachenberg

Nachenberg 说,他寻找的是巨大的业务影响,以及空缺。他的例子是多态病毒,它们会把自己变异成数量庞大的变种。团队手写汇编来抓住每一个变种,这个过程要花六个月,因为产品一年发布两次。而新的变种第二天就出现了。他看到了需要更快响应的需求,指出这类威胁无法靠搜索字符串找到,于是选定了这个问题。它成了他的硕士论文,然后又成了一个产品功能。

你的职业生涯,是一连串自己选择的副业项目吗?
Carey Nachenberg

部分是。Nachenberg 说,大概有六七次,他发现了公司的一个需求,并花了六周到五个月,做原型和与工程师交谈。随后,他职业生涯的大约 80%,是在这些系统上做渐进式的工作,比如帮助把技术转移到产品里、修 bug 和改进它们。

是什么让你在赛门铁克待了这么久?

Carey Nachenberg

Nachenberg 说,老实讲,是冒名顶替综合征。在赛门铁克,他觉得有安全感,因为在那里很出名。他担心自己的成功,来自在那家公司里长大,并且担心自己可能不足以去谷歌或 Meta。他留下来,是因为舒服,而且他抱怨很多。临近结束时,他不开心,因为资深的岗位带来更多的会议、更少的构建,他称之为“一大堆废话”(BS)。

是什么帮助你克服了它?
Carey Nachenberg

一股来自外部的拉力。Google X 的一个人说想面试他。Nachenberg 确信自己会失败,但还是去了。他说,自己需要那一推,才敢抓住这个机会,而结果不错。

你怎样避开资深级别上的那些“废话”?
Carey Nachenberg

Nachenberg 说,有些资深的人保持亲自动手,但作为个人贡献者的副总裁,他发现战略会议是不可避免的。它们带来许多意见、辩论和权力姿态。他最好的时刻,是自己选项目,并有两个月没人问他在做什么。他举了一个例子:他写了赛门铁克的技术战略,CEO 同意了,但产品团队随后因为收入目标而提出反对。他称这些辩论令人精疲力竭。

Google X 是什么样的?有文化上的差异吗?

Carey Nachenberg

Nachenberg 说,比预期的少。主要的差别是人的素质,他们非常聪明,而赛门铁克缺乏工程文化,至少直到大约 2016 年才开始形成。相同的是,许多人缺乏项目品位。他们很聪明,但他怀疑他们是否选了能落地或可行的项目。他说,任何公司的工程师都是如此。

为什么一位非常聪明的同事仍然处在较低的级别?
Carey Nachenberg

Nachenberg 描述了一位他认为极其聪明的同事,却仍在 L4。他说,原因是沟通薄弱,做的是自己感兴趣、但几乎没有业务影响的工作,以及显然不佳的协作。他的结论是,光靠智力并不保证成功。

如果智力没那么重要,那更重要的是什么?
Carey Nachenberg

Nachenberg 说,需要一个基线,而大多数谷歌工程师都具备。他不认为自己特别聪明,并说自己学得慢。除了那个基线,他点出了沟通和协作,包括在不告诉别人他们错了的情况下,从人们那里得到你需要的东西。他承认自己没有精通这一点,并在这上面失败过。他说,最大的一项,是专注于结果:工程师自然地关注自己的结果,比如让某样东西快 10%,而公司或另一支团队有不同的结果。找出这些结果、它们背后的指标,以及最重要的少数几项要求,他说,这比智力能带你走得远得多。

在业界,职业成长是以能力为本的吗?
Carey Nachenberg

总的来说,是的,按 Nachenberg 的经验。他见过一些例外,高级副总裁主要为了留住某个人而推动晋升,他说这会损害标准。他参加的委员会,会权衡工作的复杂性和影响、沟通和专利。他还发现谷歌的讨论审慎而公平。在他看来,资深级别需要全面发展,或者至少在某些方面非常强。

你最终为什么离开了谷歌?

Carey Nachenberg

Nachenberg 再次提到冒名顶替综合征,另外还有想去创业公司工作,而不是一个更慢、监管更多的环境。他说,有一些他本可以接手的大问题,比如把 Chronicle 昂贵的存储设计,从 Spanner 这样的重型系统上迁走。他缺乏尝试的信心。资深级别的期望很高,而在谷歌,他觉得,如果一次持续几个月的尝试没有落地,领导层不会支持他。在赛门铁克,他的经理们认识他多年,给了他放手去做的空间。他也得到过其他角色的邀请,比如在加密数据上计算的安全数据库。他想要一些新东西,而在 X 期间与 Waymo 的人交谈,让他想去做自动驾驶汽车。

你有没有考虑过要求降级,以减轻压力?
Carey Nachenberg

在赛门铁克没有,在那里他可以做自己喜欢的事。他在谷歌想过,但得出结论,这没有帮助。他说,即使在较低的级别,如果他消失几个月去思考(这正是他最成功的方式),也有他可能无法满足的期望。他称自己是个随性的原型制作者,不喜欢测试每一种边界情况。谷歌期望这一点,所以他将不得不去做自己不喜欢的事,才能做自己想做的事。

你是怎样成为加州大学洛杉矶分校的讲师的?你怎样让讲课引人入胜?

Carey Nachenberg

Nachenberg 在 1990 到 1991 年前后,在 Learning Tree 教过编程,包括教 DeVry 的员工。他还在大学本科时,在加州大学洛杉矶分校办过晚间的白板讲解。多年后,赛门铁克一位兼职在加州大学洛杉矶分校授课的同事,让他去申请。Nachenberg 以为,自己没有博士学位,就被排除在外了。几个月没有消息之后,当一位讲师退出时,加州大学洛杉矶分校慌忙打来电话,他只有两周时间,规划一门本科课程。那大约是 25 年前。

讲课时,他以班上大约第 30 到 50 百分位的学生为设计对象,并以自己(一个学得慢的人)为模型。他问自己,第一次接触一个主题时想知道什么,以及学生可能在哪些方面模糊。他说,他花了好几天时间,与 ChatGPT o3 一起简化概念,然后用 Gemini 核对并比较差异,因为他发现好的在线材料稀少,教科书也很差。他还希望学生喜欢这门课,所以加入了幽默、色彩和惊喜。

你有关于公开演讲的建议吗?
Carey Nachenberg

练习,Nachenberg 说。他发现,自己不用的话,一年之内演讲水平就会下降。他建议即使没有任何要求,也在午餐室里就一个项目做一次分享。人们会欣赏它,而你也会进步。他回忆起在 X 内部私下做了他关于 Stuxnet 和恶意软件的演讲,之后同事们说,他是他们见过的最聪明的人之一。他说,人们把良好的沟通,解读为智力,而它会带来功劳和机会。

回头看,有什么你后悔的事或会改变的事吗?

Carey Nachenberg

Nachenberg 说,他本该更早离开赛门铁克。他的规则是,在你还在学习、培养技能、并觉得可以偶尔失败的时候留下。他在赛门铁克失去了这些,但留下来,是因为缺乏信心,而不是因为工作吸引他。他仍然看重待五年甚至十年,只要你在学习。换团队可以保持良好的声誉和组织内的知识。待得太久,会让你陈旧、安逸。

他还指出了离开的代价。在赛门铁克,他广为人知,因为 Stuxnet 而上过电视和主要报纸。在谷歌,没有人在乎他以前做过什么,所以他不得不重建信任和声誉,这很有压力。

那“金手铐”呢,也就是你赚得不错,却不再学习?
Carey Nachenberg

Nachenberg 绝不会说要放弃一份好的待遇。人们需要不同数额的钱才觉得安全,而且人们要平衡好几样东西。在一段时间里,舒适而收入丰厚,也许没问题。但对于一个追求乐趣和难题的人来说,他认为在那种状态里待太久,可能变得有毒。

如果你能在从加州大学洛杉矶分校毕业时给自己建议,你会说什么?

Carey Nachenberg

Nachenberg 说,没有单一的一条。第一,不要让对失败的恐惧拖住你。你可能比你以为的能做得更多,他说,如果他听从了这一点,也许会有更丰富的职业生涯。第二,专注于结果:谁会使用这项工作,他们在乎什么,以及他们怎样衡量成功。问题往往需要一个小小的方块,而不是一个完美的圆形东西。

他说,他曾向资深领导者展示一项技术,他们并不在乎算法是怎么运作的。他们想知道它是不是更快,快多少,以及对收入或人头数意味着什么。要说他们需要的,而不是你自己需要的。第三,找一位信任你、给你放手空间的好经理,因为一位经理,可以成就或毁掉你的职业和快乐。第四,学会协作,不要假定自己是对的、并告诉别人他们错了。他说,自己仍然在这一点上挣扎。

关于这份资料

GoogleX 首席科学家:冒名顶替综合征、职业成长、项目品位 | Carey Nachenberg

本节是对原始文字稿的转述。自动生成的字幕可能有错误。

观看原视频 ↗

已省略开场的预告片段剪辑和主持人的介绍(00:00.56 至 00:42.16);核心说法出现在概览和后面几轮中。

全程省略了简短的应答附和和重复重述的问题。

已省略结尾的感谢,以及请观众订阅、评价和推荐嘉宾的话(01:11:02.56 至 01:11:25.44)。主持人声明没有赞助。

这一精选章节保留了来源中关于职场、领导力和职业的段落。技术性的和无关的讨论已省略。

我的笔记在可使用本地存储时,笔记会保存在此浏览器中。
第 38 节 · 访谈

在看清职责的前提下选择 Staff 岗位

Ricky 讲解了一条建立在主人翁责任和可衡量影响力之上的、谷歌的快速晋升路径,同时质疑更快的晋升是否总能改善日常生活。

整体的晋升和薪酬时间线是怎样的?

Ricky

Ricky 2017 年在实习之后,以应届毕业生的身份加入谷歌。他说,年薪大约是 180,000 美元,外加签约奖金,然后一年半之后晋升到 L4,约 250,000 美元,再过一年半到 L5,约 350,000 美元,三年后到 L6,约 500,000–520,000 美元。这些金额,是他自己情况的回顾性数字,包括股权的影响,并不是当前薪酬的保证。

他把功劳归于幸运的团队匹配,并认为三年内达到资深,比他观察到的典型路径要快。Staff 花的时间更长,涉及另一种责任。这个职业故事,结合了他有意识的工作,和他无法控制的机会。

从初级到中级的晋升过程中发生了什么?

Ricky

在 Ricky 描述的评审体系里,评级每六个月一次。他起初是符合期望,然后是超出期望,并在晋升的同时,得到了更强的评级。他相信自己的影响力和独立性,已经与下一个级别相符,但担心任期短,可能对他不利。他的经理支持这次尝试。

应该由谁来发起晋升的讨论?
Ricky

他建议由员工主动,并辅以与经理持续的对话。他定期问,自己目前的项目是否展现了下一个级别,并就时间和职责范围对齐期望。向上管理,让加速的路径更有意识;它并不是一次没有讨论就到来的晋升。

是什么行为让第一次晋升成为可能?

Ricky

独立性:以更少的手把手指导,完成项目,并找到办法自己扫清阻碍。这并不意味着拒绝向任何人求助。它意味着学到足够多,让项目往前走,而不要求经理替他解决每一个障碍。

你是怎样变得更善于自己扫清阻碍的?
Ricky

他有意地提问,尽管担心自己显得无能。他的另一种做法更糟:保持沉默,什么也没学到,也没能交付。同事们通常希望他成功。向懂行的工程师请教,帮助他学会自己做这项工作。

他们建议在提问之前真正尝试,但不要一动不动地待上半天或更久。反复问同一个问题,或者反复收到同样的代码评审反馈却没有改进,不同于健康的学习。期望的模式,是随着时间推移,越来越独立,重复的错误越来越少。

朝着资深努力时,发生了什么变化?

Ricky

他成了一个明确领域的负责人和首选人选,学习它的代码,并在那里交付了几个有影响力的项目。主人翁责任,意味着能够回答问题并推进这个领域,而不仅仅是交付更多孤立的改动。

你是通过一个明确的晋升计划来选择这个领域的吗?
Ricky

起初,他只是觉得广告体验的某一部分在视觉上不够吸引人,而且有改进的意思。这些改进也能产生可衡量的影响。反复的项目和探索,逐渐让他成了负责人,而不是经理一开始就分配一个完整的资深级别的使命。

你需要为那份职责范围而竞争吗?
Ricky

他的团队允许工程师自己选择许多项目。他寻找有意义的影响、和足以拓展自己技能的挑战的工作。他承认,经理也可能分配有用的工作,但只依赖被分配的任务,不一定能提供他想要的成长所需的职责范围。

你是怎样识别出真正处于下一个级别的项目的?

Ricky

他研究队友成功的资深晋升,了解所期望的职责范围和复杂度,产生类似的想法,并请经理来校准。在晋升前大约一年,他提出了一份路线图,并问完成它是否能达到标准。

这给了经理一些具体的东西来评估,并让成长计划变得明确。这份路线图,是在 L4 之后大约六个月的探索之后产生的,而不是在那次晋升的当天立刻产生的。

你是什么时候整理出那份路线图的?
Ricky

中级晋升之后,他尝试了不同的项目,并了解了自己对什么感兴趣。然后,他自己写了一份一年的计划,并争取经理的认同。探索在更坚定的路线图之前。

当被要求做的工作无助于推进那份路线图时,你怎么做?

Ricky

他学会对那些耗费时间却无助于自己成长的不相关项目说“不”。他把这与问责区分开来:他造成的 bug,或者他所负责领域里的 bug,仍然需要处理。如果一项新的请求,其影响和职责范围比现有的计划更强,也值得接受。

一个人怎样说“不”,又不伤害关系?
Ricky

对于外部的请求,他会把取舍带给自己的经理,并弄清为什么分配给他。对于经理自己的请求,他会问它是否必须做,并解释相互竞争的项目的影响和成长价值。这是对优先级的讨论,而不是无视义务的许可。

他相信,经理应当尝试把重要的工作,与下属的成长和兴趣匹配起来。他自己早期发现并交付项目的记录,赢得了信任,尽管经理仍然指导哪些想法是有用的。

你是怎样学会判断哪些想法有影响力的?

Ricky

首先要界定组织看重什么。在他的广告领域,收入是核心指标,同时还要看这项工作是否帮助了用户、广告主和发布商。其他团队可能在乎活跃用户或产品互动。运行实验,揭示了改进可以推动相关结果的空缺。

他发现,在关于项目价值的争论里,可衡量的结果很有说服力。他强调“数字说了算”,这属于他在一个用收入衡量的领域里的经验;不应该把它当作每一项工程贡献都能被一个数字捕捉的论断。

资深的晋升本身感觉如何?

Ricky

它比第一次晋升更感到不确定。Ricky 认为自己领先于他周围通常观察到的时间点,并担心委员会可能想要更长的、下一级别工作的记录。他的经理支持提交,同时设定了现实的期望:它可能会失败。它第一次就成功了,Ricky 称这是幸运的。

成为领导者有没有成长的阵痛?

Ricky

有。把项目的想法交给初级工程师,让他对实验能否成功感到焦虑;有些没有成功。他不得不习惯拥有一个想法的组合,而不是期望每一个都行得通。相对不错的成功率、指导,以及对他人项目的积极影响,支撑了这个论证,而信心则通过练习逐渐形成。

你有没有觉得,在等 Staff 时被卡住了?

Ricky

他不是希望它来得更早,而是有时希望这个机会来得更晚。资深级别提供了更多休息和个人活动的灵活性,而更大范围的项目带来了会议和更死板的日程。他建议在断定这种交换是否值得之前,先看看身边 Staff 工程师实际的日历和工作。

Staff 是“不升即走”政策所要求的吗?
Ricky

在他所描述的谷歌背景下,资深工程师可以一直留在资深,而不被期望晋升到 Staff。对于同样的规则是否适用于中级,他不那么确定。他把 Staff 描述为一种承担更多责任的选择,而不是必须得到的成功徽章。

你的资深级别和 Staff 级别的工作,最大的差别是什么?

Ricky

在资深级别,他了解并拥有一个领域,并在其中交付项目。朝着 Staff,他挑战这个领域的边界,质疑既定的方向,并引导跨团队和职能的重要决策。有些改变,需要得到资深领导层的认同。了解一个领域,成了一个平台,用来塑造它该去往何处,而不只是在其内部有效地运作。

你是怎样找到 Staff 的锚点项目的?

Ricky

深入的熟悉,让他质疑那些已不再说得通的做法。在一个例子里,既有的用户研究支持一个结论,但产品实验却与之相矛盾。他推动了这样的证据:另一个方向可能产生更大的影响。他没有披露具体的产品决策,所以教训仍然是审视假设、调和相互冲突的证据,而不是一种可复制的广告策略。

你是怎样影响其他团队和合作伙伴的?

Ricky

他已经建立起一种善于发现有影响力的项目的声誉。他分享想法,在不试图取代别人的前提下协作,并把提案变成成功上线的项目。人际关系和反复取得的结果,让他的判断有了分量。

你之前的成果,让这件事更容易了吗?
Ricky

是的。如果项目反复失败,建立信任会更难。留在同一个组织里,让同事们能积累他工作的证据,而新招来的资深人员,则需要建立那样的记录。Ricky 对主持人称他为“冉冉升起的新星”持谨慎态度,但同意过去的成功,让他的提案更可信。

你为什么想尝试管理?

Ricky

他本来就喜欢帮助同事成长、为他们寻找项目,并看着他们成功。在他表达了这种兴趣之后,出现了一个正式的管理机会,团队也支持它。从培养他人中得到成就感,是主要的动机。

经理有没有先仔细审查你的动机?
Ricky

他不记得有那样的正式流程。他早先提出过这个愿望,而合适的机会最终出现了。年纪轻轻就当经理,有时感觉别扭。

觉得自己不够成熟,是什么意思?
Ricky

他觉得自己比周围更有经验的经理年轻,并且在音乐节上喝醉时遇到下属,遇到了一个陌生的社交界线问题。他认为那大概没什么问题,但它说明了他在担任这个角色之前,没有预料到的一些情形。

有没有之前的管理经验,或者一条结构化的准备路径?
Ricky

他没有描述过之前有正式的管理经验,并对进入这个角色之后要学的东西之多感到惊讶。谷歌有很多资源,但他曾期望有一份更结构化的指南,教人如何变得有效。先前关于非正式指导的讨论,不应被误认为他已经担任过完整的经理工作。

从个人贡献者的领导,到管理,最大的变化是什么?

Ricky

技术领导,提供了帮助人们成功的那些令人愉快的元素。正式的管理,增加了艰难的绩效反馈、写评审,以及校准的开销。同时,看到一位真正的下属被晋升,感觉格外有成就感,因为他对支持这种成长直接负责。

你后悔成为经理吗?

Ricky

他主要希望这件事发生得更晚一些。在一个有大约二十位新员工的不寻常时期,他在非正式地帮助其中许多人;成为四个人的正式经理,缩小了这份责任,也让他腾出了一些时间。尽管如此,他仍然希望多享受几年资深级别的灵活性和较低的压力。

他现在更清楚地理解了更高层级的工作意味着什么:影响力的很大一部分,是通过别人实现的,所以无论是个人贡献者还是经理,会议都会增加。朝九晚五的日历,仍然可能是高度投入的一天,在午休或去健身房上几乎没有自主权。Ryan 补充说,白天零碎的会议,把他自己的技术工作,推到了达到 Staff 之后的晚上。应当对照头衔的日常体验,来评估它的吸引力。

Staff 的晋升,与之前的申请有什么不同?

Ricky

尽管持续获得最高评级,他又一次感到不确定。从资深到 Staff,可能感觉像换工作:作为一位影响力很高的出色资深工程师,并不自动证明你为更广泛的角色做好了准备。一位支持他的经理,以及第一次提交就成功,让这个结果成为幸运。

每一次晋升都是第一次尝试就成功了吗?
Ricky

是的。在这些阶段中,他没有经历过被拒绝再重新提交的循环,并多次承认这份记录里的运气。

你能重复那条职业路径吗?还是说,运气解释了其中很大一部分?

Ricky

他受益于喜欢被分配到的团队、组织的稳定,以及能够支持他的经理。重组、不合适,或者经理缺席,都可能延迟本来很好的工作。他把“机会出现”的机缘,与“准备好去利用它”区分开来。努力对第二项有帮助;对第一项则没有完全的控制力。

有多少是能力,有多少是运气?
Ricky

他给出了一个粗略的五五开的印象,而不是衡量过的估计。他有信心,随着持续的成长和努力,自己最终会达到资深,但另一支团队,可能需要换岗和重新上手。他的速度,取决于异常好的契合。Ryan 指出,即使是更强的工程师,在一个反复动荡的组织里,也可能吃力。

为什么在谷歌待了七年?

Ricky

他定期重新评估,自己是否喜欢这份工作,以及团队是否仍然提供他想要的:成长、出差,以及足够有趣的工作。留下来是一个主动的决定,并不能证明他从没考虑过其他选择。他也承认存在幸存者偏差:没有得到可比的成长或契合的人,可能有充分的理由离开。

Ryan 描述了留在一个健康环境里的累积优势:人际关系、代码知识和组织背景,可以从一个领域的专长,扩展到许多个领域。这种势头,可以带来异常快速的成长,而换雇主则可以提供其他好处。他们并不把这个选择,简化为一条关于跳槽的普遍规则。

你会给刚毕业的自己什么建议?

Ricky

更信任自己的判断,更早地尝试突破边界的想法。焦虑让他推迟了后来成功推行的想法。他相信,更早的信心,可以减少压力,并带来更多实验,尽管他的信心是通过结果和良好的反馈,逐渐形成的。

这种冒名顶替的感觉,是关于技术能力的吗?
Ricky

他担心自己是因为性格、而不是能力被录用的,因为他的面试和实习没有让人感觉出色。在较低的级别,他还缺少一种判断自己表现的办法。一再被告知他做得不错,并没有回答他内心的问题:这意味着勉强及格,还是表现出色。成功的项目和协作,最终提供了更有说服力的证据。

关于这份资料

28 岁的谷歌 Staff 工程师揭秘他的晋升之路

本节是对原始文字稿的转述。自动生成的字幕可能有错误。

观看原视频 ↗

00:00–00:41 的开场预告片,只通过后面完整的讨论来概括。

已省略 00:40:28–00:41:57 的结尾社交链接、频道推广、制作反馈和告别。

我的笔记在可使用本地存储时,笔记会保存在此浏览器中。
第 39 节 · 访谈

David Fowler:主动性、授权与资深晋升

关于主动性、指导、通过他人扩大规模、重组/团队评估,以及资深晋升的精选段落。

微软的级别体系是怎样运作的?级别从 59 往上,每个头衔大约对应两个级别。

David Fowler

Fowler 说,他无法解释为什么编号从 59 开始,并猜测较低的级别涵盖非工程类岗位。大学毕业生通常从 59 或 60 起步,取决于实习了几次、表现得如何。Fowler 把入门级,等同于其他公司的 SDE I。

一个头衔对应大约两个级别的范围,所以头衔并不能说明一个人处于哪个级别。首席(Principal)是个例外,跨三个级别,Fowler 说这个范围如此之广,以至于一位从资深晋升来的新人,和一位任职已久的首席,共用同一个头衔。首席之上是合伙人(partner)级别,Fowler 说有三个档位,然后是技术院士(technical fellow)。

在 NuGet 之后,你的绩效评估是什么样的?当时你还不是资深工程师。

David Fowler

Fowler 的第一次晋升,是在加入大约八个月之后,在 NuGet 之前。因为他实习过两次,所以带着大量的微软经验入职。在被分配的工作之外,他读论坛,了解对微软产品的反馈,构建功能来回应,并把结果展示给产品经理、架构师和团队。回头看,他说这些人成了赞助人,并让他处在构建 NuGet 的位置上。

Fowler 称自己是“先写代码,后问问题”的人,并说代码就是货币:一个能运行的示例,胜过一份 PowerPoint 或一份文档。一位总监曾告诉他,会把人派去找 David 聊,因为 David 有能量。

像 NuGet 这样的事情带来的持久影响,会延续到之后的评估里吗?
David Fowler

Fowler 说,更大的晋升,感觉像是累积的历史加上当前的成功。影响力在制度上本来是针对这一年的,而跨越一个档位的边界,比如到资深或首席,需要的比在一个档位内移动更多。他不确定微软是否有官方的“延迟影响力”规则,但说它在较高的首席级别显然很重要,那里的问题是,他是否在十年里展现了反复的影响。

当动力完全来自自己时,别人怎样在大公司里开始这样的项目?

David Fowler

Fowler 一句话的回答是:你可以直接去做,人们现在称之为主动性(agency)。他不建议把每个夜晚和周末都花在项目上,但早期,他的目标是在软件工程上变得更好,而途径,就是构建一切可能的东西:游戏、网站、多种软件。

第二个习惯,是在团队里找一位他想要其职业生涯的人。Fowler 把自己依附在架构师 David Ebbo 身上,后者的角色横跨几个领域,并具有前瞻性,他模仿他的行为,并在一段时间里,替 Ebbo 的想法编写代码,这变成了独立去做。然后,他构建原型,并展示给一位倡导者,也就是架构师或产品经理,问它们是否有用。他说,他会构建一千样东西,也许其中一样会命中。

所以在大公司里的主动性,来自精力、兼职,以及做得比被分配的工作更多?
David Fowler

Fowler 部分同意。一旦一位工程师建立起爱构建东西的声誉,就会有更多机会到来,人们会就新工作征求他的看法。他提醒,这并不保证,但在他的情形里,这显然是真的,并且在 SignalR 之后仍在延续。

无须许可的主动性,是不是绕开了需要许可的机会所要求的信誉的一种方式?
David Fowler

主持人这样表述,而这场交流补充说,更强的过往记录,能赢得更多无须许可的空间,因为每一次成功,都会换来更多失败的余地。主持人把快速成长的工程师,描述为被人员管理层放手去做有风险项目的、受信任的人,而一位难以满足期望的工程师,则得到被指定的工作和监督。Fowler 表示同意。

是什么促成了晋升首席?

David Fowler

Fowler 回忆起一位老板,在他升到资深时说,晋升会放慢。结果,晋升首席的那一跃很大。在 SignalR 之外,他构建了 Kudu,这是一个早期的 Azure 工具,让人们可以像 Heroku 和 AppHarbor 那样,推送代码并立即部署应用。然后,一位总监把他拉进了一个新项目,后来成了跨平台的 .NET Core。

Fowler 当时是资深工程师,他和另一位首席工程师,被选为架构师,负责大约 30 位工程师,拥有充分的自主权,他称这既令人惊叹又令人害怕。起初,他试图对每一处改动做代码评审,一年之内就累垮了,不得不学会信任别人,并把紧急与不紧急区分开来。同一年,他有了第一个孩子,并被晋升为首席。

出于必要,你是怎样让自己“扩展”出去的,才没有因为给这么多工程师当架构师而累垮?
David Fowler

Fowler 的第一批教训,是在 SignalR 上学到的,那是一个七八个人的团队,包括两位新人。在那之前,他从未为了培养某个人而授权,并假定自己做得更快。当他看到,投资于聪明的新人,即使早期的任务耗时更长,也会放大影响力时,情况就翻转了。他把从资深到首席的飞跃,称为通过别人、而不是自己做得更多,也是许多工程师停滞不前的地方,因为他们更喜欢独自写代码。

在 .NET Core 上,他说团队从零开始重建了包管理器、运行时和库,他不再把一切都当作同样紧急,并让人们失败。他说,那些让一位工程师成为资深的特质,比如控制欲强、坚持只有一种方式,在扩展到一千位工程师时反而有害。解决办法是通过一对一和以身作则,去激励别人,并变得以结果为导向。

在微软,架构师这个角色意味着什么?

David Fowler

Fowler 说,它是一个半正式的角色,向首席的中间档位开放。他刚加入时,看到了一位首席软件架构师,并决定那就是他想要的角色。他把它描述为广度胜过深度:监督整个系统的设计。顶层的其他原型,包括一位构建了大量代码的超级程序员,深度的专家,比如一位研究 .NET 垃圾回收器的顶尖垃圾回收专家,以及监督一个影响巨大的产品领域的人。

作为 ASP.NET Core 的架构师,他监督 Web 框架、Web 服务器,以及包的发布方式,审核那些可能持续 20 年的决定。他之前没有做过这个,是通过跟随做过的导师学来的。

作为杰出工程师,你花在写代码上的时间占比发生了怎样的变化?

David Fowler

Fowler 说,这个角色也许不再奖励每天写代码,但出于私心,他每天都写,并且目前在一个涉及 Aspire 的项目上,提交了很多拉取请求。他不想成为一个不了解代码、只下达指示然后消失的架构师。他想成为团队里的同伴,面对构建和测试。

如果你不再写代码,只做领导,你的绩效评估看起来还会没问题吗?
David Fowler

Fowler 认为会。杰出工程师是按全组织或全公司范围的影响力来衡量的,所以工作的一部分,是保持架构的健全、向前看、公开发言、激励和指导他人。他做了四场关于用 AI 做软件工程的内部演讲,起因是有人看到他使用 AI 之后询问。他认为这样的演讲很重要,因为有信誉的工程师讲述他们如何工作,比一位老板下命令更有说服力。

晋升为杰出工程师的背后有什么故事?

David Fowler

Fowler 称这是他经历过的最疯狂的晋升。杰出工程师是合伙人级别里的最后一个级别,它通过一个正式的流程,而不是年度评估:由一组技术领导者对候选人进行同行评审。Python 的创造者 Guido van Rossum 与他处于同一级别,而 Fowler 称自己有最强烈的冒名顶替综合征。他还觉得自己对这个角色来说太年轻了,不过这并没有对他不利。

Fowler 说,早期的工作起了作用,因为这个角色需要一份作品集和过往记录,而不是一个好的年份。把他从首席晋升为合伙人的邮件,引用了 .NET Core(那时已有大约七年),他还曾作为架构师,帮助许多团队在内部采用新的 .NET。NuGet 和 SignalR,被视为他所帮助构建的东西,如何影响行业和公司的信号。他说,是院士们来决定。

你参与了那个过程吗,还是一个惊喜?
David Fowler

Fowler 在内容上帮助了他的领导层,提供了他写的论文和代码贡献,其他什么也没做。对他影响最大的,是听到其他院士说,这次晋升当之无愧,也早该如此。

现在你已经在这个级别上待了一段时间,你是否担心这个级别崇高的期望?
David Fowler

起初,Fowler 称自己是个“婴儿杰出工程师”。大约两年半到三年之后,他有信心自己能在这个级别上胜任。在第一个评审周期里,他感到有压力,要记录所有影响并告诉老板,因为这个级别正好在高管之下。他发现了一种模式:与老板交谈,并保持能见度,现在压力小了一些,不过他补充说,情况可能会变。

最后一个级别,技术院士,是什么样子的?

David Fowler

Fowler 说,处在那个级别的人是各有不同路径的“独角兽”,所以有用的做法是寻找影响力的替代指标,而不是照搬谁。一位院士需要有全行业范围的影响力。他的例子:Anders Hejlsberg,他部门里的人都崇拜他,做出了 Turbo Pascal、Delphi、C# 和 TypeScript。Dave Cutler,Fowler 说他构建了 Windows NT、Azure 操作系统和 Xbox 虚拟机监控程序,是唯一的资深技术院士,Fowler 说这个头衔就是他自己的。

Fowler 补充说,微软最近聘请了一位发明了 RSS 的院士,并说一位队友曾经是蒂姆·伯纳斯-李(Tim Berners-Lee)的实习生,并且名列 HTTP 规范。这些是 Fowler 自己的说法,没有对照其他来源核实。

那位导师说了什么,让你产生了不同?

David Fowler

Fowler 说,许多职业建议很含糊,比如告诉人去做一个超有影响力的项目,而 Snover 则很直接。他建议去找做决定的人,包括 CTO,问这个角色需要什么。Fowler 觉得这很刺耳,因为没有人曾告诉他去问源头,但非常有帮助,因为它让他看到自己该做什么、不该做什么。

第二位导师,在 Fowler 收到经理和同事给他的一份反馈材料之后提供了帮助,上面列出了优势、弱点和压力下的行为。他的第一反应,是修补每一个弱点。导师说,要放大他的长处,因为没有人是因为平庸而被晋升到这些角色的。大约五年前,这改变了 Fowler 的工作方式。他现在围绕自己的短板来组建团队:他不安排会议,也不负责每一份发布清单,并确保有擅长这个的人来做。主持人把它比作幂律,Fowler 表示同意。

你敬佩哪些工程师?是什么让他们令人印象深刻?

David Fowler

Fowler 的团队里,有大约另外五位合伙人级别的工程师,在公司都超过 20 年,每一位都因不同的原因而出色:一位垃圾回收器专家,一位他说是真正的“10 倍工程师”的超级程序员,一位似乎对 C、编译器和操作系统里晦涩细节无所不知的人,还有其他人,对该构建什么有敏锐的眼光。

在 C# 语言设计评审团队里,Fowler 与 Hejlsberg 坐在一起,他说 Hejlsberg 的反馈从不居高临下,并始终务实,尽管 Hejlsberg 提交的代码,看起来像是在发明没人见过的理论。Fowler 还提到 Azure 的 CTO Mark Russinovich,他仍然写代码,最近还发邮件,谈到他写的一项性能改进。当资深工程师仍然写代码时,Fowler 会受到鼓舞。

他警告了会议的陷阱。成为合伙人之后,他整天开会,感到难过。一位导师告诉他,个人贡献者需要时间来思考和构建,并要每周至少留出八个小时。他花了一阵子,才学会拒绝会议。

你在推特上说,当被晋升为资深工程师时,你觉得别人更聪明,应该排在你前面。你从中得到了什么?

David Fowler

Fowler 担心自己被快速晋升得太早。他的团队里有四位来自麻省理工学院的人和两位来自卡内基梅隆大学的人,而他上的是佛罗里达理工学院,所以他靠非常努力地工作,来应对冒名顶替综合征。

这次晋升让他认识到,影响力不在于是否最聪明,而在于工作是否处于业务的最前沿,就像 NuGet 和 SignalR 那样。他一直觉得自己需要在某些技术上更深入,现在则会问,这是为了你自己,还是为了你的职业。他说,一位工程师不需要知道 TCP/IP 是怎么运作的,才被晋升为资深。这帮助他把“聪明”与“产生影响”分开。

同事们为他高兴,至少表面上是这样。当他问起其他快速晋升的人时,被告知每个人都知道那会发生,他补充说,你永远不知道自己属于哪一类。

你的一条大公司建议,是在换岗之前先问问上一次重组是什么时候。这背后的想法是什么?

David Fowler

Fowler 称大公司是机器,并回忆起听说过(也许是半开玩笑)高管们靠重组来表现动作。重组总是要来或刚刚发生,所以要了解上一次:领导是谁,是什么触发了它,组织将走向何方。他说,因为微软太大了,每一个新的组织,实际上都是一家新公司。那条推文大概是在一位连续被重组好几次的被指导者之后写的,或者是发生在他自己身上的事。

这是关于读懂一次重组对你的未来意味着什么吗?
David Fowler

是的。Fowler 还转述了他最近听到的建议:换工作时,要想想你讨厌什么,而不是你喜欢什么,因为你喜欢的东西会很容易得到。讨厌开放式办公室的人,不应该加入采用开放式座位的公司。

自从实习以来,是什么让你在微软待了这么久?

David Fowler

Fowler 把自己描述为千禧一代的一员,打破了婴儿潮一代父母“永远待在一个地方”的习惯,并说许多跳槽的朋友因此得到了不错的报酬。他最接近离开的一次,是他在资深级别时,一位已去了上市前的 Twitter 的老板,请他去那里面试。他面试了 Twitter 和 GitHub,两份录用通知都拿到了,经过反复考虑,留了下来。他补充说,Twitter 上市的那天早上,立刻带来了一种持续约一周的沮丧。

微软的还价不错,但不是主要原因。一位执行副总裁告诉他,他五年后会成为杰出工程师,Fowler 说这说得太满了。更重要的是,他构建了有影响力的、无须许可的东西,也获得了自主权,而离开意味着从头开始。人们忽略了自己已经建立起来的人脉和过往记录,而人和薪酬同样重要:不只是好的工程师,还有好相处的人。

他留下来,还因为大约每两年,他都能被设计成去做一件新的事,这让他不觉得需要去别处。

如果微软的一位被指导者,手里有一份来自 OpenAI 这样的公司、上市前的录用通知,你会说留还是走?
David Fowler

Fowler 会告诉他们走。他回忆起一位被指导者,手里有另一家公司的录用通知,当时所在的位置无法做出最好的工作,他让这位被指导者离开,无论是否有还价。他说,如果自己处在同样的情形,也许就走了。

你在推特上说,职业生涯中应该有一次,在一个项目上待得足够久,去看到你的决定的长期影响。是什么促使你这么说的?
David Fowler

Fowler 的职业生涯,一直是做一件事,然后转向别处,仍然帮助那些接手的人。.NET Core 大约十年,是他做过的任何事情中最长的。看到最初两年里做出的决定,无论好坏,所产生的影响,给了他新的视角。他开玩笑说,在一个十年的项目里,每一个你推迟的小问题,都会变成大问题,因为总有人会撞上所有这些问题。

他不确定在一个项目上待二十年,是否对职业成长有好处,但说它会教你认识自己选择的后果,以及下一个版本里你会修什么。主持人想知道,如果每个项目在这个人离开之后都衰落,那么一连串越来越高的跳跃,对判断力有什么作用。Fowler 并不责怪任何一条路径,两种他都做过。他说不出成功项目的构成要素,但能分辨出自己是否身处其中,就像一个在经验之上微调出来的内部模型。

当萨提亚·纳德拉(Satya Nadella)成为 CEO 时,你有没有注意到内部文化发生了变化?

David Fowler

Fowler 说,这种变化是巨大的,但很难看出从史蒂夫·鲍尔默(Steve Ballmer)时代跳变过来的那一步,因为他亲身经历了,而且是逐渐发生的。一个重要的方面是,从历史上看,两支团队可以朝着同一个终态努力,其中一支会赢。在纳德拉治下,重点转向了协作,而不是抢先。他看到有的团队,在还不知道问题是什么之前,就在构建解决方案,不过不是在他自己的团队里。

他描述了会议、邮件和对远程友好度方面的变化。他记得,看到有人在 Teams 会议里举手,感到惊讶,因为他在一种“等一个停顿,然后开口”的文化里长大。早期的会议,常常是“薪酬最高的人的意见说了算”,一位大声的资深者,可能让别人觉得不安全,不敢发言。职业早期,他见过人们互相叫喊,并想知道自己是否也得喊。现在,领导者以身作则,比如邀请安静的人分享他们的观点。

协作也成了评审的一部分:回避其他团队工作的、或者克隆它的工程师,会被扣分。主持人把这总结为由绩效激励和自上而下的信息驱动的变化,而 Fowler 补充了领导者以身作则的行为。主持人回忆起 XKCD 的那幅漫画,把微软画成人们互相用枪指着对方。Fowler 说,真正的转变,是从“用枪指着”变成了冷漠,团队互不干涉,然后再到被奖励的协作。

如果你能在大学毕业、进入这个行业时给自己建议,你会说什么?

David Fowler

Fowler 的回答是谈判薪水。他在接第一份工作时,不知道这是可能的。应届毕业生应该拿到多份录用通知,并把数字往上推。来自巴巴多斯(Barbados)、对自己见过的最高薪水心怀感激的他,看到朋友们拒绝录用通知,并说要先看看谷歌或 Facebook,感到震惊。此后他参加过实习生的招聘委员会,发现看到一位候选人很好地把录用条件往上提,令人印象深刻。

关于这份资料

从实习生到微软杰出工程师的 11 次晋升(职业故事)

本节是对原始文字稿的转述。自动生成的字幕可能有错误。

观看原视频 ↗

开场的预告片段和这一期的预告片,包括后面访谈里重复出现的预览话语,从 00:00.16 到大约 00:50,在概览和第一个问题中只呈现一次。

已省略 1:31:24.40 至 1:31:59.12 的嘉宾联系账号和社交媒体平台。

已省略 1:32:00.40 至结尾的播客片尾,包括评价和支持请求,以及征集资深工程师嘉宾建议的号召。

全程省略了简短的应答附和和重复重述的问题。

这一精选章节保留了来源中关于职场、领导力和职业的段落。技术性的和无关的讨论已省略。

我的笔记在可使用本地存储时,笔记会保存在此浏览器中。
第 40 节 · 访谈

扩大主人翁责任,同时不失去工程师的本色

Simon 用三年升到 Staff 工程,展示了项目的主人翁责任、指导、授权、沟通与角色适配是如何相互作用的。

是什么样的工作和团队背景,支撑了你异乎寻常的快速成长?

Simon

Simon 与同一支团队和同一位经理共事了大约五年半。在他对 Meta 的经验里,这种连续性并不寻常,但团队的职责发生了很大的变化。它做的是广告支付,起初改进支付体验和收入,然后支持一次大型的基础设施迁移,后来又回到产品工作。

产品背景很重要。收入提供了一个相对直接的影响力衡量,而当地的行为,则创造了具体要解决的问题:比如在泰国,人们通过 Messenger 购买,并交换银行小票作为付款凭证。所以他的职业故事,结合了组织上的连续性,与不断变化的技术和产品职责范围,而不是多年重复同一份工作。

你是怎样在入职的第一个半年里,赢得 IC3 到 IC4 的晋升的?

Simon

他之前在 Meta 的实习,降低了他学习定制内部工具的曲线。他估计,对 Phabricator 和任务系统等工具的熟悉,节省了四到八周。在全职加入之前,他还通过小项目探索过各种技术,所以新兵训练营的任务更容易,他还能帮助其他新人。

他是一支新的广告支付团队里的第二位工程师。这让他有了大量接触技术经理和有影响力项目的机会。Simon 说,他交付的项目,产生的收入,超过了团队半年收入目标的三倍。行为上的区别,在于对完整项目的主人翁责任:完成任务,寻找下一个相关的机会,调查令人失望的结果,把工作推到结论,同时在需要时求助。据他讲述,晋升是随着已经展现出的下一级别的行为而来的,而不是靠有前景的潜力。

入职之前,什么准备真正有用?

小型的 React 项目,以及对不同技术做什么的熟悉,比试图背诵无法获得的内部文档更有用。他把工程师描述为模式匹配者:比如有 TypeScript 的经验,会让学习 Meta 的 Flow 更容易,尽管两者并不相同。探索给了他足够的词汇和例子,让他能够迅速认出新工具。

在另一个团队的实习,仍然有帮助吗?

有。团队不同,但内部工具和落地代码的工作流程是通用的。实习并没有消除学习产品领域的需要;它去掉的,是上手时的摩擦。

为什么加入一支很小的产品团队?技术上的指导来自哪里?

Simon

他原本预期会加入一支基础设施团队,因为 C++ 基础设施是他的兴趣,也是他实习的背景。然而在新兵训练营期间,他遇到的第一位经理,把职业成长与收入影响联系起来,并为广告支付提出了有说服力的理由。这支团队也让人觉得很友好。

这位经理最近刚从 IC6 工程师转为管理,既能指导技术决策,也能指导产品实验。Simon 在第一个半年里做了 20 个实验,而整个更大的组织大约做了 50 个。他把这种速度的很大一部分,归功于直接的、有技术依据的辅导。

为什么你作为应届毕业生,就已经专注于影响力了?

他给自己设定了一个个人目标:三年内达到 IC5,并明确地问未来的经理们,他们怎样能支持这一点。他最终的经理,在白板上画出了一条可能的路径,并且自己也走过一条同样迅速的路径。Simon 对那位经理评价很高;这个机会并不仅仅是孤立的个人努力的结果。

是什么带来了 IC4 的第一个“重新定义期望”的评级?

Simon

Simon 说,影响力是主要的推动因素。他的项目,超过了一个已经很有雄心的、以数千万美元计的团队收入目标。招聘和带新工程师也有贡献,随着团队的壮大,他把评审扩展到了 JavaScript、Hack、Android 和 iOS。

收入结果在一开始并不明显。一位优秀的数据科学家怀疑有机会,但最初的几个实验都是中性的。在其中一个里,付款失败的通知,并没有像预期那样帮助广告主;研究这个结果,带来了更好的定向和设计,之后这个项目贡献了他那半年影响力的大约五分之一。在另一个里,一个每日运行的脚本,改变了广告主的设置,但实验日志记录失败了。他读了代码,联系了实验团队,并与数据科学家一起弄清了失败的原因。重要的模式,是持续地调查,而不是宣布第一个中性的结果为定论。

他的代码评审,也是为了培养人。这需要校准:有些反馈说他的评审过于强势,而另一些反馈则说,这些评审让同事成为更好的工程师。他并没有把有益的评审,描述成从一开始就毫不费力或完美平衡。

你预期到这些早期的评级了吗?你是怎样解读它们的?

Simon

他对评级的标尺缺乏背景。作为刚从瑞典来的新人,他没有理解限制性股票会成为薪酬的重要组成部分,而且他也没有密切预测评级。第一次晋升,是通过他的经理那个惯例才得知的:带新晋升的下属去吃晚饭。

他对后来的最高评级感到高兴,但这么早就收到出色的结果,使得很难判断这些结果有多不寻常。他之前唯一的对照,是一次评级为“大大超出”的晋升。他认识另一个拿到最高评级的人,这也让它显得没那么稀有。他的叙述提醒,不要把一个人的早期期望,当作更广泛分布的可靠指南。

最高的绩效评级,怎么会没有伴随晋升?

Simon

在 Simon 的解释里,评级主要认可的是他达成了什么,而晋升问的是他是怎样达成的。IC4 的工作,意味着推动自己的项目。IC5 需要对他人及其项目承担更广泛的责任。他在帮助新人入职,却还没有为他们的成功负责,所以非常大的个人项目影响,本身并不能证明 IC5 的角色。

他和主持人强调,评级和晋升是相关的,但并不是一一对应的。重复大量当前级别的工作,可以产生出色的评级,却让下一级别行为上的差距没有弥合。

你有没有问经理,为什么没有晋升?

他记得对这个评级足够满意,所以没有追问这个问题。这并不是一个被承诺的晋升被拒绝的叙述。

在新冠疫情期间评审暂停、以及你最终晋升 IC5 期间,发生了什么?

Simon

第一个新冠半年,用的是注释,而不是正常的评级,也不包括晋升。Simon 把自己的注释,理解为表明表现大大高于期望。他感到失望,因为他觉得自己在轨道上;当时,一个半年,占他职业生涯的很大一部分,尽管他现在认识到,职业生涯要长得多。

在下一个半年里,他又得到了一个“重新定义期望”的评级,以及从 IC4 到 IC5 的晋升。他对这个结果作了限定:评级被稍微上调,以认可上一个半年的工作,而他未经调整的结果,可能接近“大大超出”的边界。他并不声称,所有优秀的人都被自动提到了最高评级。

实质的变化,是带领一个大约四人的小组(pod),在一个没有划定范围的产品空间里,从最初的想法到完成项目。产品本身没有像期望的那样成功,但处理工作、人员,以及总监级别的升级上报,展现了更广泛的主人翁责任和沟通。所以晋升反映的是已改变的职责,即使产品结果并不完美。

为什么团队信任你在还是 IC4 时,就带领一个小组?

Simon

Simon 看到两个基础:强大的技术能力,以及对人的成长的兴趣。他在瑞典从高中起就学习计算机,并喜欢在各个平台上解决难题。他还在乎同事是否成功,帮助过人们进步,并在全面负责一个小组之前,已经做过一些冲刺规划。

他把排定工作的优先级,与拥有其结果区分开来。之前,他可以帮助规划任务,却不对项目或工程师的成功负责;带领小组的任务,增加了这份责任。

这种领导,包括职业对话吗?

对一些人,包括。对另一些人,他关注的是他们是否快乐,以及在薄弱的方面有没有成长,而不是一份正式的晋升计划。他记得,指导过大约四位 IC3 和 IC4 左右的工程师,同时管理一位实习生,并作为同级为其他几位提供支持。

你是怎样帮助一位吃力的实习生拿到转正录用的?

这位实习生,在基础的 React 或 Hack 概念,以及内部数据建模上,需要的时间,比预期的多。Simon 投入了足够的时间,帮助她度过早期的难关,之后进展有所改善。帮助她拿到转正录用,仍然是他最自豪的时刻之一。

他把在时间上的慷慨,称为创造未来产能的一种可能方式,因为得到更好支持的同事,可以更独立地做出贡献。他也承认,有些投入并没有带来改变,他可能坚持得太久了,而且帮助这位实习生,占用了他与妻子在一起的时间。这个故事支持的是用心的辅导,而不是把无限的自我牺牲,当作普遍的规则。

从 IC5 到 IC6,发生了什么变化?

Simon

他用两个半年赢得了下一次晋升。首先,一个小组变成了两个小组,大约七个人,迫使他把冲刺规划和招聘的跟进授权出去。他辅导新的小组负责人,以及做联络的同事,有时保留艰难的最初招聘对话,同时让别人在之后管理候选人。这些任务,也为接手的人创造了成长的机会。

他最初的授权有一个严重的缺口:他相信工作会成功,却没有足够好地跟踪,然后在半年快结束时,发现进度落后了。他后来学会了拉远视角,设定里程碑和目标,更早地发现停滞的项目或吃力的人,并针对具体的缺口介入,而不是等到出现危机。

他后来的职责范围,包括一支八人的团队,外加一个涉及大约 13 人的独立项目。这检验了他能否把路线图和人员领导,与深入的技术贡献结合起来。跨客户端和后端的详细评审,帮助他理解系统之间的交互,并发现不兼容的实现。在一个支付里程碑附近,他还调试了一条棘手的路径,横跨 Android 或 iOS、Instagram 的服务器、Meta 的主后端、C++ 的支付基础设施,以及一家外部的支付合作伙伴。他把功劳同时归于广泛的协调,以及深入一个困难技术问题的能力。

授权之后的问责缺口,具体是怎样修复的?

他的经理的原则是,授权并不免除对结果的责任。Simon 开始采用定期的进展对话,以及两种看待工作的视角:项目拆解和人员拆解。一个项目看起来可能很健康,因为有一个人在替另一个已经不再取得进展的人兜底;而人员视角,则揭示出需要提供支持。

他还得避免相反的错误。早先有同事请他退后一步,因为他干扰了他们去实现和成长的机会。他最终的做法,是信任同事去执行,同时通过负责的主管来核对进展并给予支持,而不是亲自控制每一个细节。

Simon 的主人翁责任发生了什么变化
阶段主要责任缺口或新做法
IC3 到 IC4把一个被分配的项目推到有用的结果调查结果,寻找下一个机会,寻求帮助
IC4 到 IC5负责一个小组的项目,并帮助其中的人成功规划一个最初不清晰的空间,并传达升级上报的情况
IC5 到 IC6通过多位主管和多支团队来交付授权,跟踪人员和项目,并有选择地介入

达到 IC6 之后,你是怎样决定是否追求管理的?

Simon

他仍然有野心,但管理带来了一个关于身份认同的顾虑:他看重做一位有能力的工程师,并担心离开技术工作多年之后,会让自己觉得没那么有用。不过这个机会,伴随着他多年的经理的支持而来。两人都已搬到伦敦,而他的经理领导着两支团队,直接下属太多。Simon 已经在技术上领导着其中一支团队。

他选择尝试管理,是因为在一位他钦佩的经理手下学习,似乎异乎寻常地有利。他希望成为一位类似的经理,而不是把这次转变,看作必然的下一次晋升。

是什么让那位经理格外有帮助?

Simon

Simon 强调的是对人、对项目、对影响力的关心;对 Meta 流程的熟悉;以及对快速的工程成长的亲身理解。这位经理在产品方向上也很强,设定清晰的路线图,并向上向下沟通。这让工程师们能够执行,同时学会如何对数据、增长和产品选择进行推理。

书面沟通是另一个重大的教训。Simon 相信,人们可以做出出色的工作,却因为只解释了自己做了什么,而没有解释它为什么重要、学到了什么,或公司得到了什么,而限制了自己的职业。一篇清晰的内部帖子,可以触达成千上万的人,并留待未来的决定使用。

什么让一份项目更新有效?

Simon

假定读者可能只花五到十秒。Simon 建议写一份真正简短的摘要,在任何“查看更多”展开之前就可见,并在有的时候附上有意义的数字。读者应当能够立刻认出结果及其重要性。

他围绕背景、影响和下一步来组织前面的部分,然后为专家提供技术细节。大多数广大的读者不会知道确切的子系统,但他们仍然可以关心成果和原因。主持人补充说,工程师常常以只有一两位合作者能懂的代码层面的调查开头;状态、指标的变化,以及为什么听众应该关心,先说这些更有用。

管理这次尝试,让你对技术工作和角色适配学到了什么?

Simon

他做管理不到一年,时间太短,无法知道自己的技术能力是否真的会退化。更直接的问题,是他很难停止做技术工作。下属请他退后;当他看到缺口时,他旧日技术负责人的本能,让他想去填补它。他承认,在回到个人贡献者之前,没有完全纠正这一点。

当时的情况也异乎寻常地困难。他的直属经理出了事故,缺席了几个月,他的隔级经理在休陪产假,而最近的可用领导,是一位刚结束长期病假回来、位于加州的总监。Simon 在伦敦,所以背景和时区方面的支持都很薄弱。他还不得不离开伦敦,并试图在一支小团队里,支持两位想要从 IC5 晋升到 IC6 的工程师。他相信自己承诺得过多:一位可以接手他以前的技术领导角色,但要为两个人找到同等的职责范围很难。

倦怠,以及支持网络的丧失,促成了转回去。当一位总监问他是否想回到个人贡献者的工作时,答案立刻感觉对了。他对以后再做管理保持开放。他的结论有所限定:更好的环境,也许能让他在管理岗位上待得更久,尽管他怀疑,自己可能仍然会回到工程。

为什么回到个人贡献者的工作,更合适?

在 IC6,他可以把亲自动手的工作与指导和辅导结合起来,同时在帮助谁、帮助什么上有更多选择。在管理岗位上,培养和支持每一位下属,成为一项核心的义务和评估标准。作为个人贡献者,这些活动可以增加价值,却不成为他全部的工作。他对这种灵活性感到满意,同时认识到,个人贡献者的领导,仍然带有责任。

你拿到的那份酌情发放的额外股权是什么?

Simon

Simon 把额外的股权,描述为由总监酌情授予的额外限制性股票单位。他拿到过两次:一次在 IC5 到 IC6 晋升前后,另一次是大约一年后,他转入管理的时候。第一次是通过一次意料之外的、15 分钟的总监会面到来的。他在薪酬群组的帖子里看到过这类授予,但认识到那些帖子偏向于异常好的结果。

他推测,留任和原先较低的应届毕业生股票授予,可能促成了第一次的奖励;他不知道决策者完整的理由。他把第二次,与在伦敦比预期更快地成功交付一款优先级产品联系起来。两次奖励合起来,实质性地提高了他的薪酬。当时很难作市场对比,因为 Meta 的股价下跌了。

当一位总监安排了一场没有议程的会议时,你是怎么想的?

他没有明确的预期,并且很紧张。这场意料之外的会面,结果是宣布好消息。这是一则个人轶事,并不是解读每一次简短的领导层会面的可靠信号。

根据你作为实习生、实习生经理和实习生总监的经验,什么有助于实习生成功?

Simon

他自己差点没拿到转正录用,后来管理过两位起点非常不同的实习生,并担任过实习生总监,监督大约十位实习生经理。这个总监的角色,涉及检查项目计划,并在三周时的上手情况、中期进展和最终评估时进行评审。

他把项目的完成和速度看作核心,并对范围划定不当的任务设置保障。一个常见的问题,是早期没有问足够多的问题。头几周,期望较低,询问基础的问题是合适的;拖到第六周,同样的缺口,后果就严重得多。他告诉实习生和应届毕业生,当一个小问题耗费了大约 30 到 60 分钟以上时,就来问他,而不要为了一个有经验的同事很快就能解决的问题,反复损失好几个小时。

同伴和经理同样重要。当一个人无法回答所有问题时,共享的群聊可以分散支持。同伴也提供重要的评估证据;了解实习生的项目和行为,有助于他们给出实质性的反馈,而不是迫使评审者去重构发生了什么。

实习生可以靠极端的工时来弥补吗?

评审者会设法区分可持续的表现,与靠全天候努力勉强达到期望。在凌晨和深夜都反复提交代码,可能是一个警告信号,尤其是对于接近通过门槛的人。

Simon 还把自我照顾,视为表现的一部分。他看重锻炼、写日记和早晨的专注时间。他曾用一次为期大约一周半的、每天 12 到 14 小时的临时冲刺,来解决一个棘手的 bug,但注意到,在不去健身、多喝咖啡的时候,思路的清晰度在下降。偶尔有意识的冲刺,与一个长期不可持续的日程,是不同的选择。

什么样的工作量让你觉得是可持续的?动力如何影响它?

Simon

他估计平均每周大约 50 个小时,因为加州的会议和他的晨间习惯而有所变化。他喜欢这份工作和同事,但注意到,当他对这个产品领域的兴趣消退时,同样的工时开始让人觉得是一种苦熬。

经过反思,他转到了一支基础设施团队,并重新找回了热情,产出质量也更好。他和主持人,把工作带来的负担感,与兴趣和动力联系起来,而不仅仅是工时。这是他们的经验,并不是说,享受工作就消除了设定限度的需要。

回头看,是什么最能解释你的职业成长?

Simon

Simon 的核心主题是不断扩大主人翁责任。早期,它意味着确保一项具体的任务成功;后来,它意味着拥有一支团队的成功。好奇心是其中不可或缺的一部分:当另一个系统阻挡了你,就去查看它的代码和历史,理解为什么做出某个决定,并带来一个经过研究的问题或提案,而不是干等着。

他把 Meta 的那句话,“没有什么是别人的问题”,解读为调查的许可,而不是忽视别人的借口。跨职能的主人翁责任,需要同理心:了解合作方的目标和激励,包括你提议的改进,是否会损害他们被评估所依据的指标。技术调查和理解人,都有助于扫清工作的障碍。

工程职业成长中,有多少是技术技能,有多少是其他行为?

Simon

他没有给出数字上的划分。他相信,只要一位工程师能把工作高质量地执行,与设计师合作,使用数据,并有效地协作,那么扎实的技术基础,就可以支撑相当大的成功,包括 IC5。解决任何技术问题的非凡能力,并不是他对那个级别的最低要求。

他认为,人际技能对于赢得信任和成长机会尤其重要。他也对此作了限定:在某些情况下,非凡的技术才华,可以抵消其他的弱点。他的看法,是对他在 Meta 所见的一条路径的描述,而不是对所有角色的普遍规则。

为什么你到目前为止,整个职业生涯都留在 Meta?

Simon

人,以及灵活性,一直在满足他的需求。他最初的团队,从两位工程师增长到大约 16 位后才拆分,因为他帮助招聘了其中许多人,所以这个年轻而互相支持的群体,让人感觉很亲近。他继续看重同事们的同理心和技术能力。

内部流动,让他得以在好几个地方生活和工作,包括加州、伦敦和纽约,并在最近转入了一项重新点燃他兴趣的工作。当他的动力下降时,他确实考虑过离开,然后选择给内部调动一个机会。他承认,有些经历在 Meta 找不到,他的偏好也可能改变;他只是还没有到那一步。

当你作为应届毕业生入职时,你会对自己说什么?

Simon

及早问足够的问题,让自己变得有产出,然后继续探究系统为什么是现在这样运作的。要保持好奇,担起主人翁责任,并避免把每一个现有的约束都当作永久的。在一个大型的代码库里,过去的决定和被放弃的实验,可能已经不再说得通;理解它们的历史,可以揭示有用的清理,或绕过阻碍的办法。

他把这条建议,与对时间的意识结合起来。新工程师仍然需要速度,不应该无限期地消失在调查里。一旦基本的产出建立起来,好奇心就变得更有价值。

关于这份资料

26 岁的 Meta Staff 工程师(IC6):晋升、重新定义期望、秘密的股权奖金

本节是对原始文字稿的转述。自动生成的字幕可能有错误。

观看原视频 ↗

开场的预告片(0:00–0:55)重复了后面的交流,在完整访谈里只呈现一次。

已省略结尾的感谢、对值班的致敬和订阅请求(约 1:16:58 之后)。

我的笔记在可使用本地存储时,笔记会保存在此浏览器中。
第 41 节 · 访谈

从出色的产出到可扩展的主人翁责任:Instagram Web

一位 Instagram 资深 Staff 工程师,回顾了三个晋升项目,解释了协作为什么可能阻碍晋升,并展示了工具和主人翁责任,如何成倍放大一位专家的影响力。

为什么专精于前端工程?

Marius,Instagram 资深 Staff 工程师

Marius 描述了自己对 Web 长久以来的热情,可以追溯到学校里的 HTML 课,以及他作为圣诞礼物要来的一本 CSS 书。他有意地寻找能让他构建 Web 应用的工作,包括在学习计算机科学期间做的外包工作。

这项专长,是对自己想做的工作的积极选择,而不仅仅是被分配到的第一项技术。这种偏好,后来帮助他判断,哪些机会和团队适合他的职业。

为什么出色的绩效评级,没有立即带来从 IC4 到 IC5 的晋升?

Marius,Instagram 资深 Staff 工程师

据他讲述,有一个行为上的差距,阻碍了这次晋升:跨职能协作。对自己想法的强烈信念,有时给人太过坚持或强势的印象。为一个提案倡导是恰当的,但他需要认识到,持续施压何时会适得其反。

他把对已交付影响的评级,与晋升准备度区分开来。一个人可以交付很多,同时仍然缺少下一级别所期望的一种行为。他的晋升,在他针对反馈做出改进之后,又遇到了疫情初期全公司范围的暂停。他把这些描述为不同的原因,而他最终的晋升,发生在 2020 年底。

所以,一个高评级和一个具体的绩效问题可以并存?

是的。一份回顾性的影响评级,并不能证明每一项下一级别的行为都已具备。Marius 相信,校准会想看到协作问题,在又一个周期里得到解决,再晋升他。

你是怎样处理晋升被推迟的沮丧的?

Marius,Instagram 资深 Staff 工程师

他承认感到沮丧,尤其是在同事们反映有了明显的改善,而一项外部的公司决定仍然阻挡了结果之后。他提醒自己,职业生涯很长,半年的延迟,在这个跨度里意义有限。

他继续成长,并承担超出当前头衔的工作。在一个滞后的晋升体系里,拒绝在头衔到来之前展现下一级别的行为,本身就违背了这个流程的目的。工作和学习,即使在文书滞后时也可以继续,并最终得到了认可。

是什么工作,带来了“重新定义期望”的评级和 IC5 晋升?

Marius,Instagram 资深 Staff 工程师

作为 IC4,他在一个被认为是 IC6 职责范围的大型 Web 项目中,担任了领导角色。十多位工程师和几个合作职能参与其中。在疫情期间雄心勃勃的时间表下交付它,需要的远不止编码:解读产品的模糊性,划分工作流,协调人员,召开会议并传达进展。

运营上的卓越也很重要。一次搞坏系统的大规模上线,并不会仅仅因为提交了很多改动,就变成成功。这个项目没有出现重大问题就落地了,并关注了发布的规范。

Marius 并不声称知道校准讨论的每一个细节。他的解读是,超出他被分配职责范围两个级别的工作,让这个异常强的评级更容易解释。评级需要一条清晰的阐述:从预期的工作,到额外的贡献,而不是一句无法解释的“卓越”断言。

一位 IC4,是怎样被信任去做一个 IC6 规模的项目的?

Marius,Instagram 资深 Staff 工程师

这个机会,是通过一次人员安排上的多米诺效应出现的。一位资深工程师在休陪产假,而一项重大的优先事项,改变了团队的工作。另一位工程师填补了那个空缺,而 Marius 接手了一个本来可能交给更资深的人的项目。

时机上有运气的成分,但准备工作,塑造了谁会被考虑。他已经确立了自己作为 Web 专家的地位,想对那个平台负责,并有出色交付的记录。因此,一个相关的机会,是一个合理的匹配。他称这是增加“运气的表面积”,同时认识到,想要这个项目,并不保证就能得到它。

你一直对这项工作有雄心吗?

Marius,Instagram 资深 Staff 工程师

是的。理解 JavaScript 里的条件和循环,给了他一种早期的主动性:他可以让机器按自己选择的方式做事。从哲学上讲,Web 也吸引他,它是相互连接的文档,让知识广泛可得。

他后来的雄心,源自这种内在的兴趣,而不仅仅是晋升阶梯。这个区别,有助于解释他持续的努力,以及他对特定类型工程的偏好。

是什么带来了下一个“重新定义期望”的评级和 IC6 晋升?

Marius,Instagram 资深 Staff 工程师

他领导了另一个有时间压力的 Web 项目,它促成了一项更大投入的其他部分。错过它的硬性截止日期,会阻碍它们的影响。无法争取更多时间,其他人也已经被分配到重要的工作上,所以他必须用手头的团队,管理范围和质量。

他的偏好,是缩小范围,而不是轻易牺牲性能、可靠性和设计工艺。一个更小但做得好的成果,比一个宽泛但糟糕的实现更好。有些让步可能是必要的,但他希望它们是经过深思熟虑后做出的。

产品管理方面的支持有限,一些重要的问题仍未解决。他因为以产品工程混合体的身份运作而得到认可:厘清需要构建什么,让这个决定与产品和工程领导层对齐,界定成功,排定工作的顺序,然后大量参与实现。他把早期的模糊性,比作在工作变得可操作之前,探索一张被雾覆盖的地图。

Marius 的 IC6 项目中的交付约束
可能的杠杆这个案例中的约束他的应对
延长截止日期这个项目促成了其他工作,并且有一个硬性日期围绕固定的截止日期做规划。
增加工程师可用的人员已经被分配了协调已经被指派的那个小团队。
缩减范围可以,但一个空洞的最小产品,满足不了需求谨慎地选择削减的部分,同时保留有用的成果。
降低质量有些让步是可能的,但质量非常重要偏向一个更小的实现,同时保证性能、可靠性和工艺。
等待产品方面的答复产品方面的支持有限在执行之前,先澄清模糊之处并获得对齐。

在一切顺利的时候,为什么转去 Instagram Web?

Marius,Instagram 资深 Staff 工程师

他之前所在组织的优先事项,偏离了他想追求的工作。他已经认识到,Web 工程和产品质量(性能、可靠性和设计工艺)格外令人满足。在一个不那么契合的方向上保持成功,不一定是正确的长期选择。

Instagram Web 团队最近刚刚迁移了技术栈,需要高质量的工作。这个空缺与他的经验和兴趣相匹配。他从通知这一界面开始,它需要现代化,并与原生应用对齐,然后把大部分时间花在了产品基础设施上。

这一层,介于可见的产品功能与更深层的基础设施之间:代码结构、保障措施、测试和架构,帮助其他工程师有信心地迭代。随着对他自己影响力的期望不断提高,它提供了越来越大的杠杆。

你说的“工程杠杆”是什么意思?

Marius,Instagram 资深 Staff 工程师

杠杆,意味着塑造默认值和工具,让其他有善意的工程师无需每一个决定都亲自请教专家,也能成功。框架把他们引向一个好的结果。Marius 用前端可靠性和 React 的错误边界(error boundary)来说明,它把一次渲染故障,限制在界面的一部分。

增加一个缺失的边界,只修好一个位置。系统地审查整个网站,则解决了一个更广泛的问题。写一份指南,解释如何触发故障,以及如何区分主要、次要和第三级的内容,让其他团队能够自己应用这种方法。增加 lint 规则,可以让编辑器在改动提交之前,就对一个已知的不安全模式发出警告。

他用这个顺序来说明影响力的递增,同时把这些级别的标签,视为自己的实用解读,而不是一个官方的公式。更全面的解决方案,在他转去做性能或其他问题之后,仍然继续起作用。他无法亲自检查公司里每一款 Web 产品,所以方向和工具,延伸了他的贡献。

杠杆的意思,是其他人也能自己预防或修复这些问题吗?

是的。指南和自动化的检查,超出了他能直接工作的地方,实现了规模化。目标是把一类问题解决得足够好,以至于同一位专家不再需要反复介入。

编辑综合

从一次可靠性修复,到一项可重复的改进

  1. 限制一个故障在一个脆弱的区域周围加一个错误边界。
  2. 审查整个界面系统地触发故障,加固网站。
  3. 传授这个决策解释测试,以及降级行为如何取决于缺失内容的重要性。
  4. 把默认值编码进去用 lint 或框架的保障措施,来引导未来的改动。
  5. 转向下一个约束让这项改进持续发挥作用,同时把注意力转向另一个问题。
由编辑根据 Marius 的错误边界例子整理的递进;箭头表示处理同一类故障的、范围更广的方式。

你是怎样开始做 Threads Web 的?

Marius,Instagram 资深 Staff 工程师

他的经理为他引荐了一个小型的、起初保密的项目。Marius 与它的招聘经理讨论了所需的 Web 工作,并成了大约头六到八周里唯一的 Web 工程师。职责范围起初有限,后来扩大了。

他珍视这个难得的机会,能在一家大公司里,从头开始帮助推出一款新应用。后来其他工程师加入了,所以成为第一个,并不等于独自构建了最终的整个产品。

你是从零开始,启动了一个独立的 Web 应用吗?

他先是在 Instagram Web 内部做实验,隐藏现有的界面,为新产品渲染一些东西。然后他认定,一个独立的界面需要单独的组件和组织,以避免无意的耦合。这种分离是一个有理由的架构选择;在第一次实验时并不明显。

是什么让 Threads 的工作成为一个令人信服的 IC7 晋升论证?

Marius,Instagram 资深 Staff 工程师

这项工作很紧张,但它的影响力故事很清晰。Threads 需要一个 Web 端的存在。Marius 打下了它的基础,帮助壮大和组织了团队,领导了交付,并写了大量的代码。职责范围从未登录状态下的浏览和分享,扩展到一个已登录的客户端,带有信息流、通知、设置、搜索和发帖。

上线和反响,让结果可见。他说,这是一份异常容易写的自我评估,因为业务需求、他的职责和已交付的工作之间的联系很直接。这种清晰,并不意味着这个项目很容易,也不意味着他队友的贡献不重要。

归因也要求资深评审者理解,他的参与实质性地改变了结果。清晰的主人翁责任,以及对结果的责任,比孤立任务的数量,更有说服力地提供了这种联系。

拥有一次上线,实际上需要什么?

Marius,Instagram 资深 Staff 工程师

Marius 在上线之前,先思考各种失败模式,并倒推去防止它们。一个新的域名,会引出 DNS 和基础设施方面的问题;应该由合适的专家来核实配置,而不是团队简单地假定它能行。其他可预见的风险,同样值得这样处理。

并非每个问题都能被预料到。运营上的就绪,包括错误上报、QA、发布规范,以及响应迅速的反馈渠道,这样一个出乎意料的、特定于某个浏览器的问题,才能被快速诊断。主人翁责任,涵盖的是这整套准备工作的结果,而不仅仅是写出这个功能。

作为直接负责人,是否意味着一切都要自己做?

Marius,Instagram 资深 Staff 工程师

不。他把产品划分成有意义的领域,由其他资深工程师负责。这些工程师对自己的领域负责,而他仍对整体的上线负责。授权一部分,并不允许整体的负责人,在产品失败时把责任推给那一部分。

困难的技能,是调整监督的程度。负责人应该给人们成长的空间,同时又不从工作中消失。他用驾驶教练作类比:在学员学习时,把手放在紧急控制装置附近,然后随着信任和能力的建立,逐渐增加自由度。这种关系,应该防止可避免的失败,又不把每一个决定都变成微观管理。

一位资深工程师,怎样在保持自己影响力的同时,分配职责范围?

Marius,Instagram 资深 Staff 工程师

Marius 赞成与人们的能力相匹配的合理的责任边界。一项“拔高”的任务,可以培养一个人;远远超出他们能力的工作,则可能让这个人和项目都注定失败。远远低于他们能力的工作,也可能是一种糟糕的匹配。

他并不指望资深 Staff 工程师写的每一处改动,都包含非凡的技术复杂度。有时,重要的贡献,是快速实现许多直截了当的部分,从而扫清一条关键工作流的阻碍。另一些时候,合适的角色,是协调跨团队或跨组织的工作。

价值,在于必要的结果,以及在达成它的过程中所扮演的角色。囤积工作,或者孤立地评判每一个 diff,都会错过让整体贡献变得重要的背景。他把快速编码和广泛协调,视为适用于不同情形的不同工具。

你正在考虑职业生涯的下一步是什么?

Marius,Instagram 资深 Staff 工程师

关于 IC8,他没有固定的答案。在这场访谈时,他已经从 Threads Web,转到了一个重要的 Instagram 服务端项目,有意地走出自己的前端舒适区,朝着更全栈的工作迈进。他觉得这既令人兴奋,又有一点令人生畏。

管理不是他偏好的方向,因为他喜欢深入的技术性个人贡献者工作。他希望自己的工作有意义、能带来学习,同时不假定下一个头衔必须是眼前的目标。他还推荐了《创:战纪》(Tron: Legacy)的原声带,作为专注写代码时的个人推荐。

当你达到 IC6 时,你是否立刻开始瞄准 IC7?

Marius,Instagram 资深 Staff 工程师

不像他达到 IC5 之后那样,立刻向前看。更资深的晋升,需要一个与这个级别相匹配的业务需求,也需要成功的执行。Threads Web 提供了一个契合这种形状的、恰逢其时的机会。

这个机会是必要条件,但不是充分条件:工作仍然必须落地。反过来,没有这样机会的工程师,即使有能力,也可能难以提出论证。所以他的故事,结合了交付、适配和时机,而不是把雄心单独当作解释。

更高级别的期望,有没有让你害怕过?

Marius,Instagram 资深 Staff 工程师

有。作为 IC4,他把 IC5 看作按他当时所理解的政策,最终被期望达到的目的地,对 IC6 感到忧虑,并且相信自己永远不想要 IC7。他的偏好随着成长而改变。即使后来,他也没有积极追求 IC8,因为这个角色需要契合,而且他不想失去太多自己喜欢的工作。

这段叙述提醒我们,一个人对下一个级别的看法,会随经验而改变。它并不规定要无限期地追求晋升,也没有确立适用于每个角色的当前公司政策。

你最异乎寻常的高编码产出是多少?

Marius,Instagram 资深 Staff 工程师

他回忆起,在 Threads 上线的那一年,有将近两千个 diff。这个数字显示出一段紧张的实现期,但他马上提醒,diff 的数量是可以被刷的,最多只是具有方向上的参考意义。

他认为,比如在一段时间里的三百次与四百次改动之间,没有有意义的自动区别:一个人可能只是把工作拆成了更小的提交。产出的数量,应当结合结果和背景来解读,而不是被转换成一个普遍的目标。

你会给刚进入这个行业的自己什么建议?

Marius,Instagram 资深 Staff 工程师

一切都会好的;不要增加不必要的压力。早期的雄心,让他每周发一篇博客,同时要兼顾学位、近乎全职的外包工作、朋友,以及一项要求很高的爱好。他有时在深夜写作,只是为了守住这个承诺。

他喜欢那项工作,学到了很多,并认为他公开的写作,帮助一位招聘人员找到了他。他不后悔。但他不再认为那种强度,是一种健康的默认做法,并会告诉年轻时的自己,现有的努力已经足够了。

他实践性的 Web 工作,也补充了大学的基础知识。理论给了他有用的概念,而多年构建应用,则提供了他每天使用的技术上的专长。教训是一种可持续的组合,而不是否定任何一种学习。

如果没有早期的那种强度,你会到达同样的位置吗?

他无法知道。这个反事实是不确定的,他也不会把自己的过去,改写成一种他讨厌的修行。他当时看重它,同时认识到,自己现在会选择一种更健康的平衡。

关于这份资料

Instagram 资深 Staff 工程师(IC7):是什么拖住了他、重新定义期望、晋升故事

本节是对原始文字稿的转述。自动生成的字幕可能有错误。

观看原视频 ↗

开场的片段剪辑,重复了后面的回答,只计一次;已省略结尾对播客互动和嘉宾建议的请求。

我的笔记在可使用本地存储时,笔记会保存在此浏览器中。
第 42 节 · 圆桌讨论

在大厂成为 Staff 工程师:五人圆桌谈职责范围、人际关系与晋升

五位在 Meta、谷歌、动视暴雪(Activision)、Netflix 和 Airbnb 达到 Staff 级别的工程师,讨论了他们晋升背后的项目,怎样找到职责范围,以及为什么人际关系和沟通,与技术深度同样重要。

圆桌的观点:Staff 级别的职责范围,是通过问题和人找到的,而不是单靠代码

Rahul 主持,邀请了四位工程师(Lee、Ryan Peterman、Carly 和 Zach),同时也作为一位嘉宾回答。他们合起来,曾在 Meta、谷歌、动视暴雪、Netflix 和 Airbnb 达到过 Staff 或同等级别。他们共同的观点是,Staff 级别改变的是工作的类型,而不仅仅是规模。一位 Staff 工程师,被期望去影响别人,找出值得公司花时间的问题,并且被足够多的人所熟知,让别人能够为结果背书。他们在细节上有分歧,比如 Staff 工程师还应该写多少代码,但他们一再回到三点:人际关系、清晰的沟通,以及对公司自身晋升流程的直接了解。下面的一切,都是几位讲述者自己的经验和看法,不是公司政策。

讨论到的级别,由主持人根据 levels.fyi 的示意图总结
公司资深级别对应的 Staff 级别
谷歌L5L6
Facebook/MetaE5E6
亚马逊SDE III没有 Staff 头衔;资深之后的级别是首席(principal)
嘉宾,以及每个人所述的背景
嘉宾圆桌中所述的背景
Lee从 2004 年起从事软件工程。2012 年起在亚马逊,先是 SDE II,后来做人员管理。然后在 Meta 担任 Staff 级别的个人贡献者,Lee 说那段经历不太顺利。在圆桌讨论之前大约一年半,转到谷歌担任 Staff 工程师(聊天,然后是 Gmail 通知)。
Ryan PetermanMeta 的 Staff 工程师,在 Instagram 工作。2017 年毕业,在亚马逊的一个卫星办公室待了大约八个月,然后以应届毕业生的身份加入 Meta。大约五年里三次晋升。
Carly在动视暴雪。一位高级经理,同时拥有相当于 Staff 的个人贡献者头衔(主管工程师)。2017 年读完研究生,起初是初级数据科学家,以资深级别加入动视暴雪,花了大约两年达到主管。从事安全方向。
Zach2016 年在 Facebook 从数据工程起步。然后是 Netflix,那里每位工程师都拥有资深头衔。然后是 Airbnb,Zach 在那里获得正式的 Staff 头衔,并待了两年。在圆桌讨论前大约六个月离开,去全职创作内容。
Rahul(主持人)运营 Taro。在 Meta 大约四年半,从资深到 Staff。在 Pinterest 大约两年半,Rahul 在那里两次被拒绝晋升。更早之前,是一家被 Pinterest 收购的创业公司。

每位嘉宾,是靠什么项目走到 Staff 级别的?

Zach 是靠换公司晋升的。在 Netflix,每位工程师都有资深头衔,但 Zach 觉得,职责已经是 Staff 级别的了,后来 Airbnb 以 Staff 的级别聘用了 Zach。Zach 归功的项目,是 Netflix 的一个资产清单。Netflix 使用微服务,这给每个团队以主人翁责任,但也留下了成千上万个独立的应用,每个都可能有自己的漏洞。Zach 构建了一个图数据库,描述应用、代码库、数据集和员工,以及它们之间如何相互联系。这项工作花了大约两年。

Lee 也是以 Staff 级别被聘用的,而不是被晋升到那里。Lee 在加入 Meta 之前,在亚马逊管理人员大约三年。Lee 说,单靠技术工作是不够的。有些人指着一个自己独自交付的大型、复杂的项目,但 Staff 级别的准备度,还取决于他们是否规划了工作,把它拆成并行的工作流,并降低了风险,不把最难的部分留到最后。Lee 最难的技术项目,是一个自定义的类加载器,在谷歌支持之前,就让 Android 应用能使用多个可执行文件,这样亚马逊的视频应用(现在的 Prime Video)及其合并的应用,就不会碰到方法数的上限。Lee 不想让工程师为了适应一个技术限制,被迫写出糟糕的代码。

Ryan Peterman 描述了一个大型的效率项目,让 Instagram 的视频处理便宜了很多,有些基础编码便宜了 94%。Ryan 说,这个项目达到 Staff 级别,是因为 Ryan 创造了职责范围:Ryan 找到了问题,说服人们它值得做,获得认同,并带领执行。Ryan 只在风险最高的组件上亲自上手。好几位工程师做了大部分工作,而 Ryan 负责领导并评审代码。Ryan 强调,Staff 是最早把“影响别人”作为基本期望的级别之一,因为软件是协作性的。

Carly 说,这一步不只是技术上的才华。它归结为信任,以及成为别人所依赖的合作者。Carly 指出,一次向一位高管领导和 CTO 展示安全方面发现的报告。Carly 能够向不想坐在工程会议里的人,解释技术工作,并从那场会议上的一位领导那里,得到了一份工作邀请。这变成了一次内部调动,到了 Staff。Carly 说,这不是正常的路径。更宽泛的教训是,要知道你的数字,准备好向技术和非技术的听众陈述你的影响,并去做解决真正痛点的、大型的、跨业务的问题。决定晋升的人,往往同时属于这两类听众。

Rahul 提到在 Meta 的两个项目。一个是改进了产品调试的内部工具。Rahul 衡量过,它在一年里节省了数千个工程小时,而且其他工程师可以接入自己的调试工具,这让影响成倍放大。另一个是重新设计产品的通话架构,把它迁移到另一支团队的 API 集合上。Rahul 的教训是,要以“押注组合”的方式来思考。大科技公司有许多你控制不了的事情,所以把一个主要项目,与一个你能控制的较小项目配对,当一个被阻塞时就切换。两三个项目是现实的,不是十个。Rahul 补充说,公司也必须有足够的业务需求来支撑 Staff 级别的职责范围,所以有些人,仅仅通过换到一家需要自己技能的公司,就得到了晋升。

Staff 晋升,通常是某一个项目的突然结果吗?

一位嘉宾说不是。晋升材料通常是一份涵盖好几个半年评审周期的过往记录。当它到达晋升委员会时,人们应该已经知道候选人的名字,而且候选人应该已经做了一段时间接近 Staff 或 Staff 级别的工作。

什么样的影响,会让人们注意到一位 Staff 工程师?

Zach 描述了两个方向的影响。纵向的影响,是对业务的直接作用。横向的影响,是通过改进工作的完成方式,而不只是构建什么,帮助团队更快前进。Zach 在 Netflix 的例子,是一个 Groovy 脚本,用来去掉流水线可部署文件里没用到的依赖。Zach 估计,每次部署节省一到七分钟,按每天五六次部署,相当于每位工程师每天节省大约 30 分钟到一小时。Zach 说,剩下的是采用,而不是技术上的卓越。

另一位嘉宾补充了一个粗略的计算:66 个人都提速 16%,相当于一位“10 倍工程师”。这位嘉宾还说,他们研究过的那些比 Staff 高三个级别的非常资深的工程师,常常对成千上万位工程师使用的工具,做出复利式的改进。

一位资深或 Staff 工程师,应该怎样在授权与亲自做之间取得平衡?(一位参会者 Brian 提问,Rahul 重新表述了这个问题。)

Zach 回忆起与一位 Airbnb 经理每周的对话,谈的是 Zach 在管理、授权和编码上是否做得够。Zach 喜欢整天写 Scala 代码,并说这样做有时对团队不利。Frank 与经理谈论时间是怎么花的,帮助 Zach 看到什么时候需要更多的领导。

Lee 说,每个人都应该了解自己的偏向。一位从管理岗位转来的工程师,可能在人员上花太多时间,而在降低技术风险上花得太少,而另一些人则偏向相反的方向。每周不需要五五开。Lee 还问,这位工程师是在身先士卒、找到路径并让别人沿着它走,还是在后面,只是给人们指出一个方向。答案因团队而异:同级组成的团队,不同于应届毕业生组成的团队。Lee 说,经理的意见在这里有帮助。经理可以指出,4% 的性能提升很好,但没人知道用了哪些工具,而如果这个人不在,也不会有任何东西被提交。在 Lee 看来,你怎样做事,与你做什么同样重要,而与初级工程师结对,能帮助他们理清脉络。

Carly 给出了经理的视角,以 Zach 为例。Carly 更希望 Zach 参与大项目的研究、设计和路线图,这样,一个有 Zach 那样深度的人,可以很快说出哪里会出问题,而其他人做深入的实现。当某件事非常复杂时,Zach 会介入。Carly 说,这种平衡很难把握,要在与经理的交谈中确定。

Lee 对此补充:最强大的工具之一,是在正确的时间问正确的问题。一位资深的人听到团队计划重新架构某样东西,可以说这不是正确的重点,现在可以先放在一个垫片层(shim)后面。这位资深者二十分钟的时间,可以节省两三个开发者年。Lee 说,人们的时间应该花在设计重要的地方,因为错过一次走廊里的谈话,代价可能很高。

Staff 工程师应该怎样决定不做什么?

Zach 讲了刚到 Airbnb 的时候,利益相关者对认证盈利数字喊得很响。作为新人,Zach 依赖了他们的请求。大约六个月之后,Zach 问,认证实际上会带来什么不同,而答案基本上是没有,最多大约延迟一天。Zach 告诉经理,这是收益递减的情形,因为流水线太复杂,无法完成,应该把精力转向影响更大的工作。另一位嘉宾指出,四个人为此工作大约四个月,仅薪水一项,就可能让公司花了一百万美元或更多,还没算他们本可以做的其他事情。

一位嘉宾补充说,Staff 工程师必须说服别人,而不只是执行。经理们依赖 Staff 工程师,来判断什么该做、什么不该做,这需要勇气去告诉利益相关者,他们的项目被降低了优先级。解释理由,才能保持跨职能搭档的尊重。这位嘉宾说,没有这一点,首先会积累不信任,随后是怨恨,团队的动态就可能崩溃。

Staff 工程师总是亲自动手更少吗?

一位嘉宾说不是。这取决于项目和这个人的长处。在一个有很多资深人员的项目里,Staff 可能负责带领。有些非常多产的专家,或者执行力相当于四五位工程师的人,可以通过自己完成大部分执行,产生 Staff 级别的影响。他们仍被期望,通过分享知识来扩大规模。这位嘉宾说,并不是每位 Staff 工程师,都适合技术负责人这种类型:有些人是埋头写代码的,有些人是领域专家。另一位嘉宾回忆起,Meta 对这种人,有一个“编码机器”的原型。

Staff 工程师在哪里找到、或者“编造”职责范围?

Lee 说,当你在自己的工作上比经理更强时,他们就看不到项目里的地雷或技术约束了。Lee 拒绝为了证明晋升而编造职责范围的想法,认为那是个糟糕的选择。工作是找出是什么在伤害团队、拖住它,提出来,并说服别人去修复。Lee 把这比作微积分是被发明的还是被发现的问题。Lee 说,大多数职责范围是被发现的:别人害怕的、看不到的、或者不认为有价值的工作,而你必须说服他们,它会加快接下来的三个项目,或者实现产品以前做不到的事情。它可能是通过翻看代码找到的,也可能是在有空缺的产品需求里找到的。

Lee 自己的习惯,是在没人愿意的时候举手。Lee 举了一个例子:一个没有人想碰的、陈旧而脆弱的系统。Lee 说,当有人提议把它关掉时,它可能其实创造着数亿美元的收入,所以值得进行渐进式的替换,比如“绞杀者榕树”(strangler fig)模式。Lee 承认,这有时会让人被困在某个糟糕的东西上。

Rahul 总结说,问“怎样找到职责范围来证明晋升”,本身就是问错了问题。正确的问题,是最迫切的问题是什么,经理、总监和其他工程师心里想的是什么,以及你能不能构建出帮助他们的东西。Rahul 把它比作创业公司:你从问题开始,而不是从解决方案开始。了解这些问题,需要建立关系,并嵌入到组织里。

你在与被指导者、技术负责人、经理和总监建立关系方面有多刻意?他们可能在评审时为你说话。(Rahul)

Carly 称这是极其刻意的。Carly 会找有共同问题或方法的人,并与他们组队。Carly 现在在各个业务部门都有朋友,包括很少共事的人。Carly 说,全职远程办公,使这件事比在办公室里难得多。Carly 描述自己是一个内向的外向者,并说人们必须克服不给别人发消息的冲动,因为如果没人认识你,就没有人会为你辩护。Carly 补充说,一个熬夜工作、显示为在线的人,并不会因此被注意到。人们会为那些他们见过按时、按范围、按预算交付的人背书,而等着被拯救,是错误的做法。

另一位嘉宾说,自己不擅长联谊活动,但工作的能见度很高,即使在疫情期间也得到了晋升。对他们来说,关键是把工作沟通出去:分享计划,获得认同,并汇报结果。写作和沟通是强有力的工具,因为在实践中,工作不会自己做营销。一位经理,只能当一段时间的啦啦队长。

Lee 说,被人所知,是困在 L5,与成为那个召集亚马逊各处 Android 工程师、并拿出数据说明应用何时会用光方法数的人之间的区别。然后人们会把别人介绍给这个人,而即使这个人没有答案,也能指出下一步。Lee 说,人际关系就是一切。Lee 在 Meta 远程工作,从没去过,没有成功。Lee 有不错的关系,但没有能见度,所以一旦出了问题,就缺少帮助。在疫情期间,Lee 开始在亚马逊的一个团队里,每天问一个与主题无关的问题。Lee 现在在谷歌两个组织的聊天室里这样做,并说人们认得 Lee 是“提问的人”,这让向产品经理求助变得容易。Lee 还建议,问经理团队里是否有人需要导师,因为即使得到“不”,也会改变他们对你的看法,并旁听产品经理的活动,以了解他们的流程,并提供开发者的视角。Lee 说,这听起来可能像政治,有时确实是,但这是工作的一部分。Lee 描述自己有自闭症,有许多社交上的挑战,并说 Lee 仍然必须这样做才能成功。

Rahul 提供了一个检验标准。如果你问一位队友,某个人以什么出名,他们能否连贯地回答,比如说那个人是某个系统的专家?如果不能,那就是一个糟糕的信号。

告诉别人你的工作,只是自我推销吗?(参会者 Sean 问,谦虚到哪儿去了。)

Rahul 说,不要把它表述成吹嘘。把它表述成告诉队友,这项工作对他们有什么好处。Rahul 在 Meta 做的调试工具,让调试问题更快,Rahul 把它推介为减轻工作、帮助产品,甚至帮助他们的绩效评估的一种方式。Rahul 的重新表述,是给出一个行动号召:这是你可以接入的方法。

其他嘉宾同意,分享知识是相互的。解释你试过什么、什么失败了、什么行得通,或者构建一个别人可以复用的更底层的框架,让工作更有用,也让别人免于走弯路。一位嘉宾指出,大科技公司的工程师往往好奇而开放,所以他们想听。午餐分享会和演示,比如用屏幕共享简短演示一个浏览器扩展,可以改变别人的工作方式。嘉宾们在那里划出了吹嘘与教学的界线。

有哪些经验法则,能提高晋升到 Staff 的几率,比如选择团队、团队的规模,或者基础设施对比产品工作?(Rahul)

一位嘉宾建议,与 Staff 以上的人交谈,比如资深 Staff 或首席工程师,问他们如果有时间会修什么,然后去做那件事。一位支持你的文档的首席,作用很大。这位嘉宾还说,现在就去写晋升文档,不要等到觉得准备好了。把它给那些评审晋升的人看,问他们为什么会拒绝,然后针对这些差距努力。否则,一个晋升项目,可能结果并不是合适的那个,而那是候选人自己的错。如果反馈是你从没领导过任何人,那么下一个项目,需要展现领导力,而不是更多的代码。这位嘉宾说,不了解流程,就是把结果留给运气。

另一位嘉宾说,他们倾向于在每家公司里,做与流失和财务相关的问题,因为那是业务里痛点所在。

Zach 把与经理的关系放在第一位:没有它,即使是明星,也会吃力。对数据工程师来说,Zach 说,数据集必须是许多其他流水线都会读取的,比如主数据。只为一个可视化而做的数据集,不是 Staff 级别的。一位 Staff 分析工程师,则可能拥有从日志,到数据集,到可视化,也许还有模型的整条链路。

另一位嘉宾描述了三个常见的评分标准维度。一是工作流的规模,比如工程师的数量和持续时间。第二是复杂度:低一个级别的人能解决吗,还是需要分布式系统或 AI 这样的领域知识?第三是影响:它是否横跨几个团队,或触及重要的业务目标?这位嘉宾说,杠杆来自构建让其他工程师在其上构建的东西,这偏向基础设施和工具团队。领导一个非常大的产品举措,只限于少数几个地方,而且必须有人批准,所以这样的机会更少,也更难竞争。

对基础设施的偏好,是衡量 Staff 级别工作的公平标准吗?

Lee 把对基础设施和后端的关注,称为一种遗留的偏见。公司们知道,为数十亿用户做后端系统的顶级工作是什么样子,却不知道一位首席前端工程师做什么。Lee 说,人们曾被建议换到后端团队来获得晋升,Lee 认为这是错的,尽管它一直是真实存在的。

Zach 补充说,数据工程在 2016 年还是新事物,Facebook 当时只有一位 Staff 数据工程师,现在有几十位。

Rahul 说,这种偏见并不严格是前端对后端。构建客户端基础设施的工程师,比如 Android 构建系统,或客户端和服务器请求的框架,也算数。关键是,其他工程师使用你构建的东西,而那通常比构建面向用户产品的人,低一层。

观众提问:一旦到了 Staff 级别,你怎样保持超出期望?

一位嘉宾说,Staff 及以上的行为是相似的:通过他人施加影响,培养身边的人,以及承担最大的问题。变化的是,这些举措大了一步。要超出期望,就去找职责范围更大的东西,比如影响两个更大的组织,而不是一个大约 50 人的小组,或者为几百位工程师,而不是几十位,构建基础设施。

Zach 说自己在 Airbnb 的 Staff 级别上,获得了 2020 年的“超出”评级,并描述了两个部分。一是交付主要的“大石头”(big rock)项目,对 Zach 来说,是完善定价和可订性指标。另一个是更长期问题的设计工作,比如一份关于如何把数据从数据湖移回 Airbnb 应用的最佳实践的文档,由首席工程师就边界情况给出反馈。Zach 说,错过第一项,意味着根本达不到期望,而两项都做到,才能推动一个人朝资深 Staff 级别迈进。

观众提问(Alan):有哪些资源,有助于技术沟通和寻找指导?

Rahul 说,核心技能是了解你的听众。在 Meta,Rahul 在发布更新之前,会看看一个内部 Workplace 小组里有哪些人:工程师、领导层,还是跨职能的混合。然后 Rahul 调整深度,避免细节过多或过少。在站会或会议之前,先弄清谁会在场,以及他们了解多少、在乎多少。Rahul 没有书或视频可推荐,并说,培养对不同听众的同理心的方法,是建立关系,这能让你感受到你所面对的各类人设。

Zach 补充说,在 Airbnb 期间几乎每天在 LinkedIn 上发帖,教会 Zach 把密集的信息简洁地说出来,因为这个平台奖励简短的帖子。Zach 推荐这项技能,用来成长。

观众提问(sesh):一位资深工程师,在通往 Staff 的路上,是否应该先成为技术负责人?

Ryan Peterman 把技术负责人,看作一组可以在任何级别出现的行为,而不是资深与 Staff 之间的一个级别。一些团队里的资深工程师,会带领较小的项目。Ryan 建议查看公司自己的职级体系。

另一位嘉宾提醒,如果缺少的部分是领导力和能见度,那么当技术负责人,可能提供更多练习它们的机会。但它不一定是垫脚石,而且把这些行为做好,并不保证通往 Staff 的道路。还有一位嘉宾说,各个级别所期望的行为,应该在公司里被写下来。与你的经理一起用它,看看你在哪里超出、在哪里不足,如果没有这份文档,就去要,因为否则你只能猜。

观众提问(Sam):一位数据工程师,怎样向一位并非日常负责人的经理,展示后端工作?

Zach 说,如果没有光鲜的前端部分,答案的一部分,是与在你的数据之上构建可视化的数据科学家或分析师合作。另一部分,是展示下游的影响。Zach 说,一个数据集,可以被推销为改善三类决策之一:高管的战略决策,数据科学家或分析师的产品决策,或者机器学习算法的自动决策。Zach 在 Airbnb 的定价和可订性数据集,喂给了 Smart Pricing,一个为房源定价的算法,对业务有很大的影响。

Zach 补充说,数据工程师也可以引用优化的数字,比如一条流水线快了 30% 或 40%。在 Airbnb,Zach 把定价和可订性数据集的大小减少了 90%,这样公司就可以使用小 10 倍的数据。Zach 承认,数据工程可能会落入阴影里,因为它缺少前端或一条 SQL 查询那种可以拿出来炫耀的特质。当收益只是能见度时,Zach 建议围绕它构建一个故事。

关于这份资料

FAANG 的 Staff(IC6)圆桌讨论(完整版,2023 年 9 月)

本节是对原始文字稿的转述。自动生成的字幕可能有错误。

观看原视频 ↗

已省略 07:00 至 07:43 的会议后勤安排和观众提问计划。

Rahul 对一段关于个人晋升案例研究的 Taro 视频的指引(19:10 至 19:27),作为频道推广省略。

关于管理 Zach 的玩笑(24:57 至 26:28),仅保留承载关于授权的建议的部分;简短的笑声和附和交流,比如 38:42 至 38:55 和 31:14 至 31:30,已省略。

已省略点赞的请求(45:10 至 45:20),以及一个关于分享知识的粗俗玩笑(47:23 至 47:35)。

已省略结尾的社交账号、Substack 和新闻简报推广、域名玩笑、对 Instagram 和游戏的提及、YouTube 频道请求,以及关于第二场圆桌和一个小插曲的话(01:09:34 至 01:13:02,以及 01:13:46 至结尾)。只保留 Rahul 在 01:13:02 至 01:13:46 的要点。

我的笔记在可使用本地存储时,笔记会保存在此浏览器中。
第 43 节 · 圆桌讨论

成为 Staff:大厂中的职责范围、晋升时机与能见度

五位谈论如何达到 Staff 的嘉宾认为,高职责范围的工作、尽早而明确的晋升对话、愿意接受反馈,以及能见度,比头衔本身更重要。

圆桌的观点:职责范围、尽早开口,以及能见度,塑造了通往 Staff 的路径

对圆桌共同观点的编辑总结:开场的框架,把 Staff 视为个人贡献者必须在不管理人员的情况下去领导的第一个级别。进阶从任务,到功能,到项目,再到几个项目或整款产品。嘉宾们认为,达到那个级别,取决于选择有真实职责范围和可见影响的工作,尽早而明确地提出晋升,然后根据反馈采取行动。他们还说,头衔能打开门,却并不决定职责范围,经理们对晋升的控制程度各不相同,而基础设施和产品团队提供不同的路径。有几点是作为个人经验提出的,而不是一般规则。

当 Staff 晋升需要足够的职责范围时,你怎样判断哪些问题值得解决?

Zach 描述了在 Netflix 的一次转变:从一个看起来太有野心的自动化威胁检测项目,转向一个其他团队在很多情况下都能使用的共享图数据库。这次转变,带来了更高的薪酬、更多的尊重,以及更大的领导角色。

Zach 补充说,职责范围并不是唯一的检验。可能永远不会有结果的高风险项目,同样浪费时间。资深工程师可以在投入之前,判断一个项目会有多大的影响,所以对他们提出的一个小请求,可能会躺在待办清单里。

你怎样培养判断力,看出哪些工作会有分量?

Ryan 说,主要的方法,是读懂组织的激励。大多数团队会发布带有指标目标的计划,所以一个人可以把一个想法与团队的目标作比较,并判断它是否足够大。

Ryan 还做过一个在 Ryan 自己团队之外的广告项目,没有人分配,因为收入机会看起来很大。这项工作有明确的影响,并与一次资深晋升联系在一起。

给 Carly 和 Lee:一个人对想要达到 Staff,应该有多明确,又应该告诉经理多少?

Carly 管理 Staff 工程师,并说人们提出晋升的方式各不相同。按 Carly 的经验,大约一半想升到 Staff 的请求,来自还没准备好的人。另一半,则来自早就准备好、却很久之后才提出的人。Carly 看到两类人:很容易开口的人,有时在准备好之前就开口了;以及一直等到准备度得到证明的人,往往比准备好的时间晚了一年。

Carly 建议诚实地反思准备度,又不要把标准设得太高,以至于一位内敛的人退缩。

Lee 说,在大型科技公司,晋升往往滞后于表现,所以一个从不提这个问题的人,可能不知道缺了什么。Lee 建议直接说出目标:希望在技术路线上成长,而不是转向管理。问缺少什么,制定计划,并把证据写下来,这样当这个人准备好时,经理就有了材料。Lee 指出,并不是每个人都想要晋升,有些人更喜欢目前的级别。

经理应该等人来问,还是先提出晋升?

Carly 说,两种情况都有。当 Carly 判断一些没有开口的人已经准备好时,Carly 会主动向他们提出晋升。在一支大团队里,年终评审是主要的反思时间,但 Carly 更希望人们在评审之间,当觉得自己准备好、或明显超过标准时,就开口。Carly 把等待称为一种被动的做法,并认为开口过早几乎没有什么坏处。

如果经理说你还没准备好,该怎么办?

Carly 说,要倾听。反馈通常指向这个人看不见的盲点,一位好意的经理,并不是在试图阻挡一个已经准备好的人。Carly 还把对反馈的回应,视为准备度的一部分。一位 Staff 工程师,必须接受来自领导和团队的反馈,据此采取行动,并反思,而不变得好斗。

另一位嘉宾描述了在亚马逊,第一次尝试被晋升为经理角色,没有通过。这位嘉宾问,提出了哪些反对意见,什么证据能回应每一条,然后跟踪这些差距。晋升后来来了,这位嘉宾说,变化在于对反馈的回应,而不是又多了一个项目。

如果你不同意这个反馈呢?

一位嘉宾说,如果你不同意,并认为反馈是错的,你可以通过去别处面试来检验它,因为市场对准备度有自己的看法。这位嘉宾只在内部晋升过一次,从初级到中级,后来的晋升,都是靠换公司得到的。这位嘉宾说,有些反馈是不合理的,但学会接受反馈仍然重要,而离开是一个有效的选项,而不是必须的选项。

一个人应该怎样表述晋升的请求?

一位嘉宾说,表述的方式很重要。一位新员工一上来就要求晋升,不太可能得到支持。更好的表述,是点出第一个目标,比如上手并产生影响,并请求大约三个月后沟通一次,来规划路径。经理很可能同意,因为这样的请求,既表现出对晋升的兴趣,又表现出合理的优先事项。

另一位嘉宾说,尽早而明确地开口,是值得做的,即使感觉不舒服。在每个级别上,这位嘉宾都会问,要达到下一个级别,需要什么,而经理乐于帮忙,因为团队获得了影响力。一旦晋升看起来有可能,这位嘉宾还会问再下一个级别的情况。

一位高绩效者,对经理有筹码吗?

一位嘉宾说,表现出色的人,在公司内部有筹码,因为经理想留住能解决团队问题的人。从那个位置提出成长的请求,比从一个不那么核心的角色提出,更可能得到愿意接受的回应。

同一位嘉宾点出了局限。经理不能应请求就晋升一个人,因为涉及流程和其他决策者。经理仍然可以把项目引向晋升计划中所指出的那些差距。如果现有的团队无法提供那种工作,诚实的选择,是转到另一个团队,或者去外面看看。

在每个级别上,经理对晋升有多大的控制力?

Zach 说,在 Airbnb,直到资深级别的晋升,是由经理决定的,而从资深到 Staff 及以上的晋升,则经过委员会。Zach 描述了亚马逊在采用委员会做晋升之前的情形,在资深以上的级别,决定是沿着管理链条往上走的,经过隔级经理和总监,而不仅仅是直接经理。

在最高的级别上,流程会有什么变化?

一位嘉宾说,从初级到中级,直接经理的看法通常是决定性的,所以在那里,与经理的对齐最重要。在最高的级别,需要副总裁和其他资深领导的批准,经理更像是委员会的传话人。这就是为什么尽早开口会有帮助,这样经理可以更早地收集委员会的反馈。

一个人应该怎样判断,哪个团队是赢得 Staff 晋升的最佳地方?

一位嘉宾给出了一个粗略的检验。在一家有许多产品的公司里,做核心产品的团队,通常比做边缘产品的团队有更高的能见度。这位嘉宾开玩笑说,在 Garage Band 这样较小的应用上工作,不太可能带来晋升,而旗舰产品几乎不费力就能带来能见度。

另一位嘉宾说,能见度较低的团队,也能取得进展。找到拥有薄弱环节的团队,把问题在他们的代码里展示给他们看,并提出帮忙或与他们结对。与那个团队一起修复一个真正的问题,会让一个人成为强有力的合作伙伴,这不同于一个小小的表面改动。

第三位嘉宾说,在乎这份工作,与它的影响同样重要。在谷歌的一次面试中,这位嘉宾被提供了一个广告方面的角色,并说自己对此不感兴趣。一个人在乎的工作,会得到他们最好的努力,这也让他们更容易向别人为这款产品倡导。

产品团队还是基础设施团队,提供通往 Staff 更清晰的路径?

Ryan 说,Staff 级别的机会,在基础设施团队里更常见。Ryan 的看法是,产品工程师通常通过领导大型项目,来达到资深之上的高影响力,而这样的位置很少。基础设施的工作,内置了杠杆,因为基础性的技术,帮助许多团队更快地前进,这就创造出了更多角色。Ryan 说,Ryan 自己的基础设施团队,与其他团队相比,相当资深。

同样的杠杆,在数据和工程角色里也存在吗?

Zach 补充了在两种角色里的经验。在 Netflix,Zach 是一支构建图数据库的基础设施团队里的 Staff 级别技术负责人。在 Airbnb,Zach 是定价和可订性方面的技术负责人,那更接近产品。Zach 说,数据工程最清楚地显示了这种差别。一个人越是改变其他工程师做事的方式,而不是构建一条流水线,他们拥有的杠杆就越大。

基础设施工作,本身就能带来晋升吗?

一位嘉宾同意 Ryan 的观点,并补充说,改变其他工程师的工作方式,比如让每位工程师每天节省几分钟,可以扩展到数百位工程师。然后这位嘉宾换了一个角度。基础设施工作,往往横跨几支团队,可能自带影响,但问题是实际有什么影响可用,那个领域的经理是否知道怎样晋升人,以及谁看得到这项工作。如果只有团队里最资深的人看得到它,这项工作可能支撑不了晋升。基础设施团队提供了更多机会,但团队的设置仍然重要,而产品工作也没有被排除。

远程或混合办公的工程师,怎样与坐在经理附近的同事竞争?

一位嘉宾说,主要的答案是文档、沟通和证据。关于影响的书面证据,让经理和其他人无需依赖物理上的接近,就能看到工作。这位嘉宾只在完全远程的环境里工作过,所以混合办公的情况是一种外推。

Staff 晋升需要异乎寻常的长工时吗?

嘉宾们给出了不一的说法。一位说,带来晋升的项目,每周需要 40 多个小时。Zach 回忆大约是 50 到 55 个小时,包括 Netflix 图数据库的构建。另一位嘉宾说,50 到 60 个小时很常见,但仍然留有睡觉的时间。还有一位嘉宾指出,有些人是在每周工作 40 个小时的情况下被晋升的。

转入管理的嘉宾们说,工时没那么重要。一位说,作为经理,这位嘉宾每周没有超过 40 个小时,而成倍放大别人的产出,比个人交付,用更少的工时就能体现影响力。另一位按目标而不是按工时来规划,一周工作大约 60 个小时,下一周大约 30 个小时。

创业公司被夸大的头衔,会导致在大科技公司被降级定级吗?

一位嘉宾说,当候选人没有达到公司所期望的级别时,就会发生降级定级。这位嘉宾认为无法避免,除非更强,或者面试得更好。创业公司的头衔常常被夸大,所以这位嘉宾建议,把工作的职责范围,与各家公司在每个级别上的期望作比较,而不是瞄准一个头衔。

另一位嘉宾说,头衔不如薪酬和有意义的工作重要。这位嘉宾从一家创业公司的中级角色,转到 Facebook 的初级角色,薪酬增加了大约 80%,并称这是一笔不错的交易。

资历能打开门,但更大的项目往往在晋升之后才来。你怎样打破这个循环?

一位嘉宾说,资历有帮助,但不如内部品牌重要。经理或总监在遇到难题时,第一个想到的人,通常得到这份工作,而级别往往与这种信任相对应。以能把事情做成而出名,即使没有资深的头衔,也会带来机会。

另一位嘉宾说,头衔是进门的一种方式,而不是唯一的方式。如果经理或资深的赞助人为一个人担保,他们可以被托付以超出头衔所暗示的职责范围,而他们自己的行动,建立了这种信任。总监级别的赞助人,可以为那份职责范围争取,但这个人仍然得自己去找它。

你怎样获得能见度,又不觉得是在自我推销?

一位嘉宾说,能见度对于向上走是必需的,即使感觉别扭,或者这个人比较内敛。能见度并不意味着为每一次胜利发帖。它可以来自在一次重大上线之后做技术分享,主持一个能把别人带进来的讲座系列,或者在内部论坛里回答问题。关键在于,为你说话的人,知道你做什么。

另一位嘉宾补充说,内部品牌,来自平易近人,并帮助队友扫清阻碍。一份晋升的论证,通常需要三四位能为这个人背书的同事的同行反馈。跨越不同的专业,比如与产品经理和数据科学家接触,会加强这个论证,因为一个只赢得一个群体的人,仍然没有在向上走。

寻求晋升的主要原因是什么:钱、头衔,还是工作与生活的平衡?

一位嘉宾说,主要原因是工作的类型。亚马逊的资深和首席工程师,做的是影响力很强的工作,比如指导别人,帮助工程师成长,并塑造自己团队之上的决策。这位嘉宾想要那份工作。薪酬是受欢迎的,但不是主要的吸引力。

往上升,会在有意义的程度上改变薪酬吗?

一位嘉宾说,大科技公司的薪酬,并不随级别均匀地上升。从资深到 Staff 的跳跃,通常比之前的跳跃大得多,而且总薪酬中更多转为股票。钱提供选择权,但股票增加风险。另一位嘉宾回忆起一次账面价值大约 150 万美元的授予,六个月后,在股价下跌之后,只值大约 60 万美元。这位嘉宾还说,股票的结果因公司和年份而异。

离开之后,一个知名的雇主还有帮助吗?

一位嘉宾说,出身很重要,因为人们会做模式匹配。一家知名品牌的公司,比如在大型科技雇主的 Staff 角色,可以为之后的工作或创业公司设定一个底线。这位嘉宾承认,模式匹配也可能对人不利,包括在种族和性别上,并称这显然是不好的。这个好处,对这位嘉宾自己的跳槽仍然很重要。

一位 Staff 工程师,通常会影响多少人?

一位嘉宾考虑的是受影响的人数,而不是团队的规模。一位资深工程师,至少应该影响自己的团队,以及上面那位高级经理的职责范围。圆桌的粗略估计是,资深大约 20 到 30 位工程师,Staff 最多 50 到 60 位,首席则达到数百位,这可能意味着一位副总裁的整个组织。

另一位嘉宾回忆起 Airbnb 一个大约 75 位工程师的市场组织,其中大约有五位 Staff 工程师。

办公室政治怎样影响晋升?人们该怎么办?

一位嘉宾说,政治主要是关于人的。有些同事很难相处,有些人利用关系,以有害的方式出人头地。这位嘉宾并不指望一个人去改变或清除这些同事,所以更好的做法,是提高你自己的地位。如果环境真的有毒,正确的答案可能是换个地方。

同一位嘉宾补充说,当人们谈论政治时,他们往往指的是与高管或另一支团队沟通困难。这个差距是可以弥补的,而弥补它,是工作的一部分。

一个正确却说话直白的人,怎样才能让自己的想法被听到?

一位嘉宾说,一位经理曾告诉他们,他们在大多数观点上是对的,但他们说话的方式,对别人来说太直白了,让人听不进去。这位嘉宾学会了用提问取代宣布一个想法是错的,去问一个设计在更大的规模下能否站得住,并指出一个早先以类似方式失败的系统。这位嘉宾说,被听到比正确更重要,而一个人提出的问题,可以是聪明的表现。

关于这份资料

FAANG 的 Staff(IC6)圆桌讨论(完整版,2024 年 2 月)

本节是对原始文字稿的转述。自动生成的字幕可能有错误。

观看原视频 ↗

00:00.08 至 00:41.52:开场对一张外部职业图表的指引,以及一份隶属关系的免责声明。这个阶梯框架,仅用于编辑的概览。

35:47.00 至 36:23.68:结尾的后勤安排,以及对一个数据工程网站和 SQL 项目的推广。

36:25.52 至 38:45.48:结尾对 LinkedIn、Substack、Instagram 和一个 YouTube 频道的推广,以及个人内容的指引。

38:47.76 至 39:30.12:对一场当天活动和一门课程的推广,以及告别的话。

49:29.76 至 49:38.24:收尾和感谢。

我的笔记在可使用本地存储时,笔记会保存在此浏览器中。
第 44 节 · 访谈

Joakim Recht:晋升的公平、信任与影响力

关于晋升的公平、自下而上的认同、利益相关者的信任、政治性的职责范围,以及通过指导产生的影响力的精选段落。

你并没有一个管理 Uber 所有有状态工作负载的宏大计划,那么你是怎样说服人们开始在 Docker 里运行数据库的?

Joakim Recht

Recht 把功劳归于早期 Uber 的自由,但它也带来了代价:有一次,有人数了一下,使用中的数据库技术大约有 52 种。因为需要批准的人很少,所以为 Recht 自己的团队采用这种方法很容易。更难的部分,出现在团队意识到应该对所有东西都这样做的时候。

Recht 说,他们有意没有试图一次说服所有人。他们先从丹麦办公室所拥有的开始,然后到其他部门朋友所拥有的团队,再到越来越抗拒的小组。他们也知道,平台在第一天无论如何都还没准备好。Recht 不喜欢强迫任何人,宁愿先构建出东西,确保它能行,并让怀疑者在别处看到它运行。Recht 说,这种渐进的方式帮助很大,也花了非常长的时间。

其他团队主要的反对意见是什么?你是怎样回应的?
Joakim Recht

Recht 说,最常见的反对意见是,一个团队已经有了能用的东西,所以替换是浪费。Recht 称这是局部的看法,而不是全公司的看法,因为目标是整体改善有状态的工作负载,而不是某一个团队的配置。

Recht 承认其中的代价。Uber 缺乏完整的软件定义网络,所以一台新主机,意味着一个新的主机名和一个随机的端口,逻辑上的迁移是不可能的。这使得一些存储技术非常困难,团队不得不在不同的范式下,重建已经可用的工具。Recht 说,回报是真实的,而且往往是免费的。一个例子是 NUMA,把内存与数据库进程所运行的 CPU 对齐,这对数据密集的工作负载和调度很重要。一个共享的平台可以处理它,而单个团队很少会顾得上。Recht 说,平台积累的这类好处越多,就有越多的人转变了想法。

这是一场自下而上的努力吗?领导层是什么时候介入的?

Joakim Recht

Recht 说,这项努力,从下往上只能走到一定程度。Uber 有状态的这一侧,分成两半:在线数据库(MySQL、Postgres、Cassandra 及类似的),以及数据栈(HDFS、Kafka、Pinot 及类似的),后者处在一个完全不同的组织里,两条管理链条只在 CEO 那里交汇。数据栈一侧起初说,这个想法听起来不错,但他们不在乎。

随着时间推移,管理链条上有越来越多的支持,最终领导层宣布 Odin 是未来,并说团队将不再被允许运行自己的服务器。Recht 说,这项强制要求有助于推广,因为无论产品多好,总会有落后者,而单靠自己,很难达成完全的对齐。

对于关心职业层面的人,你的职业生涯在这每一步上是怎样成长的?

Joakim Recht

Recht 描述了一种自认为天真的希望:晋升并不总是公平的,但相当公平,并与工作的职责范围以及受其影响的人数挂钩,而不是通过直接的权力。Odin 遵循一种自然的扩展:先是在团队内部,然后是本地组织,然后是更广泛的平台,然后更远。Recht 说,把一个那种职责范围的项目运行到成功,会产生几乎自动发生的一连串晋升,并带动整个团队。

Recht 承认其中有一些运气:一个项目持续了很长时间,而许多人被调来调去,或者看到项目被取消,这让展现不断扩大的职责范围变得更难,尽管并非不可能。Recht 的晋升,与工作同步。背景工作在先,然后是平台的第一个版本,Recht 认为它赢得了一次晋升。随后扩展到标准的 MySQL 和 Cassandra,Recht 认为,这带来了首席工程师(头衔名称一路在变)。把项目交给团队,让 Recht 可以去做别的事情,带来了杰出工程师。Recht 说,晋升从来不是做这项工作的理由。

让你的工作影响越来越多的工程师,典型的方式有哪些?
Joakim Recht

Recht 点出了一个个人的驱动力:不喜欢把同一件事做很多遍。手动替换几次数据库主机,就会让它成为要自动化或抽象掉的东西。同样的问题,随后从自己的浪费,延伸到团队和其他人的浪费,Recht 说,职责范围的扩展就是从这里来的。Recht 开玩笑地称之为“懒惰工程师”的想法。缺点是深度优先的兔子洞:一项任务需要一个工具,这个工具需要更好的构建系统,如此等等,这可能严重偏离真正的工作。Recht 从中看到了天然的杠杆,因为工具让软件替自己做事,并帮助别人。

关于扩展自己、成为力量倍增器,Recht 更喜欢帮助别人工作得更好更快,最好是把他们的问题彻底去掉,而不是指导或自上而下地推行设计。Recht 问的问题是:如果人们不再需要做那件事,他们能做什么。

你说过,晋升通常是公平的,基于工作的影响。你说它们有时不公平,是什么意思?

Joakim Recht

Recht 在晋升委员会里坐了很长时间,并说形式发生了很大变化。第一个,涵盖了整个平台工程。经理、副总裁、高级总监和资深工程师,在一个房间里坐了一天,过一遍每位工程师,Recht 猜测人数有数百,没有准备,也没有书面材料。每位经理说每个人有多好,不出所料,认为每个人都应该晋升,所以临时搞了一套积分制。Recht 说,在那种设置下,结果取决于经理陈述论证的能力:一位薄弱的经理,意味着一份薄弱的论证,不过一位优秀的经理,也可能与薄弱的工作联系在一起。Recht 把这种不公平,部分地与 Uber 早期的文化问题联系起来。

结构有了改善,但 Recht 说,客观的判断是不可能的。一位工程师可能依赖于另一个从不交付的团队,或者一个快要完成的项目,被管理层因为不是这位工程师的过错的原因取消了。委员会就必须在“按没人用过的代码晋升”与“拒绝一位做了好工作的人”之间选择,在公平与动力之间取舍。一些工程师还觉得受到不公平对待,因为他们相比一支薄弱的团队表现出色,或者生活在一座孤岛上,没意识到其他小组强得多。Recht 回忆起 Uber 从 Python 和 JavaScript 转向 Go,而当时没有人懂 Go,委员会就判定一些小组的产出,干脆不够好。

Recht 说,对那些没有为自己所进入的环境做好准备的人来说,这感觉不公平。这就是为什么 Recht 写了一份关于在 Uber 做软件工程师意味着什么的指南,Recht 预期这与 Meta 或谷歌的不同。标题,类似“打败晋升委员会”,只是为了抓人眼球。Recht 为人们准备材料、收集同行反馈、一路上却没有得到纠正,最后却被拒绝而感到遗憾。

这份指南,与其说关于晋升材料,不如说关于成为更强的工程师。里面有什么?
Joakim Recht

Recht 说,它的核心是良好的工程实践,最重要的是这样一句话:“如果你不写代码,你就不是软件工程师。”Recht 把这一点用在每一个级别上。数量可以不同,但应该定期写代码,最好每天写。Recht 建议不要想得太多,或以为更高的级别需要更高深的代码,并说从没见过坚持写代码的人,没有随之成长。

次要的建议是:写好的代码,写好的提交信息,评审代码,并让代码容易被评审。Recht 说,这门手艺,在大学里很少教,那里主要是理论,它是通过观察别人学会的,不过现在 AI 可以帮忙。工程师还需要阐述自己的工作,比如在设计文档里。Recht 的第二条理念是:能运行的代码,胜过完美的代码。在提交之前力求处理每一种情况,可能意味着一个月的工作没有任何反馈,还可能走错了方向。

常见的建议是通过授权,成为一位不再写代码的技术负责人,来扩大自己的规模。你怎么看?

Joakim Recht

Recht 完全不赞同这个想法,并且经常见到。一部分是品位:Recht 一直喜欢写代码,并说即使没有工作,大概也还会做。但 Recht 也给出了理由。如果一位工程师不再写代码,系统会继续演化,而这位工程师就会与它失去联系。设计会变得更理想化,脱离现实,而当它们被交接出去时,实现者会纳闷,那个拿着白板和文档的人是谁,因为真正的问题是不同的。

Recht 把扩展自己,定义为让尽可能多的人高效地工作,而不是克隆自己,那很少行得通。当人们信任你,知道你理解他们的痛点,知道你的建议通常有效,知道你会倾听时,这会更容易。随着人员进进出出,一位不亲自动手的领导者,会同时失去与人和系统的联系。Recht 说,结果可能是敌意,人们不当着领导者的面说。Recht 个人不喜欢被一个没有利害关系的人告诉该怎么做,同时对意见保持开放,并承诺作为交换,不插手别人的工作。

即使副总裁说的与工程师说的一样,为什么工程师还是不信任管理层?
Joakim Recht

Recht 说,来自不了解团队的人的自上而下的指示,会造成不信任,有时是赤裸裸的敌意。在最糟的情况下,人们说这是个好主意,然后什么也不做,Recht 称这是最令人恼火的结果。Recht 把这种不信任,追溯到一种感觉:说话的人并不真正了解发生了什么。这个想法也许是对的,但如果与说话的人没有联系,就很难照单全收。

Recht 不确定这是人性,还是个人问题,并怀疑部分可能是丹麦人的特点,因为那里几乎没有结构,但说,在湾区,光靠权威也走不到底。当人们嘴上说好,心里不信时,他们不会担起主人翁责任,项目可能完成了,但做得不好。Recht 说,赢得真正的相信,比人们愿意的更费力气。

你必须影响许多人,才能把你的项目推广到整个 Uber。你怎样影响其他工程师,又避免那种局面?

Joakim Recht

Recht 说,总有某个地方的某个人,永远不会被说服,而 100% 不是目标。Recht 相信以身作则:如果你说要构建什么,你就帮着一起构建,并承担很多痛苦。级别越高,越被告知要专注于只有资深者才能做的难事,但 Recht 说,那样的事很少。Recht 认为,提出想法的人,往往保留有趣的部分,比如新算法或好玩的工作,而大多数时候,艰难的工作应该授权给下面的人,给那些勉强能应付的人,并提供支持让他们不偏离轨道。资深工程师保留枯燥的工作,因为到了那个级别,没有什么需要证明的了。

Recht 说,承担苦活,能赢得很多信誉,也让别人成长得快得多,因为一支受到挑战的团队,工作和成长得更快。以身作则,主要意味着写代码,加上改进文档,或修复古怪的 bug,这通常没什么光彩。Recht 对此坚信不疑。

这与通常的建议相反,通常的建议是拿最难、最出彩的部分,把简单的活推给别人。你这种做法有什么缺点?
Joakim Recht

Recht 没有列出缺点。相反,Recht 认为,简单的工作,往往隐藏着问题。去看一支团队为什么有这么多 bug,可能引出糟糕的评审或糟糕的测试,而那个简单的任务,也可能发展成不平凡的东西,确实需要一位资深的人。

对那些问如何找到合适的项目来获得晋升或扩大职责范围的工程师,Recht 给出同样的建议:忘掉这些,写一些能运行的代码,不管多小。每一次,都要问这项工作是不是正确的事,因为构建一个系统,往往会给别人创造工作,他们要管理和配置更多的系统。考虑净结果,以及如何改进它。Recht 的理念是,职责范围随后会自己来,而那些担心找不到合适职责范围的工程师,应该放松,专注于提供价值。Recht 说,在大多数情况下,它行得通,而在行不通的地方,那又回到了公平问题,但 Recht 认为,这是迄今为止最成功的路径。

随着你的晋升,你的角色变得更政治化了吗?

Joakim Recht

Recht 先问政治化是什么意思,然后描述了什么发生了变化。更多的交谈,更多的争斗,因为你必须推广想法,也许更糟的是,倾听其他每个人的想法。同时也更多地暴露于现实。作为初级工程师,似乎有人有一个宏大的计划,一切都在掌控之中。后来,Recht 说,你会意识到没有人掌控着一切,决策可能基于淋浴时冒出来的一个愿景,或者与另一个同样不知道的人的一次交谈,而那就变成了战略。Recht 觉得,这对一位理性的工程师来说很可怕,并说这不适合每个人,自己一点也不喜欢。

Recht 的应对方式,是从中抽离出来,做自己的事。Recht 见过许多人被卷进好几周的规划里。因为 Recht 不需要别人告诉自己怎么做事,所以也不告诉别人。Recht 从来不是个职业规划者,并对看起来是死胡同的项目有强烈的反感,Recht 把它们留给别人,说了很多次“不”,在有些人看来也许太多了。这只有在自己的工作重要到足以填满自己的职责范围时才行得通。Recht 对花好几天谈论要做某件事、最后得到一份关于明年的模糊计划,耐心也很低。

有些人为了避免这些事,而避免晋升。你后悔升到这么高的级别、不得不应付政治吗?
Joakim Recht

Recht 说,有过“要是……就好了”的时刻,但这取决于一个人抵抗压力的能力,对自己有多自信,以及多在乎别人的看法。在乎得越多,就越难。

Recht 把功劳归于远程的设置。丹麦办公室与旧金山的团队合作,所以它的白天不被打扰,会议在晚上,一天只占用人们几个小时。没有人能在走廊里拉住他们去参加讨论。Recht 说,物理上和时区上的距离,帮助很大。

你说最好的结果,是对方认为这个想法是他们自己的。你是什么意思?

Joakim Recht

Recht 说,这种事不常发生,但那些是最好的日子:几个月后,无意间听到有人满怀信念地论证一个 Recht 曾提出、而对方当时并不喜欢的想法,却没有提到 Recht。对 Odin 的抵制就是一个例子。一个必须重建自己已有工具的团队,起初只看到成本,后来在没有被强迫的情况下,逐渐看到了好处。

Recht 可能推动过几次,或者环境稍微改变了这个人。Recht 把那种感觉,描述为不是证明了自己是对的,而是为这些人现在走在正确的路上而感到自豪,而且是在没有强迫的情况下达到的。

据说你在自己的组织之外挑选被指导者,并把他们分散开来,以扩大你的影响。你是怎样挑选被指导者的?

Joakim Recht

Recht 说,指导听起来很有吸引力,但作为扩大规模的方式,效率非常低,因为是一个人对另一个人说话。因此,Recht 主要瞄准的是一个网络,以及双向的对话,其中对方也分享一些东西。在自己团队内部指导,会引出究竟谁在学什么的问题,而近距离的建议,可以在小组场合里非正式地给出。

与离得更远的人在一起,工作更多,好处也更多。Recht 可以了解他们做什么,对他们的工作提出意见,并播下种子。Recht 见过一些抱怨拿到糟糕项目的人,开始想到另一种工作方式可能是可行的,这可以在他们的团队内部产生影响,最终扩展到更广泛的组织。这就是为什么 Recht 更喜欢不那么亲近的被指导者。

一位有潜力的被指导者,怎样表明潜力,并自然地建立指导关系?
Joakim Recht

Recht 不会以请求指导开场,那听起来像是一份很大的责任。更好的做法,是就某件具体的事情请求帮助,或者谈论一个设计或产品,然后由此继续。大多数时候,冷联系是有效的,尽管 Recht 没有收到很多这样的请求。Recht 还建议出现在演讲上并提问,Recht 把这解读为兴趣的好信号。

Recht 认为,导师不应该因为一个人不知道说什么而把他排除在外,因为需要指导,正是重点。愿意学习,可以在 10 到 15 分钟的交谈里判断出来。Recht 更喜欢非正式的指导,并不喜欢 Uber 尝试过的各种指导项目,因为人们需要的东西是个体化的,并不适合计划或日程。说指导已经走完了它的过程,也是可以的。

体验 2017 年前后 Uber 的文化冲击是什么感觉?

Joakim Recht

Recht 说,丹麦和硅谷有很大的不同,并发现这些新闻令人困惑,因为原本以为每个人都只是在写代码、玩得开心。距离帮了忙。有九个小时的时差,办公室的白天保持安静,在人们离开或被解雇、董事会成员和 CEO 被逼走的同时,它仍然可以继续执行。

Recht 对 Uber 文化的印象是,绩效评估、晋升,甚至薪资谈判,都是关于个人,而不是团队,Recht 觉得这难以理解。丹麦办公室从未完全采纳这种心态,所以对他们来说,变化小一些。Recht 举出了他们无法理解的丑闻,比如滥用某人的私人数据,以及在一场骚扰丑闻之后的全公司直播里,一位董事会成员关于董事会里女性的言论。Recht 的心情很复杂,既庆幸有距离,有时又像在看热闹。在 2017 年之前去美国办公室访问时,Recht 觉得,周二下午被请喝威士忌很奇怪。

有了现在的了解,你会给职业生涯开始时的自己什么建议?

Joakim Recht

Recht 说,要去尝试,不要因为某件事看起来很难、或别人似乎好得多就害怕。他们也许更好,但你可以追上去;这不是火箭科学,只是计算机,任何喜欢计算机的人,只要坚持下去,就会过得很好。Recht 建议让好奇心带路,不要以为目前的工作是可得的最好的,因为更好的东西大概已经存在,或者很快就会出现。不要仅仅因为眼下的工作好玩,就放弃它。Recht 承认,很难判断什么比自己拥有的更好,所以有时只能赌一把。

关于这份资料

Uber 杰出工程师:不公平的晋升、影响力、工程上的遗憾 | Joakim Recht

本节是对原始文字稿的转述。自动生成的字幕可能有错误。

观看原视频 ↗

开场的预告片段剪辑(00:00.00 至 00:51.04):后面回答的简短节选和主持人的引子;在概览和相关的几轮中只呈现一次。

已省略结尾的感谢,以及嘉宾指向 LinkedIn 以阅读其文章的提示(01:25:49.84 至 01:26:16.00),属于频道事务。

已省略主持人结尾请求参与播客、留下评价和推荐嘉宾的话(01:26:17.36 至结尾,约 01:26:51),作为推广;主持人声明没有赞助。

来源中没有赞助商口播。

这一精选章节保留了来源中关于职场、领导力和职业的段落。技术性的和无关的讨论已省略。

我的笔记在可使用本地存储时,笔记会保存在此浏览器中。
第 45 节 · 访谈

让问题来选择角色

Ilya Grigorik 回顾了一段围绕好奇心、自给自足的团队,以及一套多面的技能组合而构建的,创始人、经理和首席工程师的职业生涯。

为什么滑铁卢的合作教育(co-op)学生这么有效?

Grigorik 把功劳归于学期与工作期交替进行,而不是把行业经验,当作多年学习之后一次可有可无的打断。大约六次实习安排,提供了对行业、公司规模、角色和工作环境的反复试验。

一次短暂的实习,可以证伪一个先入为主的偏好,又不会在简历上留下反复离开正式工作的污点。想象过华尔街的人,可能发现那座城市、那里的人或工作并不适合自己。反复的选择,建立了更好的个人适配模型。

应用性的工作,也把理论工具放进了背景里。工程师必须在约束下解决一个真实的问题,并认识到什么时候,理论上很精妙的优化并不重要,比如当数组只有十个元素的时候。他希望更多的大学采用这种反复学习的循环。

为什么毕业后创办 PostRank?

他最初计划读研究生,部分原因是不知道该做什么。那个夏天,他探索了一个产品想法:链接可以标志有用的内容,而在更新的网络里,评论、点赞和其他社交互动,可以增加更多信号。PostRank 聚合这些互动,来给帖子排序。

他的产品上线,既带来了需求,也带来了实现上的问题。他回忆起好几个不眠之夜,因为服务器吃力,他承认,糟糕的代码也是原因之一。曝光引来了与投资人的交谈。

面对研究生项目的开学,他注意到,最吸引他的课程,都与创业有关。他可以在学术上研究这些想法,也可以在已经与投资人交谈的同时去学习。他推迟了那个项目,完成了融资,再也没有回去读完学位。这个选择,是一次与真实机会相关联的实验,而不是一个预先确定的创始人身份。

谷歌的收购对话是怎样开始的?

在一次会议演讲之后,谷歌分析(Google Analytics)的一位产品负责人,找到团队,邀请交谈。这场讨论是友好的、探索性的,从了解产品开始,并问是否能合作。Grigorik 后来明白,谷歌对 Facebook 及其社交举措的回应,创造了对相关人才和基础设施的需求。分析产品可以利用他们的经验来理解社交互动,形成了一个互相有用的联系。

谷歌是怎样为被收购的团队确定级别和薪酬的?

团队,包括 Grigorik,经历了一次加速的集体流程里的完整面试小组。谷歌评估的是工程质量和级别,而不是假定仅凭收购就确定了这些。交易的谈判,也有不同的层面:人员、客户、产品和知识产权。

收购款,只是一笔巨额的签约奖金吗?

不一定。不同的交易,获取资产和人员的不同组合。PostRank 提供了有用的知识产权,但它的产品,在很大程度上必须在谷歌分析内部重建。从几万个账户,转到互联网规模的流水线,改变了工程的经济学:即使增加一个很小的字段,也可能意味着巨大的存储。他记得向可靠性工程师学习,去审视这样的改动。

你在谷歌分析的角色是什么?为什么放弃一条走向总监的轨迹?

他是以工程经理的身份加入的,因为他曾是创始人兼 CTO。他仍然致力于最初的目标,帮助发布商理解互动,并花了大约一年时间重建技术栈。当团队走上稳健的轨道之后,他考虑了另一个方向。

一位副总裁提供了一条通向总监的清晰路径,但谷歌的技术环境,吸引了他的好奇心。内部文档显示,那里的工作远远领先于已发表的论文,而工程师们有时缺的是时间,而不是分享这些进展的许可。他对为更广泛的 Web 生态系统做贡献产生了兴趣。

“让 Web 更快”(Make the Web Fast)小组,横跨蜂窝网络系统、协议、代理,以及衡量速度这个根本性的问题。Grigorik 选择平行调动到个人贡献者的工作,尽管他可能被降级,并重置了常规的管理路径。他看重更多的自主性、引人入胜的问题,以及他钦佩的合作者。

好奇心和对自己时间的掌控,是实际的取舍吗?

是的。他说,经理的日历,在很大程度上服务于别人的需要。他想要另一种模式,在其中他可以把更多自己的工作,引向他的技能格外有用的研究或项目。他承认,在做这个选择时存在很大的不确定性。

为什么后来又回到开发者关系领域的管理岗位?

他把个人贡献者与经理之间的往返,视为资深工程师中一种被低估的模式。一个人可能先独自发现一条路径,然后意识到,构建完整的解决方案,需要一支团队。他的比喻,区分了开辟一条小径,与修建一条高速公路。

他的性能工作,进入了浏览器标准和指标。一旦有了这些指标,瓶颈就变成了分析厂商和开源项目的采用。一个人无法完成所有这些外联。一支开发者关系团队,可以加速那些否则可能要几年的采用。

所以他回到了招募和组织人员,为这个问题服务。这次管理上的转变,是把工作带过一个新阶段的手段,而不是永久地宣布人员管理是唯一的成长方式。

“任期”(tour of duty)是关于哪个角色最适合服务使命吗?

是的,尽管并非每个问题都必须成为他个人的使命。成功往往意味着,帮助一支团队到达没有他也能执行的地步。持续的依赖,说明他还没有足够地让团队变强。如果他承诺领导一段时间,他仍然需要一个继任计划:要么解决问题,要么建立一个自给自足的轨迹,然后退后一步,作为个人贡献者去寻找下一个问题。

在 Shopify,从首席到杰出的成长,需要什么?

他没有给出一份清单,也没有点出某一个晋升项目。首席工程师必须在模糊中找出有用的工作。他预期,进入一个陌生领域的人,要了解全局,建立合作关系,理解领导者的问题,并确定自己的技能适用于哪里。

对于杰出级别的工作,他强调的是在各个技术层面和业务需求上展现出来的广度。一个人必须理解底层的约束,重构真正的问题,并把它与产品和业务搭档需要的东西联系起来。

执行的模式,也随情形而变。一个前沿的问题,需要快速的实验来揭示未知;一个长期存在的平台 API,则需要对生态系统的后果慢慢考虑。无论哪种情况,探索都必须引向一项建议和有用的执行。他把这个角色的模糊性,比作一位副总裁收到较低层级解决不了的难题。

为什么要争当“唯一的人”,而不是“最好的人”?

他尊重深入的专家,但认为如果需求变化,一个组合更有韧性。适度的设计、销售、支持、托管、安全和工程技能,可以组合成一种有用的能力,否则需要一支团队。当一位专家到来时,他可以把一部分交出去,专注于别处。

跨职能的学习,也让他能够在营销、公关、工程和业务搭档之间做翻译。他回忆起为了学习他们的词汇,而集中阅读了营销方面的书。他关于快速学习的百分比,是个人的经验法则;并不是在每个领域都被证明的学习速率。

资深的人不必知道得最多。他的责任,可以是找到专家,并帮助他们在平台的可能性与业务需求之间那片困难的空间里找到方向。知道怎样找到答案并促成决策,不同于背下每一个 API。

宽广的技能交集,会让通才与众不同吗?

他同意。一个对几个相关领域有足够了解的人,可以把它们结合起来,解决不寻常的问题,并随着情况的变化,改变自己的贡献。管理经验是另一件可用的工具:即使作为个人贡献者,他也能辅导、给出反馈,并与经理们有效地合作。他用概率语言作的类比,表达的是独特性;这场访谈并没有确立一个基于独立性的、关于职业成功的数学模型。

个人贡献者应该尝试管理吗?回去算是降级吗?

他建议把团队领导,当作一种探索的方式,如果适合,就去做管理本身。他希望组织允许双向的流动,而不受惩罚。资深经理可以看重自己学到的东西,同时仍然记得,早先的技术角色,是自己最快乐的时期。回到那种工作,可以是一项新的挑战,而不是失败。

有哪些遗憾,是别人应该借鉴的?

不要让成功把尝试的门槛提得太高,以至于停止学习。他早期的写作和代码,现在看来让人尴尬,但发布它们,带来了反馈和鼓励,使改进成为可能。

更大的受众,会产生对出色产出的期望。这可能压制那些曾经会自由分享的普通观察和实验。他仍然在这个过滤器上挣扎,并鼓励有勇气犯错或被人不喜欢,而不声称什么都知道。

当人们期望一位杰出工程师知道答案时,你怎样进入一个陌生的领域?

明确地设定期望。他是来帮忙和学习的,问基础的问题,并解释自己需要迅速建立一个模型。否则,好奇心可能听起来像一次攻击。既承认别人知道什么,也承认自己能贡献什么,让这场交流变得协作:他们提供领域专长,而他可以扫清障碍或联系各种想法。

哪位作者或哪本书影响了你的职业生涯?

他推荐肯·罗宾逊爵士(Sir Ken Robinson)关于教育、创造力和找到自己天赋所在的书和演讲。这种理念,与关于合作教育的讨论产生共鸣:让人们发现自己的长处,并结合技能,而不是塞进一个僵化的、按年龄划分的工厂模式。他认识到,实施这样的教育体系是困难的;他的认可,针对的是它的方向,而不是一个现成的政策。

你会对刚开始时的自己说什么?

要珍视结合技能的能力,而不要因为朋友们在单个领域里更精深,就觉得自己不如人。早期对自己宽泛、但参差不齐的能力的不确定,最终让位于认识到它的用处。

他还会更勇敢,更少地自我过滤。公开演讲曾经让他恐惧;推介一款自己在乎的产品,与为一个班级表演知识,感觉完全不同。热情改变了他的投入方式。他没法预料,沟通后来会成为他工作的很大一部分。

编辑综合

“任期”随问题而变化

  1. 找到路径作为个人贡献者,调查并界定一个不确定的问题。
  2. 组建团队当执行超出一个人的能力时,招募并组织。
  3. 让进展持久解决这个问题,或建立一个自给自足的方向。
  4. 规划继任去掉对最初开路者的依赖。
  5. 回到探索选择下一个贡献,以及它所需要的角色。
编辑综合。箭头表示 Grigorik 叙述里一个可能的项目生命周期,并不是一个必须的晋升阶梯。
关于这份资料

Shopify 杰出工程师(L10):首席以上的工程、职业故事、遗憾 | Ilya Grigorik

本节是对原始文字稿的转述。自动生成的字幕可能有错误。

观看原视频 ↗

0:00–0:41 的开场预告片,重复了后面的交流,只呈现一次。

已省略约 49:33–50:26 的结尾问候和播客支持请求。

我的笔记在可使用本地存储时,笔记会保存在此浏览器中。
第 46 节 · 访谈

理解资深工作中人际层面的责任

关于资深个人贡献者的人际职责、反馈、岗位期望,以及追逐晋升的局限的精选段落。

当你到达杰出工程师时,你是怎么想的,你想要再晋升一次吗?

职业早期,Su 以为晋升会每隔几年继续一次,并没有考虑过会有一个终点。到了七级,他认识到,更高的角色需要更大的职责范围,而业务必须真的需要那种职责范围。一个组织,可能出于预算和组织上的原因,限制合伙人级别的职位,不论个人有多大的抱负。

当 Facebook 第一次设立九级时,最初被晋升的人,似乎格外有成就,并受到普遍的认可。他不认为再往前走是现实的。他的回忆挑战了这样一种想法:每一次晋升,都只是又开启了一个可预测的向上的台阶:角色会变窄,机会很重要,人们会遇到极限。

是什么让你在 Staff 及以上的阶段,仍然保持成长?

在他在微软职业生涯的大部分时间里,级别是他在学校里所喜爱的成绩和考试的替代品。职场工作几乎没有清晰的数字指标,所以晋升感觉像一个成就分数。他在三十出头时,一直积极地追求这个分数。

过了七级,他不确定自己是否会喜欢不断变化的工作,或者能否达到它的期望。他后来升到八级和九级,是他觉得有趣的工作的结果,而不是明确的目标。当时的 Facebook 还很小,使命导向;他说,他甚至不知道那里有级别,直到他的经理告诉他,他已经被晋升了。

是什么改变了你对晋升的看法?

回报变得不那么单纯了。一次晋升,带来了他不再确定自己能否履行的期望。留在一个他已经享受那份工作的级别上,开始让人觉得舒服,他也认识到,那也许就是他最后的级别。

他回忆起,在一位导师把他晋升到七级之后,他立刻问怎样才能达到八级。导师问,他们能否花一次会面来庆祝。多年后,Su 意识到,这位受人尊敬、更有经验的导师,自己就处在同一个级别。他现在认为,自己当时的反应不够谦逊:在现有级别上做出出色的工作,本身就是一项实质性的成就。

是什么让对“更多”的强烈渴望平静了下来?

他认为,年龄也许有一点作用,同时他明确地看重年轻人的雄心。一个更具体的因素,是工作的变化。直到大约 IC6,这份工作常常感觉像是编码、重构和更长期的工程项目的更大版本。

对于一位通才来说,过了那一点,晋升越来越意味着设定团队的方向,判断一款产品是否值得构建,以及化解组织之间的冲突。无论走个人贡献者还是管理路径,会议都随工作而增多。他对这些未来的变化,变得不那么热衷。他承认,有些罕见的工程师,凭借出色的编码能力,支撑着另一条路径。

在寻求降级之前,你有没有要求过不要被晋升到 IC7 以上?

从七级到八级的时候没有:那次晋升让他感到意外,而当时较小的 Facebook,所涉及的组织开销仍然相对较少。后来,仅西雅图办公室一处,就从寥寥几张办公桌,增长到了两千多人。在一个大得多的组织里,资深的角色包含更多的协调,更少直接的技术工作。

他把令人愉快的人际工作,比如欢迎同事和创造协作,与政治、不快乐的同事和建设性的反馈区分开来。他觉得自己在领导 Facebook 伦敦站点时很有成效,但在后者的一些职责上,成效要低得多。即使是没有直接下属的资深个人贡献者,也被期望去改善周围的人,所以放弃管理,并不会去掉人际方面的要求。

从 IC9 回到 IC7,是什么感觉?

尽管是自己的选择,这仍然很难。上升曾经感觉像进步;而身处顶端,既有非凡的机会,也有令人疲惫的期望。他觉得有一束持续的聚光灯,照在公司是否从一位高薪的资深员工身上得到了价值这件事上。

看着曾经低于他级别的人升到他之上,带来的是惆怅,而不是想要限制他们成功的愿望。他记得自己曾经有能力做那样的工作,并想知道自己能否再做一次。他用《贝奥武夫》(Beowulf)作的类比,表达的是想最后一次交出一场精彩表演的愿望,同时接受这也许已不再适合自己。

是什么变化,让更高的级别更难维持了?

他的环境变了。在一家小公司里,他通才的广度是有用的:对于 Facebook 的视频通话,他写代码,谈合作伙伴的合同,处理测试安排,还跟媒体交谈。大公司则把这些任务,分配给专门的职能。他认为,资深的领域专家,更适合那样的环境,而他自己的长处,变得不那么相关了。

后来的一支团队,整整一个半年都在修一个内部工具的 bug。他愿意帮忙,但那不是让他觉得自己格外杰出的工作。与此同时,他厌倦了要满足资深期望的压力。早先,作为团队里最弱的人,会觉得兴奋,因为他在追赶;后来,这感觉像是一种反复出现的风险,而不是一个令人向往的挑战。

考虑到你的晋升,这种压力主要是冒名顶替综合征吗?

他承认,其中可能有一部分是,但认为很大一部分,是对适配度的诚实评估。在 IC4,他能想象,只要有时间,自己可以胜任许多 IC5 的工作。在 IC7,他能看到同事们在做他认为自己做不了的工作。更高层级的业务角色,也变得更具体:组织需要的是技术和其他长处的某种特定组合,而他自己的形状,与许多这样的角色并不匹配。

关于这份资料

OpenAI 与 Meta 的杰出工程师(IC9):科技职业巅峰背后的心理 | Philip Su

本节是对原始文字稿的转述。自动生成的字幕可能有错误。

观看原视频 ↗

0:00–0:45 的开场预告片,重复了后面的内容,只呈现一次。

已省略约 28:28–29:49 的 WorkOS 和 Jira 赞助商片段。

已省略 43:24–44:19 的结尾播客和键盘推广。

这一精选章节保留了来源中关于职场、领导力和职业的段落。技术性的和无关的讨论已省略。

我的笔记在可使用本地存储时,笔记会保存在此浏览器中。
第 47 节 · 访谈

Philip Su:资深职责范围、经理的可信度与沟通

关于经理的可信度、个人贡献者/管理岗位的选择、资深职责范围、站点文化、指导和写作的精选段落。

Philip 把在微软职级阶梯上快速攀升的功劳,归于什么?

Philip Su

Philip 点出了几个原因。一个是与非常优秀的经理和队友共事。微软的平板电脑团队大约有 20 人,其中有三位是杰出工程师,Philip 称这在微软非常罕见。Philip 很快从他们那里学到了很多。

另一个原因是非常长的工时。第一年,Philip 在办公室里放了一个睡袋,常常睡在那里。Philip 设了凌晨 3 点的闹钟,来效仿 Philip 所描述的达·芬奇(Da Vinci)的做法,即把睡眠分成两个四小时的时段,中间写代码。

Philip 把快速成长归结为运气、天赋和努力。运气意味着在合适的时间出现在合适的地方,比如在谢尔盖(Sergey)和拉里(Larry)在斯坦福的时候,也在斯坦福。天赋之所以重要,是因为 Philip 拒绝“任何人都能成为任何人”的说法:Philip 永远不会成为一名出色的篮球运动员,而一位糟糕的演讲者,可以变得过得去,但成不了西塞罗(Cicero)。努力之所以重要,是因为一个比同样有天赋、同样幸运的人更努力的人,会走得更远。Philip 补充说,Philip 并不向每个人推荐这样做。

如果目标是不惜一切代价成长,那些工时真的是最优的吗?
Philip Su

Philip 说,人们为工作周辩护时,常常引用亨利·福特(Henry Ford)的发现:每增加一个小时,生产力就更低。Philip 同意,熬得越久,每小时的产出会下降,但说对许多人来说,这条曲线要走很远,增加的一小时才会变成负的。在 Philip 看来,每周工作 50 或 60 个小时,总体上大概能做更多的事,尽管每多出来的一小时,效率更低。

Philip 用外科医生的类比,补充了第二点考虑。Philip 听一位外科医生说,获得手术经验最快的办法,是累积很多手术的小时数,所以一段漫长的住院医师期,可能把六年的经历,压缩到四年里。Philip 说,没有人想要一位在第 34 个小时的外科医生,但一位经验广泛的外科医生,是很有价值的。Philip 不会推荐自己早期那种疯狂的工时,但它们给了 Philip 远多于典型的微软初级员工的经验。收益递减,但仍有收益,所以一个真正把职业放在一切之上(包括人际关系)的人,应该工作更多。Philip 说,Philip 自己的工作与生活,多年来是失衡的。

Philip 为什么成为经理?为什么这个角色一直在变?

Philip Su

Philip 说,晋升到相当于微软 E7 的级别,是以经理的身份,此后 Philip 也在那个级别上做过个人贡献者。早期,Philip 非常有野心,并且来自一种文化,作为华裔,在那里经理更受尊重,也走得更远。Philip 现在称,“管理是下一个成长步骤”这种信念,有些误导。

在整个职业生涯里,Philip 在管理与个人贡献者之间,至少切换过六次。Philip 喜欢做个人贡献者,却常常被要求去管理,比如作为临时的经理。

Philip 是在管理不善的团队里介入的,还是经理们来向 Philip 求助的?
Philip Su

Philip 说,两种情况都有。Philip 偏好的顺序是,首先是个人贡献者,然后是缺少更好经理的团队的经理,而如果让 Philip 自己决定,Philip 宁愿不管理人。Philip 宁愿去管理一支管理不善的团队,也不愿让它一直那样下去。

Philip 还说,有四次,Philip 以前的一位经理,要求向 Philip 汇报。

一位经理,怎么会来向以前在其手下工作的人汇报?
Philip Su

Philip 说,每个案例都不同。有时,这位经理在同一支团队里向 Philip 汇报。有时,这位经理在多年后,两人都已调走之后,要求加入 Philip 的团队。在一个同一团队的案例里,这位经理想成为个人贡献者,而 Philip 作为一位出色的个人贡献者,想去管理,所以几乎是就地互换。在大多数案例里,Philip 加入了别处的一支团队,而一位喜欢与 Philip 共事的前经理,乐于在那里为 Philip 工作。

Philip 认为,部分原因是向优秀的经理学习过。在职业早期追逐过管理之后,Philip 不再像寻找个人贡献者岗位那样,积极地寻找管理岗位。

一个人应该怎样在继续做个人贡献者与成为经理之间做决定?

Philip Su

Philip 对新的体验持开放态度,并总体上主张,如果你觉得自己可能喜欢或擅长管理,就去试试,但有几点提醒。

第一个提醒,是不要意外地穿过一扇单向门。Philip 已经大约六次回到个人贡献者,但说许多人做不到。他们成为经理们的经理,远离了代码,然后就不愿意接受较低层级的工作,或者无法在原来的级别上,满足个人贡献者的期望。Philip 即使在管理团队时,也一头扎进代码里,让这扇门保持双向敞开。

第二个提醒,是人们想管理时,往往只想着自己。Philip 的检验是:当你的团队会选你时,你就准备好了领导:“你愿意为你自己工作吗?”如果答案不是一个坚定的“是”,就有需要改进的地方。Philip 指出,没有人能真正让你去领导,因为团队可以拖慢进度或故意压低产出,所以人们必须愿意为你工作。Philip 预期,一旦做了这些改进,人们会请你去管理。

在两条路径之间切换,Philip 有没有损失进展?

Philip Su

Philip 说有,是有意的,也是心甘情愿的。当 Philip 从 Facebook 伦敦站点的负责人,转为 Oculus 的个人贡献者时,Philip 最终被从 E9 重新定级为 E7。Philip 接受了这一点,并说这是必要的,因为作为站点负责人所展现的技能,不同于在 Oculus 做一位好程序员所需要的技能。

Philip 说,许多人无法接受这样的一步,要么出于自尊,要么因为生活方式会膨胀到填满人们所赚的任何薪酬。那些不愿改变生活方式的人,把自己逼进了死角,能接受的工作越来越少。

Philip 还说,时机很重要。在职业的一两年里,平行转换,比如从初级软件开发转为初级产品经理,很容易,而且许多人会辅导你。在资深的 E5 前后,从 E5 软件开发转为 E5 产品经理非常困难,除非工程工作本来就涉及产品管理。在更资深的级别,技能又重新趋同,所以形状是一个菱形。据 Philip 描述,一位有效的 E8 个人贡献者,拥有技术愿景,了解基础设施的薄弱点,规划分阶段的迁移,善于辅导,并理解业务战略。Philip 的结论是,职业生涯的中段,是转换路径最难的时候。

对于深入的专家,比如在 AI 领域,这个菱形会回来吗?
Philip Su

Philip 同意,对一些原型来说,它不会回来。一位走得非常深的人,比如在 SQL 查询优化上,可能不需要培养领导团队所需要的其他技能,也可能无法顺利转入管理。

Philip 是怎样处理从 E9 降到 E7 的?

Philip Su

当 Philip 第一次作为伦敦站点负责人,从 E8 晋升到 E9 时,就为此担心过。Philip 告诉当时的 Facebook CTO(字幕写作“Shrep”),因为 Philip 喜欢做个人贡献者,所以怀疑在回去写代码时,能否保持那个绩效水平。CTO 回答说,等它发生时再担心,不要因为将来可能回去写代码,就不给晋升。

回到代码里之后,Philip 明白,E9 的期望遥不可及。被调回 E7,也就是 Philip 大约八年前加入时的级别,感觉很好。Philip 说,在一个级别上表现出色,远比在一个让你有冒名顶替综合征、怀疑自己能否继续胜任的级别上勉强维持要好。Philip 也不想拿高于自己相对队友所应得的薪酬。

Philip 说,很少有人做出这么大的改变,它需要一种特别的自尊心。Philip 从管理一个大约 400 或 500 人的站点,变成向一位向另一位经理汇报的经理汇报。Philip 还必须避免对站点的运营发表意见,避免利用过去那种过大的影响力,这样新的领导者才能成功。

E7、E8 和 E9 的工程师,通常做什么?

Philip Su

Philip 提醒说,Philip 的信息比较粗略,可能已经过时,因为它来自大约 15 年前开始在 Meta 工作的经历。一般来说,级别反映的是影响力的范围:一个人能够独自保证完成多大、多长或多有价值的项目。一位实习生可能保证一个小功能。E5 或 E6 的资深开发,应该交付大约 10 到 15 个人的工作量。在 E7,Philip 预期他们能定期影响大约 50 个人,为这个规模的团队推动技术方向,被产品和工程经理咨询,并亲自交付大约六个月的工作,而不需要中间的检查。一位总监可能影响大约一百人。

在个人贡献者这一侧,Philip 说,大职责范围有不同的形式。有些人很窄、但很深,深到别人无法匹敌,四位 E6 也无法替代他们。另一些人是广博的通才,对新团队和创业公司特别有价值,在那里,三位 E6 无法胜过一位出色的通才 E8。

Philip 强调,质上的差别最重要,无法用人力资源的要点清单来捕捉。处于这些级别的人,因不同的原因而出色,需要更资深的人来评判。当 Philip 第一次被晋升为 E8 时,E9 还不存在。Philip 说,公司后来不得不为像约翰·卡马克(John Carmack)这样的个人贡献者,发明这样的级别。Philip 回忆说(如果记忆没错),当第一批 E9 晋升被讨论时,公司有几千人,并在考虑三位工程师,每一位都是不同的原型。Philip 把这比作成为教授:没有公式,归根结底在于其他 E8 是否认为你是一位 E8。

如果一位优秀的 E7,身边没有 E8 或 E9 提供定性的意见,怎么办?
Philip Su

Philip 说,这在小公司或薄弱的团队里经常发生。Philip 在微软工作时,它大约有 140,000 人,Philip 相信,在裁员之前大约是 240,000 人。在那种规模的公司里,总有薄弱的团队,在那里,一个人可能觉得自己很棒,只是因为同伴很弱。这会导致定级过高,或者没有人可以学习。Philip 用房地产来类比:你不想成为那条街上最贵的房子,没有成长空间,也不想成为最差的,所以要找一条街,让你成为中间的那栋房子。

Philip 说,在最高的级别,好的榜样很难找,而且每个人的出色之处各不相同,所以一个榜样可能与你的长处不匹配。更有用的是一位对晋升有发言权的教练,他能告诉你,在质上离你需要的地方还差得很远。然后你们可以讨论该怎么办。

是什么项目或职责范围,为 Philip 赢得了 E9 晋升?

Philip Su

Philip 带着 12 个人,开始了 Meta 伦敦办公室的工程部分,并在大约四五年里,把它发展到大约 400 或 500 人。Philip 说,一位好的六级工程经理,可以带 12 位工程师,但随着每一个数量级的增长,问题变得更难,解决方案变得模糊。这次晋升,基于处理更广泛的事务和更具战略性的决策。

一个例子:在 Philip 担任站点负责人的最后几次会议之一,Philip 向门洛帕克的人争论,要招多少实习生,以及那个夏天伦敦应该有多少人头数。这个论证,基于对 18 个月后预期 H-1B 数量的计算,涉及转到门洛帕克的全职录用。更早之前,作为 E8,Philip 是 Meta 各个站点中,第一个去看资历金字塔、并问人们是否以相应的速度成长的人。Philip 把这些描述为职责范围不断扩大的决定,无论是受影响人员的广度,还是必须考虑的时间有多远。

是什么让伦敦站点的工程文化如此强大?

Philip Su

Philip 点出两点帮助。第一,在伦敦之前,Philip 是 Meta 西雅图(公司在帕洛阿尔托总部之外的第一个办公室)招的第二个人,看着它从四张办公桌增长到 120 人,包括它增长方式中的错误。第二,在启动伦敦之前,Philip 面试了其他公司的站点负责人。其中一位是谷歌伦敦的前站点负责人 David Singleton,Philip 说他后来成了 Stripe 的 CTO。

Singleton 告诉 Philip,谷歌曾试验过“落地团队”(landing team),也就是被派去启动一个站点文化的小组,并得出结论:这支团队应当至少承诺两年。Philip 把它与那些派一支团队去三个月或六个月、然后让站点自行发展的公司作了对比。Philip 认为那是个错误,因为当新来的人,与来了三个月以上的人数量差不多时,文化很难维持。CTO 想要足够两轮完整面试的工程师,大约 10 到 12 人。

Philip 面试了公司里将近 50 位志愿者,以及他们的一些同事和经理,从中挑选出 12 位来承载文化。每个人都被要求带一个自己要领导的项目,而这个小组里有出色的个人贡献者,他们乐于做站点需要的任何事情。Philip 说,自己在选择上很幸运,并把功劳归于向做过这件事的人学习。

这个两年的承诺,与薪酬或合同挂钩吗?
Philip Su

Philip 说没有。薪酬保持原样,也没有人签任何东西。Philip 进行了一次严肃的谈话,说 Philip 只要至少承诺两年的人,所以那些不能承诺的人退出了。有一两位因为可以理解的原因,不得不提前回去,Philip 支持了他们。

留下来更久的人要多得多。Philip 相信,原来的团队里,大约有四个人,15 年后仍在伦敦。Philip 说,他们加入时,并没有打算在那里定居。他们热爱伦敦和那间办公室。

Philip 有没有与扎克伯格(Zuck)和博斯(Bos)共事的、最喜欢的故事?

Philip Su

Philip 在 Facebook 的第一位经理是 Bos,他后来成了 CTO,而在伦敦的那些年里,Philip 的经理是当时的 CTO,字幕写作“Shrep”。两人都给了很棒的建议和指导。Philip 只与扎克伯格一对一交谈过几次,所以 Philip 的见解有限,但 Philip 说,扎克伯格在领导方式上,让人感觉真诚。

最让 Philip 印象深刻的,是扎克伯格和 Bos 两人愿意并且有能力成长。Philip 33 岁时加入,当时公司的年龄中位数是 27 岁,而且在头七个月里,是西雅图办公室里年龄最大的人,所以 Philip 为之工作的大多数人,都比 Philip 年轻。与其中任何一位共事多年的人,都能确切地说出他们是怎样成长的。Philip 看到两人都对辅导持开放态度,可能还在寻求它,并有意识地努力改进。

Philip 的小例子,是扎克伯格的 AMA(问我任何事)。Philip 说,在 Philip 加入后大约两年里,他们进步了很多。Philip 很确定,有人指导过扎克伯格怎样摆放头部,因为早期他自然的姿势,头略微向上仰,而多年里,他有意地纠正,直到正面对着人群。

Philip 为什么要为全公司买一天的咖啡?

Philip Su

主持人记得这是全员免费喝咖啡的一天,并把成本估计在 23,000 美元以上。Philip 在这段回答里没有给出数字。Philip 说,这个想法始于 Facebook 的几年之后。在公司搬到门洛帕克园区之后,黑客广场(Hacker Square)开了一家咖啡店,有一年圣诞节,Philip 为所有人买了一天的咖啡。Philip 发现这种快乐很有感染力,而这家咖啡连锁店的首席执行官写信说,他们的员工从未见过这样的事。

离开时,Philip 想回馈些什么。Philip 强调运气。Philip 说,人们忘了,当 Philip 加入时,人们在说 Friendster 也许会卷土重来,Google+ 会碾压 Facebook,而 Facebook 在移动端永远赚不到钱。Philip 在微软工作了 12 年之后离开,Philip 说那段时间里,股价大约上涨了 15%,所以期望很低。Facebook 的结果,用 Philip 的话说,是“一大砖头的钱”(a brick of money),来自运气,而不是设计。Philip 说,Philip 把所有 IPO 的收益都捐给了慈善,因为觉得这是不应得的,并把运气归于出生在计算机科学有回报的年代,以及移民到美国。然后 Philip 与 Facebook 主要站点的咖啡店协调,大约五家,给店主们打电话,并说这很有趣、也很有成就感。

OpenAI 与 Facebook 相比如何?

Philip Su

Philip 首先指出,阶段不同:Philip 加入 Facebook 时,它大约有 500 位工程师,而 OpenAI 大约有 120 位。带着这个提醒,Philip 称 OpenAI 是 Philip 共事过的所有工程师群体中,人才密度最高的。从微软到 Facebook,同事的平均素质有一个大的跃升,而 Philip 觉得 OpenAI 又高了一档。

突出的是技术能力,还是别的什么?
Philip Su

Philip 说,技术能力非常出色。Philip 点出的差别,是对产品的专注。Philip 说,Facebook 高度关注产品是什么,以及人们为什么使用它,因为除了网络效应和一款人们喜爱的产品,它几乎没有什么神奇的秘方。在 ChatGPT 的早期,没有可行的竞争对手,一款糟糕的产品,仍然可以被使用。Philip 回忆说,一两年前,大约每四个对话线程里,就有一个出现服务器错误。

Philip 预期,OpenAI 会在产品上越来越好。Philip 说,随着竞争升温,成功将来自把研究成果,发布在引人入胜的产品里,而不是来自纯粹的研究。

Philip 是怎样培养出这么好的写作能力的?

Philip Su

Philip 说,Philip 在整个大学期间都是个糟糕的写作者,因为 Philip 不尊重沟通。来自一种看重拿 A 的文化,Philip 把硬科学看作是实在的,而把历史和英语看作是浪费时间,没有正确答案,所以没有在软技能上投入。

在微软,在业余时间,Philip 重读了高中时讨厌的经典作品。Philip 点出海明威和《了不起的盖茨比》,作为年长的读者,看到了不同的东西,并培养出了对语言的热爱。Philip 引用弗吉尼亚·伍尔夫(Virginia Woolf)的观点,要写得好,你需要读得好,并点出戴维·福斯特·华莱士(David Foster Wallace)、艾丽丝·门罗(Alice Munro)的短篇小说,以及《汀克溪的朝圣者》(Pilgrim at Tinker Creek),作为展示语言能做什么的写作。随后,Philip 开始把写作看作与硬科学技能同样有价值的技能,并开始下功夫练习。

Philip 说,除了读得好,还需要愿意重写好几遍,并把材料留在剪辑室的地板上,而 Philip 许多著名的帖子,都被反复重写过。Philip 还留意别人 Substack 里巧妙的修辞手法,并努力记住它们。最重要的是,Philip 说,改变来自不再轻视这项技能,并把它视为即使对科学家和技术人员也是必不可少的。

这篇文章非时间顺序的结构是事先计划的吗?有编辑帮忙吗?
Philip Su

Philip 说,这个结构来自一个关于怎样把这个故事讲得引人入胜的灵感时刻。Philip 说,按时间顺序通常最有吸引力,因为它说得通。有些故事,打乱顺序反而更好,Philip 说,因为一个人生命里另一条交织的弧线会显现出来,而 Philip 对这个故事就是这样的感觉。

Philip 在那些文章上没有编辑。Philip 确实为一个播客迷你系列,聘请了一位专业编辑,字幕写作 Rebecca Ambrose,希望文字结构良好,也期望专业人士做得更好,并从中学到了很多。Philip 说,以专业身份发表的东西,从来没有被别人编辑过,不过在播客那个案例里,Philip 确实收到了反馈。

Philip 是怎样作为一位非常年轻的经理,赢得尊重的?

Philip Su

Philip 说,这很难,因为 Philip 缺乏谦逊,又过分有野心。Philip 说,Philip 不会为 24 岁时的自己工作。Philip 成为经理,是因为 Philip 是团队里最强的工程师之一,而团队觉得,让 Philip 去管理,是让一位优秀的工程师保持开心的更好办法。

在头一年,24 岁的 Philip,不得不解雇一位 40 岁的人。Philip 称这异常艰难,而意识到自己有多初级,让它更难。Philip 说,这个人因为没达到期望,是应得的,但他的级别比 Philip 自己高两级,而 Philip 说,自己太不成熟,不知道怎样管理一位更有经验的人。

Philip 说,Philip 起初是个相当糟糕的经理,却痴迷于成长:Philip 收集导师,征求反馈,并阅读关于管理团队和艰难对话的非虚构类书籍。Philip 说,即使在管理的最后一年,Philip 也犯了巨大的错误。Philip 点出的最大弱点,是给出反馈。Philip 会手下留情,讨厌冲突,并淡化反馈的严重程度,所以人们没有抓住重点。Philip 说,Philip 已经从非常糟糕,变成了勉强过得去,并不期望变得出色。一个长处是激励行动,因为 Philip 只加入自己相信的团队,而 Philip 的热情和愿景,会让人们兴奋。

关于这份资料

OpenAI 与 Meta 的杰出工程师(IC9):与扎克伯格、卡马克共事与职业成长 | Philip Su

本节是对原始文字稿的转述。自动生成的字幕可能有错误。

观看原视频 ↗

开场的预告片段剪辑(卡马克、降级、OpenAI 的引语)和主持人的引子,00:00.08 至 00:54.72,在概览和第一个问题中只呈现一次。

主持人称赞 Philip 的文章、回忆咖啡日的题外话,约 45:03 至 45:51 和 01:00:43 至 01:01:32,除了它们引出的问题之外,作为填充内容省略。

播客迷你系列的推荐、节目说明里的提及、互相感谢和收尾,01:18:58.00 至 01:20:39.36,作为推广和结束语省略;只保留 Philip 所述的对技术性失业的担忧。

这一精选章节保留了来源中关于职场、领导力和职业的段落。技术性的和无关的讨论已省略。

我的笔记在可使用本地存储时,笔记会保存在此浏览器中。
第 48 节 · 访谈

Rahul Pandey:晋升叙事、导师与人际关系

关于经理的校准、晋升叙事、导师、人际关系,以及 TLM 转型的精选段落。

Rahul 在 Pinterest 是怎么定级的?他是怎样选择团队的?

Rahul Pandey

Pinterest 刚刚创建了一套职级体系,借鉴自谷歌和 Facebook。Rahul 以 L3,也就是入门级进入(L4 是中级,L5 是资深)。他从推荐系统和数据工程,转向了移动方向,他称这是一次职业重置。这意味着更长的上手期,以及后来一次被拒绝的晋升。

Pinterest 让新员工通过“大本营”(base camp)选择团队,那是 Facebook 新兵训练营的两到三周版本。Rahul 决定不做后端工作。他想贴近产品,能够端到端地构建东西,包括副业项目,并喜欢这样的想法:在安卓商店里有一个应用,他使用安卓手机的家人可以试用。他的创业公司没有移动团队,所以他把 Pinterest 看作一个与优秀的人一起,专业地学习安卓的机会,并双重受益,既在工作中,也在副业上。

Rahul 在安卓团队里,学到想学的东西了吗?
Rahul Pandey

学到了,尽管最初几个月很艰难。一位优秀的 Staff 级别的工程师,在 Rahul 之后几个月加入,而这次指导是一个巨大的转折。但 Rahul 说,他当时还没有学会如何学习。安卓应用已经有数十万行代码。他读文档和代码,却几乎没有自己写,并把这种缓慢的上手,与他第一次失败的晋升联系起来。

他说,改变的是被优秀的人包围,尤其是一位来自 Facebook 的 L6 工程师,开始与他结对编程。对一个会评判他工作的团队负责,在他身下点了一把火。有了指导,加上在这个角色里足够的时间,它最终开窍了。

选择团队时,什么最重要?
Rahul Pandey

Rahul 点出两样。第一是人,因为他所学到的东西,主要取决于他与谁互动。第二是这支团队对公司有多重要。2015 年,Pinterest 的大举措是国际增长,而安卓在美国以外占主导,所以他预期公司会把聪明人和资金投向那里。他的看法是,在一个高增长的领域旁边工作,意味着你自己也能看到一些那种增长。

Ryan 把这与“水涨船高”的说法联系起来。Ryan 见过有人,通过在公司最重要的问题上工作并交付,用五年时间从应届毕业生升到总监,因为职业成长往往与影响力同步。

在 Pinterest 晋升失败之后,Rahul 最终是怎样获得晋升的?

Rahul Pandey

Rahul 称这是一段艰难的历程。第一次拒绝,大约在他加入一年之后。他认为这个反馈是公平的:他专业地做安卓只有大约九个月,并没有交付多少东西。六个月后他再次尝试,又被拒绝,他觉得这确实令人沮丧。他是通过人才并购(acqui-hire)进来的,预期自己会是最优秀的工程师之一,而为同一个晋升被拒绝两次,是一次真正的挫折。

Pinterest 有申诉流程,Rahul 与经理一起使用了它。申诉成功了。匿名的委员会,把他材料里一个被描述为 16 个月工作的项目,解读成缺乏紧迫感。Rahul 说,那不是真的。他的经理做了澄清,并为他倡导。他的教训是,要清楚文档说了什么,因为读者可能有不同的解读,并让有经验的人评审晋升文档和一对一的文档。

Ryan 指出,一个长期的项目,反过来也可能表示更大的职责范围。Rahul 同意,背景决定一切:与经理就叙述达成一致,并收集技术负责人的反馈,因为 16 个月可能看起来令人印象深刻,如果它只是一个别人预期三个月就能完成的小实验,也可能对你不利。他的结论是,不要假定别人会怎样评判你。软件工程是一项社会性的事业,所以要在评审之前,了解评估者对你成长领域的看法。

是什么帮助 Rahul 从 L3 到 L4 快速培养技能?
Rahul Pandey

Rahul 把功劳归于导师的一个教训:愿意在主代码库之外工作。构建安卓应用并部署到手机上,有时要两到五分钟,所以调试很慢。导师向 Rahul 展示了怎样创建一个小型的独立安卓应用,复制主题,并在那个沙盒里以快得多的循环迭代。

创建一个新的应用,曾经看起来是一项大而模糊的任务,但其实很容易,并提高了他的速度。它还消除了他害怕搞坏东西、复制粘贴代码的恐惧,这对副业项目有帮助。他称这是 L3 到 L4 晋升背后最大的心态转变。Ryan 同意,当晋升取决于贡献更多代码时,快速的迭代循环很重要。

Rahul 为什么在 2017 年年中,离开 Pinterest 去了 Meta?

Rahul Pandey

Rahul 给出三个理由:Meta 是一家大得多的公司,工程品牌更强;它给的薪酬更高;而他在 Pinterest 看不到一条快速成长的清晰路径。他想看看自己能否在级别或薪酬上得到一次有意义的提升。

他认为,跳槽在职业早期比后期更有效。他说,随着人们往上走,影响力主要通过影响他人来实现。一位 Staff 或首席工程师,很少写足够多的代码来证明这个角色的合理性;他们构建框架、工具和系统,让其他开发者更有产出,这需要多年的关系和信任。早期,展示你能写高质量的生产代码,也许就足以让你以更高的级别被录用。

Ryan 的经历与之吻合。Ryan 从资深到 Staff 的晋升异常迅速,是因为在一支团队里有长期的关系,而那些快速换公司的同龄人,这样的纽带更少。

简历上多一个有声望的名字,是真正的原因吗?
Rahul Pandey

Rahul 说,部分是。他承认,想要一个人人都听说过的品牌,有一些虚荣心,因为认识 Facebook 的人比认识 Pinterest 的多得多。但他同意,那不是主要因素:他的简历上,已经有 Facebook 和其他知名的名字。主要原因,是觉得自己在 Facebook,可以更快地成长职业。

Rahul 注意到 Pinterest 和 Meta 之间有哪些文化上和技术上的差异?

Rahul Pandey

在文化上,Rahul 觉得它们相似,因为 Pinterest 的文化,是由前 Facebook 和前谷歌的人塑造的。他把 Facebook 描述为“真品”、“加强版”(on steroids)。在 Pinterest,每一处改动至少需要两位评审者,而 Herald 规则会自动添加阻断性的评审者。在 Facebook,一个“通过”通常就足以落地代码,这让他震惊。

他还发现 Facebook 的人更直接。他说,在 Pinterest,一个常见的批评是公司太“好人”了:人们回避艰难的反馈或优先级排序,所以不该留下的项目和人,一直拖着。在 Facebook,人们更爱直接说,一个项目没有意义,应该砍掉,而他察觉到一种更激进的绩效改进计划文化。

学习 Meta 的定制技术栈难吗?
Rahul Pandey

从纸面上看,技术栈相似:Android 加 Java,那时还没有 Kotlin。Facebook 的规模,意味着有许多变通办法,以及一套自定义的构建系统 Buck,Rahul 觉得它很容易。更难的部分,是他加入的是 Portal,当时叫 Building 8,一支硬件团队。它的软件,是一个分叉的安卓,在一个自定义的操作系统上,有大约 30 个定制的安卓应用,所以它的构建系统和工具,甚至与 Facebook 的其他部分都不同。他花了大约四五个月才理解它。

Ryan 解释说,Portal 是一款独立的视频通话设备。Rahul 补充说,团队最初使用的是一台安卓平板,后来把定制的硬件,刷上了自己的操作系统。构建全部 30 个应用,要花三四个小时,所以每位工程师只构建自己的应用,Rahul 的情况是通话应用。

Rahul 为 Portal 构建的调试工具,达成了什么?
Rahul Pandey

因为 Portal 的工作流程如此不同寻常,Rahul 逐渐理解了它与其他工程师有何不同,并为 Portal 上的人构建了一个调试工具。他说,Portal 组织或邻近组织里有数百位工程师,每天或每周使用它,并估计它每月节省了数百个工程小时。Ryan 说,这听起来像是 IC6 级别的影响。

Rahul 是以 IC5 被聘用的吗?为了那一跃,他做了什么特别的事吗?

Rahul Pandey

Rahul 是以 IC5(资深)被聘用的,所以从 Pinterest 过来,实际上就是一次晋升。他说,他没有做什么特别的事;这个级别,是 Meta 在面试之后提出的,而在那些面试里,他觉得自己几乎解决了每一个问题。

他也是从一个强势的位置出发:手里有几份待定的录用通知,有 Facebook 的实习经历,在一家受人尊敬的公司待过,而且安卓开发者的市场很火热,这一切都让 Meta 想给他一份有吸引力的录用通知。

是什么工作,带来了从资深到 Staff(IC6)的晋升?

Rahul Pandey

Rahul 做 Portal。Facebook 已经在 Messenger 内部,有一套成熟的跨平台视频通话基础设施。Portal 的第一步,是分叉 Messenger,作为一次实验走自己的路。一旦 Portal 有了数十万日活跃用户,团队就需要回到正常的基础设施上,因为 Messenger 的 RTC 团队在不断改进它。Rahul 的主要项目,是把 Portal 的核心基础设施,迁回 Messenger 的,同时保留 Portal 的定制功能,并采用 RTC 提供的新能力。

他称这是有大量官僚程序的跨职能工作,涉及 Messenger 团队、Portal 的领导层和产品经理。他说,有些人在 Staff 级别可以只靠一个大项目,但一个“组合”对他很管用。第二个项目是调试工具,纯粹由工程驱动,是为他自己和队友构建的。他说,这两者合在一起,构成了一个清晰的晋升论证。

Rahul 对达到 IC6 是有意为之的吗?
Rahul Pandey

Rahul 说,晋升对话是怎么措辞的,很重要。在他进入 Facebook 的第一年,目标是做好。后来,作为经理,他了解到,一位新员工立刻要求帮助晋升,是让人反感的。他还因为以相当高的级别加入,而感到冒名顶替综合征,所以他首先专注于达到或超出 IC5 的期望。

大约一年之后,建立起一些信任,并落地了好的工作,他与经理就在个人贡献者阶梯上成长,进行了一次明确的对话。由于他喜欢与人交谈、指导别人,他们也讨论了管理。他们同意,Rahul 认为这是正确的决定,他应该先爬个人贡献者的阶梯,之后再尝试管理。

这个共享基础设施项目的职责范围,是 Rahul 创造的,还是被分配的?
Rahul Pandey

严格说来,两者都不是。Rahul 说,显然必须有人去做,而 RTC 团队和 Portal 团队都想要它。悬而未决的问题,是谁来当牵头人。凭借长期的任职、资历,以及与 Messenger RTC 团队的关系,他是自然的人选,他说,对每个人来说都很清楚,他是承担这件事的最佳人选之一,也许就是最佳。

Rahul 为什么从 IC6 转为技术负责人兼经理(TLM)?

Rahul Pandey

Rahul 说,他现在的公司,是关于帮助别人的,并把好的经理,视为真心想帮助别人成长的人。作为副产品,他说,他们可以有很大的影响,因为经理通常资深、受人尊敬。他也有背景和关系,所以这次转变感觉自然:一支不断壮大的团队,需要有人给出反馈,并让人们专注于高影响力的工作,而他已经表达过兴趣。

如果有人想尝试管理,应该采取哪些具体的步骤?
Rahul Pandey

Rahul 从一个问题开始:你喜欢帮助人和与人共事吗?他说,如果你害怕一对一,你会很吃力,因为管理主要是一对一和回应各种消息,所以经理无法守住自己的时间。他建议,现在就通过实际地举行一对一和主持会议,来检验这一点。

他的第二点,是要有主见:关于团队工作的质量,以及随着优先事项的变化,团队和组织应该怎样改变。他认为,最好的经理,有强烈的观点,并让组织向它弯曲。Ryan 提出,技术领导和确定方向的工作,是一种很好的模拟,Rahul 表示同意:非常资深的个人贡献者,也必须阐述并推销关于团队在接下来六个月或一年里该做什么的清晰观点。一个只想执行和写代码的人,不适合管理。

管理有什么让 Rahul 意外的?他对 TLM 这个角色学到了什么?
Rahul Pandey

Rahul 发现,TLM 这个角色,比预期的更艰难、更消耗。横跨个人贡献者和管理的工作,意味着在一天结束时,他会问自己究竟完成了什么,因为他的时间都花在了会议、一对一和路线图规划上。

他认为,TLM 在决定全职管理还是全职个人贡献者之间,作为过渡角色是可以的,但长期不可持续。不清楚你是按代码还是按人员领导来被评判。之后他换了团队。同样做过 TLM 的 Ryan,事先问过许多 TLM,并说每一位都建议不要长期留下来,因为这个角色让你样样通、样样松。

在哪个阶段,Rahul 觉得技能或职业成长最大?

Rahul Pandey

Rahul 点出三个。第一个,是在 Pinterest 遇到那位导师:结对编程,潜移默化地学习,并发现自己有权改变环境。第二个,是在 Meta,领导迁移并构建调试工具,那是他第一次在大科技公司里,觉得自己创造了价值,来自他自己的一个想法,而人们选择采用它。在那之前,他常常觉得自己像一只工蜂,执行从上面传下来的工作。他说,这帮助给了他创办公司的信心。

第三个,与大科技公司的听众关系不大,是 Y Combinator 的两三个月:每周的小组汇报带来了巨大的压力,因为表现不佳的人,实际上会被羞辱,他学到了很多。

Rahul 的职业成长,有多少是运气?

Rahul Pandey

Rahul 说,他觉得自己是“靠失败走向了成功”,其中很大一部分是运气,体现在他遇到的机会和人上。他补充说,运气可以通过对身边的人和机会保持好奇来制造。找到他的联合创始人、2014 年的创业公司,以及 Facebook 的机会,都来自保持联系:问某人最近在做什么,喜欢新工作的什么,或者对一个项目提出帮忙。

他说,调试工具来自与人们谈论他们的工作流程,而许多次跳槽,来自知道受人尊敬的人在做什么。他把这视为一个可重复的过程,而不是运气。他还把在社交媒体上发帖,描述为有意为之:看到有帮助的内容的人,在有机会时会想到你。

Ryan 指出,有些人把这称为“最大化你的运气表面积”,并说,内部写作和主动联系,在公司里也能带来同样的能见度。Ryan 认为,这种分享带来的信誉,大概帮助 Rahul 得到了那个通往 Staff 的共享基础设施项目。

一个人怎样建立人脉,又不让它显得是刻意制造的?
Rahul Pandey

Rahul 不太愿意把自己所做的称为“建立人脉”。他指出两个要素:对对方在做什么的真诚好奇,以及对自己分享什么的用心。他说,建立关系的最好方式之一,不是只提问或请求指导,而是分享自己做过的、对方可能感兴趣的东西。

用他的话说,展示你在做什么,会创造引力:人们因为你的观点而被吸引过来,于是它变成了双向的路。如果你总是在问,却从没得到回应,那么对方可能只是不感兴趣,或者你需要变得更有趣。

Ryan 回忆说,作为应届毕业生,建立人脉感觉很做作,但副业项目,比如写内容和做键盘,让交谈变得自然。

Rahul 会给大学毕业时的自己什么建议?

Rahul Pandey

Rahul 希望自己能早点意识到:世上没有守门人——学习一项技术或尝试新事物,不需要任何人的许可。他在学校里表现不错,靠的是有条理、肯用功,但不够有创意,也不够敢于探索。他很欣赏 Ryan 的键盘项目,因为那是没人要求 Ryan 去做的事。他还举了自己最近的一些项目为例,比如为某款 Mac 应用启动器写的扩展,那正是他所说的这类工作。

在他看来,要获得出众的结果,就要敢于根据自己真正在乎的事去做独一无二的东西,而不是迎合同伴、老师或经理的期待。他希望自己更早培养创造性的兴趣,并有意识地为此留出时间。

Ryan 指出,Rahul 后来变得更有主动性。Rahul 表示同意:看 YouTube 教程、发布 Android 应用、办有 800 人参加的网络研讨会,这些经历就像摘掉了蒙在眼睛上的布。他的建议是,不要等到自己“准备好”才去创业、发布应用或教学,现在就动手。他早年很被动,总想等自己变得更强、更聪明再说,希望自己在初中或高中就能有这种心态。

Ryan 把这种差别概括为“主角能量”与“NPC 能量”。Rahul 喜欢这个说法,但补充说,并不需要在每个领域都当主角;只要在自己在乎的、或者有独到见解的那部分生活里做主角就够了。

关于这份资料

28 岁晋升 Meta Staff 工程师(IC6)|Rahul Pandey

本节是对原始文字稿的转述。自动生成的字幕可能有错误。

观看原视频 ↗

开场预告片段:节选自对话后半部分的若干引语,00:00.08 至 00:53.36,此处省略。同样的内容在后文原位置有完整收录。

主持人的致谢、Taro(jointaro.com)的推广、Rahul 的 LinkedIn 以及节目说明中的链接,约 01:09:30 至 01:10:39.60,作为推广内容省略。

主持人的结束语,请听众提供反馈、留言和推荐嘉宾,01:10:41.36 至 01:11:10.96,此处省略。

这一精选章节保留了来源中关于职场、领导力和职业的段落。技术性的和无关的讨论已省略。

我的笔记在可使用本地存储时,笔记会保存在此浏览器中。
第 49 节 · 访谈

通过主动性与授权来争取晋升支持

精选片段:来自经理的支持、明确的自我争取、授权、导师指导,以及体现职责范围的行为证据。

你是怎么选择在 Meta 的第一个团队的?

Evan King 与 Ryan Peterman

Meta 的新人训练营让 Evan 在做出双向选择之前,先替几个招人的团队做一些任务。他原本以为自己在多年黑客经历之后会加入网络安全方向,但他接触到的那几个团队让他觉得不够友好。内容安全(content integrity)团队提供的是机器学习问题、他认为有意义的使命,以及能让他产生共鸣的同事。他加入了一个正在西雅图组建的反恐内容团队,起初是和其他团队共用一位经理,技术负责人也只是兼职。

Ryan 选择 Instagram 基础设施团队时,对长期利弊的了解远不如现在。当时他把产品工作等同于前端工作,把基础设施等同于技术深度,这些假设他现在认为是错误的。Instagram 让他兴奋;当心仪的经理没有招聘名额时,Ryan 诚恳地陈述了自己想加入的理由,直到那位经理找到了灵活空间。两人都认为,主观能动性就是把手边的机会转化为更合适的契合;好机会可能需要你主动去争取。

训练营在哪里进行?你有没有刻意选择技术栈?
Evan King 与 Ryan Peterman

Evan 的训练营分成两段,分别是在 Menlo Park 的两个两周,另有一段时间在西雅图。他自然而然倾向于后端工作,并没有什么精心设计的技术栈选择策略。Ryan 则更明确地考虑过产品与基础设施之间的取舍,以及该加入哪个产品组织,不过他强调,作为新毕业生,自己当时的认知是多么不完整。

入职内容安全团队时,有什么让你意外的地方?

Evan King

Evan 刚入职时,一位同事的显示器上显示着露骨内容,这让他很震惊,因为这显然只是普通工作日的一部分。团队的任务要求查看在大多数办公室里都不可思议的素材;时间一长,同事们就习惯了这种接触。他记得团队坐在西雅图办公室不起眼的角落,同事说这样的安排能减少无意中接触到令人不适内容的机会。他讲这个故事,是想说明内容审核工程这一特殊的工作环境,其中还有比最初那个小故事更令人不安的内容。

你的第一次晋升,是你和经理谈判争取来的吗?

Evan King

Evan 的第一次晋升来得很突然,大约在入职半年之后。他觉得自己的工作不错,但从未和经理聊过晋升,也没有拿自己和同事做过横向对比。经理的称赞、晋升通知以及薪酬变化,成了他建立信心的重要时刻。不过他并不建议把希望寄托在这种“惊喜”上。

更早之前在 Zillow 的实习给了他另一次重要的鼓舞。他很快完成了分配的任务,又主动去做有趣的额外工作,结果拿到了转正 offer,还得到一位资深经理异常高的评价。这份来自外部的信心帮助他进入了 Meta,但并没有立刻消除他所有的不安。

你之前在 Facebook 实习过吗?
Evan King 与 Ryan Peterman

没有。Evan 实习的地方是 Zillow。他对那次实习和 Meta 第一次晋升的记忆表明,资深经理给出的具体鼓励,如何帮助他相信自己是有能力的。

那些经理这么早就看到了你身上的什么?

Evan King

Evan 认为是好奇心,以及不愿把被分配的任务当作自己工作的边界。在 Zillow,他做完租房团队的工作后,把那些提醒大家“离开时锁屏”的海报,变成了一款好玩的内部安全小游戏。同事可以记录下无人看管的电脑,排行榜和图表则鼓励大家参与。他和安全团队的同事相处久了,最终还跟他们一起去了 Defcon,尽管安全并不在他所在团队的职责范围之内。

他说在 Meta 也有类似的模式:完成要求的实现之后,他有时间去改进它,并探索相邻的想法。他把这描述为做有用、有趣的事,而不是为了“多做”而多做。

你是怎么足够快地完成分配的工程任务,从而有余力去探索更多的?

Evan King 与 Ryan Peterman

Evan 起初不肯说有什么简单的秘诀,因为他觉得“速度快”的名声比他自觉的做法要夸张。Ryan 则描述了几点:对某块代码区域非常熟悉,有一套熟练的编辑与评审流程,积累了足够多的重复经验,所以清楚某个修改应该落在哪里。在一段以编码为主的时期,他记得自己每天提交大约十个 diff。他还工作很长时间,并承认增加工作时间也是为成长攒出额外预算的一种方式。

Evan 每解决一个问题都会做可搜索的笔记,这样同一个问题就不用从头解决两遍。他还习惯了:遇到卡点时先自己排查大约一个小时,然后找到了解这块的人,提一个聚焦的问题,把答案记下来,再继续往前。Ryan 强调,一个时机恰当的提问可以省下几天的盲目摸索,远胜过编辑器上那些小小的优化。

两人都把代码搜索视为一项长期有用的技能。在大型单体仓库(monorepo)里,通常早就有人解决过类似的问题。猜测可能的函数名或变量名、找到类似的实现、理解周围的上下文,既能加快初级阶段的执行,也有助于后来处理跨系统的模糊问题。

额外多干活,是不是只有在你享受其中时才有意义?
Evan King 与 Ryan Peterman

他们区分了两种情况:沉浸在自己喜欢的工作里,和强迫自己在讨厌的工作上长时间加班。Ryan 享受那种新鲜感和日益熟练的感觉;Evan 则强调,一旦脱离了这种内在动力,关于多加班的建议就会变得危险。“时间预算”的说法描述的是他们自己的经历,并不意味着每个人都该这样工作。

从中级晋升到高级,中间发生了什么变化?

Evan King 与 Ryan Peterman

随着内容安全业务的扩张,最初很小的反恐团队来了资深工程师,最终拆分成反恐、儿童剥削图像和暴力血腥内容三个方向。因为 Evan 来得最早,他掌握着有用的背景信息,不论职级高低,都帮助新同事尽快上手。他的经理把一个投入不足的暴力血腥内容方向交给了他,团队里有一位初级工程师和一位研究科学家。

他开始安排每周例会,与管理层一起制定路线图,并和队友做一对一沟通。团队在检测的精确率和召回率上都有提升,不过他记不清具体数字,无法引用。带领他人、改善一个被忽视的方向,构成了高级工程师的晋升故事;至于是否有非正式的技术负责人(tech lead)头衔,反而没那么重要,重要的是所承担的职责。

Ryan 的类似经历,则出现在一项跨客户端/后端的工作围绕他深入了解的领域不断扩大之时。他主持会议时有时会觉得力不从心,但还是硬着头皮做了。一位能力出众的实习生让他明白,把执行交给别人,可以让自己腾出手来承担更大的范围。Evan 也同样经历了经理多次的反馈之后才想通授权这件事:凡事自己快速完成,最终会限制整个团队能做到的上限。

为什么经理会这么早就信任一个职业生涯初期的人?
Evan King 与 Ryan Peterman

Evan 把功劳归于一位优秀的经理:他发现了潜力,给了更大的挑战,并全程辅导。此前的依据不仅仅是资历:Evan 在新人培训中乐于助人,也愿意回答同事的问题。他的知识对其他人有用,这使得扩大他的职责显得更合理。

作为最早的负责人,当资深工程师加入时,你会不会有领地意识?
Evan King 与 Ryan Peterman

会。一位技术很强的资深工程师加入时,Evan 起初对自己的工作有保护心理。他意识到了这种反应,和经理聊过,并让自己对这位工程师的反馈保持开放。此后的评审和设计讨论成了他技术成长的重要来源,这位同事也成了多年的好友。

Ryan 回忆说,资深合作者同样改进了他的文档和项目。他并不清楚每个人的绩效评审是如何分配功劳的,但这种合作带来了更好的成果,也让他学到了东西。他们的建议是,把共同承担的职责范围当作成长的机会,而不要认为别人的贡献会削弱自己的贡献。

到了高级晋升那个阶段,你是否公开讨论过晋升目标?

Evan King 与 Ryan Peterman

到那时,Evan 与支持他的经理会讨论目标时间、晋升要求,以及还需要做成哪些事。他训练营同期的朋友往往没有得到同样积极的争取。他的建议是:明确说出自己想要的下一个职级和时间,问经理是否认同这个计划,并尽早把差距摆到台面上——即使这会让人觉得自己很脆弱。在评审季之前听到坏消息,比事后收到一个不愉快的意外要有用得多。

Ryan 的经理很支持他,但不会主动推动晋升时间表,所以 Ryan 反复询问下一职级需要什么,并为自己的成长据理力争。他认为,出色的表现与明确的沟通是相辅相成的:对一位贡献面不断扩大、能帮到团队的工程师,经理自然有理由投入。Evan 后来自己也更多地为自己争取。他们承认,遇到能干且目标一致的经理有运气成分,但工程师也有责任让自己的目标被看见。

为什么同龄人纷纷跳槽,你们却留在同一个团队?

Evan King 与 Ryan Peterman

Evan 既喜欢团队的使命,也喜欢身边的人。组织增长太快,留下并不意味着干着一成不变的工作:反恐、儿童安全、暴力血腥内容、经理和同事都在他身边不断变化。他并不只是在为晋升而优化,不过成长确实令人满足。Ryan 则更刻意地评估怎样才能成长最快,并一再得出结论:又一次明确的晋升机会、优秀的同事和有趣的工作,让留下来很有吸引力。

两人也承认存在一个可能的陷阱:总是追逐下一个看起来触手可及的里程碑,可能会推迟在别处获得更广泛技术经验的机会。不过,他们对留下来并快速晋升到 Staff 并不后悔:这个职级提高了薪酬,也让设定方向、通过他人来完成工作成为可能,而这些正是他们觉得有成就感的事。

你是否希望自己更早换环境?
Evan King 与 Ryan Peterman

谈到这里,Ryan 把关于自己近期转变的更完整讨论留到了后面。他们一致认为,清晰而愉快的 Staff 晋升轨迹让留下来合情合理,同时也承认换个环境可能会带来更广泛的技术学习。他们把这当作一种取舍,而不是适用于所有人的“该留还是该走”的规则。

Staff 晋升背后的核心故事是什么?

Evan King

Evan 的晋升节奏是:第一次用了半年,高级用了两个半年,Staff 用了三个半年。在最后这一阶段,克赖斯特彻奇清真寺袭击事件被直播,视频副本四处流传,当时他正负责暴力血腥内容的工程工作。他讲述了紧急应对的过程:内容安全(integrity)领导层和政策同事参与其中,连续多个通宵工作,训练模型,并修改检测和内容匹配系统。他强调的是遇难者及其家人,而不是把这场暴行当作职业机会。

这次应对暴露出在直播视频中检测灾难性事件的投入不足,这与筛查已有的照片和录像是两回事。公司围绕 Evan 和一位产品经理成立了实时内容安全(realtime integrity)团队,并要求他们自行确定人员编制、范围和路线图。早期进展缓慢,因为这类事件很罕见:用手头寥寥几个已知案例来训练,有过拟合的风险,而等下一场悲剧发生再来评估系统,更是不可接受。

他的“黄金集召回率”(golden-set-recall)项目整理了过去的案例,并搭建了一个评估环境:通过真实的生产基础设施回放视频和评论,同时与用户隔离。它测试的是完整链路,而不仅仅是一个模型。Evan 说,对于样本更充足的自杀类案例,最初测得的召回率大约只有百分之九。

仔细研究漏检的案例后,发现了一个被忽视的信号:观众的评论往往比图像和音频模型更早表明他们意识到了危险。加入时间维度的评论信号后,据他回忆,召回率提高到大约百分之五十到五十五,检测到了更多可用于训练的样本,也为进一步改进创造了条件。他说,到他离开时召回率最终达到了九十多,但 Staff 晋升发生得更早,那时评估体系已经建立,初期改进也已相当可观。这些是他事后回忆的数字,中间那些具体数值可能不够精确。

新团队后来发展到多大规模?
Evan King 与 Ryan Peterman

Evan 记得晋升时团队大约有四五位工程师。实时内容安全团队后来增长到十二至十四人,在他离职前后拆分成两个八人团队。投入的增加,是在团队展示出进展、并获得高层持续关注之后才出现的;这个项目并非一开始就被认定会成功。

是谁决定把这个范围交给你的?
Evan King 与 Ryan Peterman

他不清楚具体是谁做的决定。当时他觉得,事件发生后自己为新团队做了有力的争取。后来他才得知,经理在幕后做的争取,远比他当时意识到的要多。他自己的主动性和领导力确实起了作用,但他有意纠正那种“机会纯属自己创造”的单一版本的叙述。

在 Staff 晋升的故事中,哪种行为最关键?

Evan King 与 Ryan Peterman

Evan 指出,是尝试简单、显而易见的解决办法,并始终把整个问题放在视野中。他的跨学科团队横跨基础设施和建模两个领域,而技术功底深厚的研究人员很容易一心扑在改进模型本身上。他在这方面的专业投入较少,因此把精力放在真正能推动检测指标的事情上。评论这个信号,只有在团队一直专注于像素、音频和复杂的时序建模之后,才显得“显而易见”。

Ryan 描述了一个类似的 Instagram 计算效率项目。他在疫情带来的使用量让容量变得至关重要之前,就开始研究视频处理的效率。与几位优秀工程师头脑风暴之后,最好的改进其实是一个相对简单的做法:去掉冗余的工作。他看重的是有效影响与时间、复杂度和维护负担之间的比值:一个简单却效果显著的改动,可能胜过一个精心设计的、耗时一年的大项目。

他们称赞自己所经历的 Meta 文化奖励的是实际达成的影响,而不是实现难度本身。实用的技能是:找出最重要的约束,找到真正能改善它的办法,即使这个方案没有技术上的光环,也要把它推进下去。他们对奖励机制的描述,是对那个环境的个人观察。

你是不是在做个人贡献者(IC)的同时,也部分承担着经理的角色?

Evan King 与 Ryan Peterman

是的。Evan 的角色超出了通常对“技术负责人”在技术方向上的理解。工程师们仍然有正式的经理,由经理掌握晋升决定,但他会帮助这些经理了解绩效、支持队友成长,并参与相关讨论。他曾试图受邀参加校准会议,但最终被一位总监拒绝;他不知道原因。

他认真对待“管人”这件事,观察自己的经理,在接手暴力血腥内容团队时还读了一本管理类的书。他认为这种安排之所以行得通,是因为同事们相信他站在他们这一边。他对这个判断加了限定,而不是声称代表他们发言。如果有人争强好胜、咄咄逼人,或者夹在工程师和其经理之间,同样的安排很容易被破坏。

由于他所在团队的职级不公开,Evan 不能依靠头衔来树立权威。他需要通过有用的技术判断和支持性的行为来赢得信任。Ryan 也认同,Staff 层面的影响力来自于说服那些不向你汇报的人:方向是对的,而且他们可以信任你。

你有没有考虑过从 IC 路线转向管理?

Evan King 与 Ryan Peterman

Evan 原本预期自己升到 Staff 后会转做经理,但当时出现了一条可行的 IC7 路径:他对组织有广泛的了解,在高层面前有可见度,还有有趣的跨组织项目。同时,与已经成为经理的朋友们交谈,也让他意识到直接承担团队成员问题的分量。他考虑过先升到 IC7,之后也许再转到更高级别的管理岗位。

Ryan 也面临过类似的选择。他的经理认为他可以顺理成章地继续升到 IC7,但提醒说,管理岗位的晋升更取决于组织里有没有机会。Ryan 还是选择了管理,目的是学习另一套行为方式,并为长远保留更多选项。他担心,非常资深的 IC 职业道路可能会变得只适用于少数几家巨头公司,影响力和薪酬都取决于内部信誉和股权。

两人都说,可迁移性和薪酬方面的顾虑只是他们自己的考量,并不是说资深 IC 的技能在别处没有价值。在公司内部的快速晋升,未必能换来外部同等的职级头衔,而重新建立信任也需要时间。

什么是技术主管型经理(tech-lead manager)?
Evan King 与 Ryan Peterman

Ryan 最初转入的角色,他大致描述为七成 IC、三成经理,带一个小团队,专注于一个狭窄的技术领域。他的贡献主要还是按 IC 的工作来评估。后来他决定想在管理上进一步成长,转向了常规的组织管理岗位。

从管理工作中学到的最大一课是什么?
Evan King 与 Ryan Peterman

Ryan 的经理在职业发展依赖性这一点上说对了:晋升与团队和组织的增长联系得更紧了。他在一个以提升效率为重点的时期调动,减少了这方面的机会。他还发现,工作重心转向了人的问题,白天也被成块的会议占满。做 IC 时,他可以把会议安排得零散一些,技术工作留到之后完成;而做经理,工作的很大一部分要靠别人有空。评审季里,开完这些会议之后还要写大量文字。

你职业生涯中最大的遗憾是什么?

Evan King

他希望自己当初能慢下来,弄明白事情为什么会奏效。不断迭代直到某个指标变好、某个系统跑起来,可以带来立竿见影的影响,却不会形成站得住脚的解释。早期创业的压力下也出现过同样的捷径:东西一能用,他就往下一件事走。

随着公司趋于稳定,他在完成必要工作后还有富余的时间,就用这些余裕去阅读工程方面的讲解文章,并研究底层的库和平台。他看到了以影响力为导向的文化中的一种张力:即使弄懂底层抽象能改善工程师长期的根基,这种文化仍可能奖励“发布了就走”。他会保留那份追求影响力的有益冲劲,同时加上这种刨根问底的探究。

毕业时,你会对自己说什么?

Evan King

要像对待职业目标那样,有意识地投入到友情、恋爱关系和工作之外的生活中。Evan 当时有职业成长的路线图和频繁的复盘,却几乎没有在更广阔的生活上花同样的力气。搬到洛杉矶、在科技圈之外结交更多朋友,帮助他体会到相互投入和日常互相扶持的价值。

他如今觉得,这些关系和持续的工作一样,是充实感的重要来源。这不只是时间分配的教训:即使当时有时间,他也没有意识到哪些事情值得有意识地投入精力。

你愿意用更慢的晋升来换取更牢固的人际关系吗?
Evan King 与 Ryan Peterman

如果必须二选一,会:他会把关系放在首位。但他不认同“自己真的必须做选择”这个前提。他相信自己当时有足够的时间两者兼顾,只是对关系投入得不够,也还没明白它们的重要性。

关于这份资料

25 岁的 Meta Staff 工程师(晋升故事)

本节是对原始文字稿的转述。自动生成的字幕可能有错误。

观看原视频 ↗

00:00–00:39 的开场预告重复了后面的内容,不计入问答轮次。

01:54:39–01:57:13 的结尾产品与频道推广已省略,仅保留关于专业系统设计与面试准备之间实质区别的内容。

这一精选章节保留了来源中关于职场、领导力和职业的段落。技术性的和无关的讨论已省略。

我的笔记在可使用本地存储时,笔记会保存在此浏览器中。
第 50 节 · 访谈

Steve Huynh:晋升流程、绩效与经理的支持

精选片段:晋升的主导权、绩效淘汰、经理的质量、面试中的影响力故事,以及对角色的期望。

为什么大多数面试准备建议都不太好?

史蒂夫·黄(Steve Huynh)

Steve 说,大多数面试准备都没有做到最优。候选人把大量精力放在编码上,最近又放在系统设计上。Steve 说,这样的准备把面试变成了一场考试。这种看法有一部分是对的,因为不会写代码或不会设计系统的候选人不太可能被录用,但 Steve 认为,这样的重点太狭窄了。

更好的面试准备应该怎样平衡?
史蒂夫·黄(Steve Huynh)

Steve 说,面试更像约会,而不是 SAT 考试,因为双方都在判断是否愿意一起共事。备考资料把它说成考试,是因为考试更好卖。

Steve 建议少花点时间在编码和系统设计上,多花点时间准备行为面试。Steve 给出的大致比例是:编码 40%,系统设计 40%,行为面试 20%。Steve 把这些数字当作举例,而不是规则。

行为面试和编码、系统设计相比,分量有多大?

史蒂夫·黄(Steve Huynh)

Steve 说,编码和系统设计就像扑克里的小盲注和大盲注:想上桌必须交,但它们不决定这一手牌的输赢。真正决定输赢的是行为面试。Steve 曾是 bar raiser(把关面试官)的培训师,培训过数千名 Amazon 面试官。Steve 说,功能性的几轮面试只有通过与不通过之分。

Steve 说,即使编码和系统设计都很强,行为面试答得差的候选人,Amazon 也会拒绝。这并不意味着候选人缺乏经验。面试官往往很早就能看出候选人不适合这家公司。一旦候选人通过,行为面试的回答就会决定其职级。

候选人怎样避免因行为面试答得不好而被降级?
史蒂夫·黄(Steve Huynh)

Steve 推荐“包装”:把自己的经历呈现成一个清晰的故事,讲清楚自己做过什么、怎样做事、是什么样的人。这个故事不必有趣,但应当高效而诚实。

Steve 说,面试的核心问题是面试官是否愿意与候选人共事。好的行为面试回答能帮助面试官回答这个问题。候选人不应该虚报自己,但应当把最好的一面展示出来。

一个“包装”好的回答听起来是什么样?
史蒂夫·黄(Steve Huynh)

Steve 为“请介绍一下你自己”这个问题即兴给了一个例子:专注于后端分布式系统,热爱面向客户的产品,爱好体育,有组建团队和改善工程文化的经验。Steve 说,很多候选人回答这个问题时一带而过。

Steve 说,故事会暴露职级。如果候选人瞄准的是高级职位,却讲一个入门级任务的故事,听起来就像初级工程师,这种不匹配可能导致被降级。

能不能通过一次简短的交谈判断一个人的职级?

史蒂夫·黄(Steve Huynh)

主持人提出做一个盲测:和某人聊五分钟,猜他的职级。Steve 说他对这样判断职级相当有把握。初级工程师通常从举手投足和谈论的话题中就能看出来。

Steve 说,要判断一位很强的高级工程师能不能算是 principal(首席工程师),就难多了。Steve 相信自己总体上对职级的判断是准确的。

在面试之前,一个人怎样才能脱颖而出,比如在寻求内推的时候?

史蒂夫·黄(Steve Huynh)

Steve 说,给有空缺团队的人发一条直接、真诚的消息可能有效。Steve 建议说你注意到他们团队在招人,并问问他们日常工作是什么样子。消息不能看起来像垃圾信息、自动发送的私信,或者是 AI 写的文字。

Steve 提到他在一个 Discord 社区做过的投票。大约 90% 的受访者表示,他们会回应这样一条真诚的消息,并且在对方提出请求时愿意帮其内推。Steve 说这只是非正式的统计,不能算证据。

Steve 说,真正的人脉经营意味着建立联系并提供价值。愿意学一项有用技能的新人,对大型科技公司也更有吸引力。

Steve 是怎样从支持工程师一路升到 SDE1、SDE2 和 SDE3 的?

史蒂夫·黄(Steve Huynh)

Steve 说,从支持工程师到 SDE3 用了大约三年半。在 SDE1 阶段,重点是独立性:理解自己的工作在开发生命周期中处于什么位置,并把任务从头到尾做完,让团队无需手把手带就能信任你。

独立是不是意味着从不求助?
史蒂夫·黄(Steve Huynh)

Steve 说不是。自给自足和独立不是一回事。Steve 说,真正的本事是知道怎样让自己摆脱卡壳,并且在卡住时能坦然提问、提出问题。

Steve 警告说,隐瞒问题会变成绩效问题。一个两周的任务,一直汇报“进度正常”,直到截止前的周四才暴露问题,比单纯慢要严重得多。

到了 SDE2,有什么变化?
史蒂夫·黄(Steve Huynh)

Steve 说,SDE2 的关键词是“主人翁意识(ownership)”。SDE2 会积极参与开发生命周期,并充当团队代码库的管家,清理技术债,而不是留下一团乱麻。Steve 喜欢这样一个比喻:不乱扔垃圾,有时还顺手把垃圾捡起来。

Steve 说,每升一级,都是在为更大的范围提出论证。SDE2 在团队层面工作,了解代码库的优势和弱点,建议它应该往哪里发展,并轮值 on-call。Steve 称这是一个“家常便饭”式的角色,也是一个人要从 SDE2 升到 SDE3 所必须展示的东西。

SDE2 能不能一辈子停留在这个级别,还是说它在 Amazon 是一个终点级别?

史蒂夫·黄(Steve Huynh)

Steve 说,这在 Amazon 内部是有争论的。Steve 认为 SDE2 的区间很宽,许多其他公司的高级工程师放在 Amazon 会落在 SDE2 的上沿。Steve 说,SDE2 可以是终点级别,但他并不建议把它当作终点。

有没有“不升即走”的政策?
史蒂夫·黄(Steve Huynh)

Steve 说,SDE1 显然是“不升即走”。待超过大约两年后,会得到越来越强烈的离开提示,不过并没有固定的 24 或 36 个月的规定。Steve 称之为“凭感觉”的事。

对于 SDE2,Steve 说答案取决于高层管理者和个人的经理。如果一位经理认为某位 SDE2 早就该晋升了,他就可能让这个人很难继续留下。对话中提到,许多人担心 Meta 可能会变得更像 Amazon,后者以严格的绩效管理著称。

Amazon 每年预期要裁掉多少人?

史蒂夫·黄(Steve Huynh)

Steve 不愿给出确切数字。Steve 举例用了百分之五或六。对一个组织来说,这个数字过去是一个软性建议,即在一年里将团队的一部分人劝退。Steve 说,近几年它更像是一种硬性要求。

Steve 说,压力是在暂停补缺(backfill)之后加大的。直到最近,Amazon 对许多岗位都不补缺,所以人们觉得被人从后面追赶,Steve 认为这并不健康。Steve 自认是高绩效者,所以很难说出担心丢掉工作是什么感觉。

把处于曲线低端的人劝退,是一种解脱,还是一个问题?
史蒂夫·黄(Steve Huynh)

Steve 以一个 20 人的小组为例。在正常的年份里,处于曲线低端的人往往在 Amazon 的文化里发展得不好。Steve 说,让他们离开会让人感觉如释重负,是因祸得福,因为这结束了一段不合适的关系。

当裁撤波及曲线中间的人,也就是在其他年份里完全没有问题的人时,Steve 会感到不舒服。连续每年约百分之六的裁撤,又不补缺,会把表现不错的人也挤出去。

资深工程师如何参与那些讨论谁该被劝退的会议?

史蒂夫·黄(Steve Huynh)

Steve 说,从高级工程师(senior engineer)级别起,工程师就会被拉进这些讨论,L7 及以上则肯定要参加。这类会议可能开三天,大家坐在一个房间里,通过可衡量的成果和别人的反馈来讨论同事。Steve 说,最近对中层经理的一些裁撤让他感到意外,因为对一个只有四到八人的小组来说,6% 的目标几乎没有意义。

Steve 说,这个过程并非线性的。在理想世界里,每个人会得到同样的时间,但讨论往往集中在两端,也就是最强的和最弱的。Steve 认为这是数字的问题,不是对决策者的指责,并说这个过程剥离了一部分人性。Steve 说,这不是他最喜欢的时节。

Meta 现在也表现出和 Amazon 一样的强度吗?

史蒂夫·黄(Steve Huynh)

Steve 说,Meta 似乎正在大举招人,也有传言说低绩效者约占 5%。Steve 感觉受影响的人日子不好过,但认为 Meta 的大多数人都没问题。

Steve 说,人员基数很大时,总会有人在挣扎。Meta 新招进来的人远多于离开的人,所以 Steve 不会太担心。

在裁撤周期里,是什么在保护那些达到预期的人?

史蒂夫·黄(Steve Huynh)

Steve 说,扎实地达到预期是主要的保护。Steve 不认为 5% 的强制排名应该淘汰达到预期的人,他也不喜欢“低绩效者”这个标签。Steve 把它描述为个人与周围文化之间的不匹配,而不是对能力的评判。

Steve 说,Meta 的 offer 很难拿,所以处于这个流程中的人并不弱。Steve 建议被贴上低绩效标签的人,找出自己具体被评判的那个维度,而不是笼统地试图变成高绩效者。

被判定低于预期时,应该先做什么?
史蒂夫·黄(Steve Huynh)

Steve 说,要先学爬,再学走和跑。先弄清楚判断到底是针对什么,再向经理确认预期是否达到了。如果没有,就主动提出一个预防性的计划,把自己拉回到中位水平。Steve 在提出这类要求时,会避免使用 PIP(绩效改进计划,performance improvement plan)这个词。

员工应不应该直接问经理对自己的期望是什么?坏消息又该什么时候汇报?
史蒂夫·黄(Steve Huynh)

Steve 说,大多数人从来不问这个问题。Steve 估计,大约只有 25% 的软件开发人员明确问过经理对自己的期望。Steve 建议直接问期望是什么,再问自己是否达到了。

Steve 把一句话归功于一位朋友:坏消息来得早,不过是消息;来得晚,就是糟糕的消息。Steve 建议在评审周期的早期就把问题摆出来,而不是等到评审前的那一个月,这样才有时间解决。

Steve 是怎样在 Amazon 拿到 principal 级别的职责范围的?

史蒂夫·黄(Steve Huynh)

Steve 说,一次重组把他调到了 Prime Video,原因是他在意的一个团队——Amazon Tickets 团队——被撤销了,开发者也被打散。Steve 选了一个专注于直播体育的 Prime Video 团队,随后看到一个大型的内容目录(catalog)项目,principal 工程师们都知道它需要有人去做。Steve 决定接下来,并留在这个团队。

Steve 说,这项工作落在了各个 principal 负责的领域之间的缝隙里,比如播放、客户端或内容目录。它需要一个端到端的解决方案,而其他 principal 都忙于自己的领域。主持人补充说,完成这类工作能让 principal 工程师掌握足够的背景,在晋升材料中为候选人背书。

在 Amazon,通常是什么阻碍一个人从 senior 升到 principal?

史蒂夫·黄(Steve Huynh)

Steve 说,Amazon 实际上跳过了一个级别,在 senior 和 principal 之间本可以插入一个 staff 级别。Steve 说,从 senior 到 principal 是跨两级,所以标准大致翻了一倍。要影响多个团队,很难在一年内证明这一点。

Steve 看到一种常见的失败模式。人们觉得自己准备好了,去争取晋升,被拒绝,然后回头去做自己擅长的事。弥补反馈中指出的差距要花很长时间,许多人就放弃了。Steve 认识一些离开 Amazon 的人,现在在别处做到了 senior staff 或 principal 级别,但他们在 Amazon 却没能跨过这一步。

一个人在做 principal 级别工作的同时,怎么会得到低绩效评级?
史蒂夫·黄(Steve Huynh)

Steve 说,绩效和晋升是脱钩的。评审每年一次,每半年有一次较小的检查,而晋升可以每季度或每半年发生一次。Steve 描述了一种反模式:一位高级工程师不再做 senior 级别的工作,而只专注于 principal 级别的工作。

Steve 说,高级工程师必须写代码。Principal 也写代码,但写得更少,他们还会做跨职能的工作,比如赞助项目、担任兜底角色,或者在多个开发团队中宣讲一项举措。Steve 记得在一次晋升评审中,有人说他的做法像个 TPM,Steve 为此感到被冒犯。

Steve 在编码方面得到了什么反馈?原因是什么?
史蒂夫·黄(Steve Huynh)

Steve 说,评审的意见是要多写代码。Steve 此前提交了很多代码,但在某个六个月的阶段里写得少了,而评审只看那个时间段交付的代码。Steve 说,这样一来,之前积累的资历就没有算数。

Steve 说,评审还提到了他的 on-call 经历,但他已经值班多年,其中连续大约四年。Steve 还说,他在 2012 年升到 senior,2020 年升到 principal,而这期间晋升流程在四年里改了三次。

成为晋升流程的专家,Steve 学到了什么?

史蒂夫·黄(Steve Huynh)

Steve 说,他并不是单靠能力得到晋升的。Steve 成了“如何获得晋升”这个流程的专家,并认为这项技能很有用。Steve 当时没有为晋升材料准备足够多的实打实证据,还需要经理的支持。Steve 说,这个流程在四年里改了三次。

Steve 的第一条经验是尽早开始。许多人要等到一个大项目落地才行动,但被拒绝往往与项目是否落地无关。Steve 建议尽早提交晋升材料,以便得到关于差距的真实反馈。

Steve 的第二条经验与优势有关。晋升材料会对优势给一部分认可,但评审者关注的是“差值”。Steve 建议优先处理弱项和差距,同时防止优势退步,就像厨师只照看一锅意式烩饭,而让其他锅暂时搁着。

Steve 最喜欢 Amazon 文化中的哪些部分?

史蒂夫·黄(Steve Huynh)

Steve 说,最重要的是“客户至上”(customer obsession)。从实习生到副总裁,所有人都被要求把客户放在第一位。Steve 说,从客户出发倒推(working backward)是正确的北极星。为短期利润或竞争对手而优化可能适得其反,Steve 把“长期利润和客户是一回事”的想法归功于 Jeff Bezos。

Steve 称写作文化是一种超能力,并说有写作背景让写一份六页的文档变得更容易。会议往往以大约 30 分钟的文档阅读开场,然后再讨论。Steve 说,写作是可以学会的,加入之前不必专门为此下功夫。

Steve 不喜欢这种文化的哪些方面?
史蒂夫·黄(Steve Huynh)

Steve 说,朋友之间的内部玩笑是“节俭”(frugality)。任何廉价或寒酸的东西,比如没有免费餐食、硬件落后,都会被贴上这个标签。Steve 说,免费餐食是福利,没有并不代表公司不好,但节俭也可能走得太过。

Steve 记得自己苦苦哀求,只为要一台内存足够的笔记本,这样编译代码时风扇才不会过热。Steve 说,一家雇着数万名开发者的公司,应该给他们能正常工作的电脑,他还记得实习季结束后显示器被收走。

Steve 带过的经理很多,什么样的经理才算出色?

史蒂夫·黄(Steve Huynh)

Steve 说,经理的数量超过 17 位,接近 20 多位。Steve 说,最好的经理很有个人魅力,但 Steve 最认同的是那些从原则出发推理的经理。这些经理把领导力准则当作公理,因此决策是由它们推导出来的,也有相应的后果。

Steve 说,最好的经理在客户至上和长远思考上立场坚定。如果短期的权宜之计符合面向未来的选择,他们会接受。Steve 觉得只关注近期交付的经理更难共事。Steve 还指出,有些抱怨被微观管理的人,其实需要把事情拆解开来。

最差的经理是谁?他们差在哪里?
史蒂夫·黄(Steve Huynh)

Steve 不点名。Steve 说,最差的经理是风格不合,再加上一种感觉:招聘和晋升流程本该把他们筛掉。一位对某个人关怀备至、投入其中的经理,对另一个人可能很不合适。

Steve 说,有时很难理解某些经理是怎么走到这个位置的。

Steve 为什么在 Amazon 待了 18 年?

史蒂夫·黄(Steve Huynh)

Steve 说,Amazon 规模大,使得在同一家公司里可以有许多段不同的职业生涯。Steve 做过第一代 Kindle、Prime Video 的前身,回到过 Prime Video,也做过支付。Steve 说,这并不像是在同一个团队待了 18 年。

Steve 有没有考虑过离开?对跳槽有什么建议?
史蒂夫·黄(Steve Huynh)

Steve 说他有好几次考虑过离开。职业早期,跳槽可以提高总薪酬,Steve 说这个建议大约在 senior 级别之前都有效。

Steve 说,处于顶层的 distinguished、principal 和 staff 工程师,通常在同一个团队、同一个问题上待了至少三年,往往约五年。Steve 对快速晋升的经验法则是:在中级以前大约每两年跳槽一次,之后就扎下根来。

Steve 为什么选择扎根?
史蒂夫·黄(Steve Huynh)

Steve 说,因为没有计算机科学的背景,留下来是合理的。大量的代码、wiki 和内部视频有很多东西要学。Steve 觉得留下来就能按自己想要的方式成长。

对刚大学毕业的年轻时的自己,Steve 会说什么?

史蒂夫·黄(Steve Huynh)

Steve 说,他会警告自己别讨好别人。Steve 描述了一种“赛道文化”,比如先上学、再工作、再结婚,以及一种比别人领先或落后的感觉。Steve 每取得一项成就之后也会寻求认可,并怀疑年轻时的自己是否听得进去。

Steve 说,要取悦的人是自己。Steve 会问:一个人是在做自己想做的事,还是别人期待的事;是为了爬到顶端才爬梯子,还是因为梯子恰好摆在了面前。

关于这份资料

Amazon Principal 工程师(L7):裁员、面试与职业成长|Steve Huynh

本节是对原始文字稿的转述。自动生成的字幕可能有错误。

观看原视频 ↗

开场预告,00:00.08 至 00:55.80:预览片段和问题,正文中会完整涵盖。

频道、通讯和 Discord 的推广以及结束致谢,约 1:17:53.60 至 1:18:47.80。推广语起始于一个字幕块内,该字幕块同时包含最后一个回答,因此确切的分界点未能确定。

全程主持人的提示语、口头填充词和应答都已删除。在这六个片段中没有发现赞助商口播。

这一精选章节保留了来源中关于职场、领导力和职业的段落。技术性的和无关的讨论已省略。

我的笔记在可使用本地存储时,笔记会保存在此浏览器中。
第 51 节 · 访谈

Zach Wilson:跳槽升至 Airbnb Staff、面试与内部品牌

Zach Wilson 讲述了自己从初级数据工程师快速升到 Airbnb Staff 的经历,认为面试和影响力故事的见效速度比晋升更快,并且算了算长时间工作的代价。

面试和影响力故事,比等待晋升更能加速职业发展

Zach Wilson 描述了自己的职业路径:从 Facebook(主持人称其为 Meta)的初级数据工程师,到 26 岁成为 Airbnb 的 Staff 数据工程师。Zach 的核心论点是,面试是职业生涯中杠杆率最高的环节。其中两次职级跃升来自换公司,而且每次凭借的都是一个清晰的影响力故事,而不是工作时长。Zach 也列出了代价:大约每周 60 小时的工作,在相应行为尚未到位时就担任了 Staff 类的角色,以及 Netflix 的一次重组,最终以一次心理健康休整收场。主持人补充说,当一个人有影响力却还没有相应的行为表现时,公司会压住晋升。薪酬数字和公司细节均是 Zach 的回忆,未经核实。

Zach 是怎么入行的?

Zach Wilson

Zach 最初在几家创业公司做数据分析师。他曾打算当数学教授,但这意味着要读很久的书、薪水却一般,这个计划后来就搁置了。在 Think Big Analytics 的早期工作让他学到了 Hadoop——当时它还很新,大约是录制时十年前的事——Zach 认为这段经历是 Facebook 后来想招他的主要原因。

Zach 在两年里换过四份工作。毕业时,他不确定自己该当移动端工程师、数学教授还是数据科学家,尝试了几种角色,最后才定在数据工程上。他同时修了计算机科学和应用数学的双学位,简历上只有数学辅导的经历,却仍然拿到了四五次面试,他称这是运气。

Facebook 的 offer 是怎么来的?Zach 为什么拒绝了还价?
Zach Wilson

在犹他州待了一年之后,Zach 搬到华盛顿特区尝试新的东西。六七个月后,一位 Facebook 招聘人员在 LinkedIn 上联系了他——Zach 说自己从 2015 年在 Think Big 的那份工作起,这个网站就一直至关重要。Zach 此前被 Google 的移动端岗位拒绝过两次,所以这次被联系的感觉,几乎像是 Facebook 在向他求职。

华盛顿特区的雇主给出了还价。Zach 记得 Facebook 给的大约是 180,而特区公司给的约为 200,单位没有说明。Zach 拒绝了,因为两个月前他要求涨薪 20% 被以没有预算为由驳回。Zach 的想法是,钱只在人要走的时候才出现,说明在那里成长会很痛苦。

新人训练营是怎样的?Zach 是怎么选团队的?

Zach Wilson

搬到硅谷也让 Zach 离犹他州的家人更近了,之前在特区时,家人似乎很遥远。Zach 说,训练营的第一个月,感觉更像迪士尼乐园,而不是工作。入职培训在推销公司的价值观,比如快速行动、大胆,而且因为还没有任何截止日期,感觉就像上大学。

Zach 面试了三个团队:广告、增长和社区支持。广告团队的卖点是通过数据为 Facebook 赚几百万,社区支持团队的卖点是防止不良内容,增长团队的卖点是好玩。Zach 加入了核心增长和通知团队,一部分原因是这个卖点,另一部分是因为有一位富有创业精神的经理,至今仍是他的好友。

入职时,Zach 理解职级体系吗?

Zach Wilson

不理解。Zach 不知道 L3、L4、L5 是什么意思,也没有意识到自己是以 L3 入职的。Zach 在创业公司做过两年大数据管道的工作,但没有任何经验的斯坦福应届毕业生拿的薪水却和他一样,Zach 觉得这不公平。Zach 断定自己是被定错了级别,于是拼命工作争取升到下一级,这花了大约七个月。

Zach 说,这件事让他明白:一个人怎样面试,是职业生涯中杠杆率最高的部分,比在这个岗位上创造的影响更重要。

Zach 做了什么来争取从 L3 到 L4 的晋升?
Zach Wilson

Zach 很早就能感觉到事情进展顺利:工作任务拆解得很清楚,精力充沛,交付了很多代码。通知团队有一个用来追踪转化率、点击率和送达率的瀑布式框架,Zach 觉得它很差。要修好它,需要做 XHP 和 React 的工作,而不是 SQL 和 Python,于是 Zach 两样都学了。Zach 说,经理把这当作一个人能解决职责范围之外的问题的证明,而当时并没有人要求他这样做。

Zach 说,只做分配的任务,在 L3 只能拿到“达到全部预期”的评级,所以他去找影响力所在的地方。

这次晋升在意料之中吗?
Zach Wilson

很意外。由于入职日期在七月下旬,这一个半年对 Zach 来说只有五个月。Zach 认为公司意识到了职级定错的问题,因此跳过了通常的步骤。主持人补充说,在一个半年内就晋升,通常说明是招聘时判断失误,公司会很快纠正。

Zach 把这与犹他州对比:那里的晋升看资历,而不是看影响力。在犹他,Zach 曾以为软件工程师到 35 岁左右年薪大概就封顶在 20 万了。Facebook 一开始给的就是这个水平,而且还有通往百万的路径,Zach 说,公司奖励的是业务影响力,因为所创造的价值超过了所付的薪酬。

Zach 在 Facebook 每周工作多少小时?

Zach Wilson

训练营结束后,Zach 逐步增加到大约每周 50 至 60 小时,通常大约九点半到公司,晚上八点左右离开,因为早餐、午餐和晚餐都是公司提供的。Zach 开玩笑说,免费餐食让他没学会做饭这项基本的生活技能。

升到 L4 之后,为什么下一次晋升(L5)没有实现?

Zach Wilson

Zach 想在一年之内升到 L5,并且在第一位经理在任期间信心十足。那位经理在第二年夏天离开了。团队有一段时间直接向总监汇报,之后又换成一位来自 Netflix 的新经理,因此 Zach 一年内有过三位经理。没有一位掌握全部背景,Zach 不得不一遍又一遍地重述过去的工作。Zach 说,这打乱了计划,而信任需要时间建立。Zach 说,好的经理默认会给予信任,其他经理则要先要证据。

Zach 作为 L4 在第一个半年拿到了“大幅超出预期”的评级,在下一个半年又拿到了一次。反馈是,Zach 还没有达到 senior 工程师的运作水平。他承担的工作太多,领导层怀疑在 L5 水平上的交付是否可持续。

主持人说,晋升必须是可持续的,领导可能会想:一个长时间工作的人能不能一直撑下去?这和 Zach 学到的相符吗?
Zach Wilson

Zach 说相符,并称这是他在 Facebook 学到的最重要的教训之一。工作时长并不一定会带来晋升。额外的时间可以弥补技能上的差距,但不会让领导层有信心认为你已经准备好迈向下一个级别。

主持人同意,晋升委员会看重的是行为,也就是承担更多领导责任的能力,而不仅仅是额外的工作时间。主持人指出,这可能让勤奋的人感到苦涩。

晋升停滞后,Zach 做了什么?

Zach Wilson

Facebook 的晋升通常在三月前后落地,在得知这次不会有晋升后,Zach 决定是时候把这个故事拿到市场上了。Facebook 对 Zach 的评级是“大幅超出预期”,这使它成为一个有分量的故事。

Zach 指出,面试官看不到工作时长,只看到你做过什么,并且能从另一个角度看待影响力,不会看到太多当前工作的负面数据。在通知机器学习优化和其他技术工作之后,Zach 确信,只要详细描述这些工作,在任何一家大型科技公司都能拿到 senior 的职位。

Zach 还只是中级、经验年限不多,是怎样在 Netflix 把自己包装成 senior(IC5 级)的?
Zach Wilson

Zach 归功于运气:Netflix 的招聘经理就是前 Facebook 的那位经理,他已经见过 Zach 的工作,也信任这些工作。Zach 说,这就是建立人脉很重要的原因。

Zach 把个人品牌(比如 LinkedIn 帖子或视频)与内部品牌区分开来,后者指同事如何了解一个人。Zach 说,这次奏效的是强大的内部品牌,它来自与那位经理一起努力工作。

除了晋升停滞,还有什么推动 Zach 离开 Facebook?(编辑提示语,引出 Zach 的主动补充)
Zach Wilson

Zach 还想不再当数据工程师。在大约 15 位数据工程师的团队里,Zach 说他们写了团队约 90% 的 JavaScript。Zach 还说,数据工程师处在工程序列之外,所获得的股权要少 30% 到 40%,这一说法在此未经核实。Zach 要求转做软件工程师,被告知这意味着要降到 L3,鉴于他已经交付的成果,Zach 觉得这很荒谬,拒绝了。Zach 说,头衔比工作本身更被看重,而一位愿意倾听职业目标的经理极其重要。

Zach 补充说,从数据工程转到软件工程时降级是标准做法,反过来则不会。Zach 还想做更大规模的数据工作,而不只是 SQL,他说,他在 Facebook 担任的那个角色放在今天会被称为分析工程(analytics engineering)。

更好的经理本可以避免这次降级吗?
Zach Wilson

Zach 认为可以。他在 Facebook 的一位朋友,经理很支持他,这周完成了转岗,已经待了大约九年,用 Zach 的话说,过着 Zach 在有更好经理时本可以过上的生活。

Netflix 的录用是怎么运作的?老经理的背书有多大分量?

Zach Wilson

前经理说,鉴于软件经验不足,他不能把 Zach 作为 senior 软件工程师招进来,但可以招他做 senior 数据工程师,并在六到十二个月内把他转到软件工程。大约六个月后,Zach 成了 senior 软件工程师。

Zach 回忆说,2018 年 Netflix 只招 senior,职级是在录制前大约两年才加入的,也没有 staff 级别。经理掌握招聘权,这符合自由与责任的文化,同时他们也被要求开除人。Zach 把这与 Meta 的标准化面试作对比,在那里内推的分量更轻。Zach 补充说,这部分文化也有弊端。

主持人把这解读为一个内部品牌的故事:这位经理见过 Zach 作为初级工程师的交付,不论职级都希望他加入团队。Zach 同意这比人们想象的更重要,并说不要烧桥,要找和自己投缘的人,因为你可能会再次与他们共事。

这次跳槽对薪酬有什么影响?
Zach Wilson

Zach 说,薪酬大约翻了一倍,达到约 385 到 390,全部是现金。字幕把起始数字弄乱了,也没有给出单位,因此这些数字只是大致的。

Zach 在 Netflix 有什么计划?那里的晋升和评审是怎么运作的?

Zach Wilson

24 岁时,Zach 设想自己 30 岁前成为 principal 工程师(L7 或 L8),做深度的技术工作,并判断数据工程无法抵达那里。Netflix 的工作是实时安全威胁检测,Zach 称其为前沿而且很难。

Netflix 没有 Meta 意义上的晋升。经理每个季度给一个颜色:绿色表示没问题,黄色表示要加把劲,红色表示即将被开除。每年有一次薪酬讨论,依据的是其他公司会开出的价码,而不是过去的工作,经理也可以随时调整薪酬。

Zach 不介意没有职级。Zach 预期薪酬很高,并且仍有很多东西要向经理学。Zach 说,在每家公司都要想好影响力的故事,并以引人入胜的方式讲出来。

Zach 所说的“故事”指什么?它如何支持频繁跳槽?

Zach Wilson

Zach 大约每两年离开一份工作,所以他必须先对故事感到满意。在 Airbnb,Zach 很早就有想辞职的冲动,但意识到还没有一个好故事,于是又待了六个月。故事是一个完整交付的、可以拿去“推销”的影响力包:如果录用我,两年内我会交付的就是这些。

Zach 卖给 Netflix 的那个 Facebook 故事是什么?
Zach Wilson

Zach 列出了三项。第一项是通知的可达性指标,它是对垃圾信息的制衡,追踪谁在关闭设置,结果比预想的更复杂。第二项是第一个同时涵盖 WhatsApp、Instagram、Messenger 和 Facebook 的增长看板,把它们放在同一张图里。第三项是 Facebook 通知筛选机器学习算法背后的管道,Zach 用 sorted merge bucket join 把它的成本降低了 90%,也就是效率提升了十倍。

频繁跳槽的人如何应对对任职时间短的担忧?
Zach Wilson

Zach 说,任职时间短会让人联想到,这个人不善于与他人合作,或者是不忠诚的跳槽者。Zach 说,必须在面试早期就打消这种印象,方法是展示雄心、解决过的难题,以及继续解决更多难题的路径。Zach 见过面试官起初持怀疑态度,聊过之后态度就缓和了。

是什么让 Zach 离开了 Netflix?

Zach Wilson

Zach 说,第一位经理太相信他了。当时 Zach 在做安全威胁检测,另一个团队的资产清单(asset-inventory)岗位因一位工作了十年的工程师离开而空缺。Zach 说,那是一个 staff 的位置,而不是 senior,他接下了。Zach 从与一个团队合作,变成了对接 11 个团队,没有为随之而来的大量沟通做好准备,对每个人有问必答,结果工作过度。据 Zach 说,Netflix 对这次调动给予了回报,第二年薪酬从 300 多万的后半段涨到了 550。

2019 年,Netflix 决定数据工程不再是一个必要的组织,把它并入了数据科学。Zach 说,副总裁、总监和第一位经理被解雇了,所有人开始向数据科学的负责人汇报。

Zach 如何应对这次重组?
Zach Wilson

这造成了极大的压力,以至于 Zach 休了一个月的心理健康假。Zach 不想待在数据科学组织里,在 Facebook 时他就不喜欢那样,他想要一个工程组织。Zach 要求转到网络安全团队,资产清单的工作本来就属于那里,但被告知要留在当前的岗位。

Zach 在没有任何着落的情况下辞了职,计划 2020 年环游世界。最后一天是 2020 年 3 月 6 日,新冠疫情让这个计划落空了。Zach 说,Netflix 会付很高的薪水,却给不了 Zach 想要的其他任何东西。

Zach 从中得到了什么教训?
Zach Wilson

Zach 认为,职业生涯应该包含学习、赚钱,或者两者兼有,而且学习比赚钱更好,这也是他如今成为创业者的原因。Zach 说,在 Airbnb 的无聊感来自同样的原因:薪水很高,但他没有在学东西。

主持人说,当一个人有影响力却没有相应的行为时,公司会压住晋升。Zach 从被过早放进 staff 角色的经历中学到了什么?

Zach Wilson

Zach 认同,Netflix 的案例恰恰说明了这种“推迟晋升”本想避免的问题。Zach 列出了几点:更好的工作边界、提前规划(这是 Zach 作为创业者正在重新学习的一课),以及推销技术愿景。Zach 说,做内容创作对最后一点有帮助,也就是把一个想法呈现出来,让别人愿意支持。

在较低的职级上,工程师只需交付分配的工作、解决难题。Zach 说,到了 staff 级别,新的行为是决定要解决哪个问题,这一点 Zach 在 Netflix 时觉得压得喘不过气。

Zach 从离开 Netflix 到去 Airbnb 面试,是怎么走过来的?

Zach Wilson

到 2020 年 12 月,Zach 已经打了很多电子游戏,感到空虚和抑郁。当时的女朋友问 Zach 到底在拿人生做什么,两人分手了。没有工作、没有伴侣,还有一条狗要养,Zach 决定再试一次面试。

Zach 那个月也开始在 LinkedIn 上做内容,因为他三月份曾对 Netflix 的同事说,他们以后会看到 Zach 成为名人。Zach 后悔没在疫情期间就开始,那时增长更容易。Zach 面试了 Meta、Google 和 Airbnb,前两家是软件工程,Airbnb 是数据工程,三家都给了 offer。

这些 offer 相比如何?
Zach Wilson

Google 和 Facebook 给的都是 senior 职位。Zach 记得 Facebook 大约是 400 到 415,Google 的数字更低,但字幕把它截断了,和几年前 Netflix 付的差不多。据 Zach 说,Airbnb 给的比这个高出十万美元以上,所以选择很容易,尽管这些 offer 并不是真正在互相竞争。

Zach 还喜欢 Airbnb 做数据工程的方式。工作大约 95% 是 Scala,5% 是 Python,没有 SQL,管道还要和线上定价与房源可订系统相匹配。Zach 说,这种把管道、集成和优化结合起来的工作,正是他在 Netflix 想要的。

职位要求十年以上经验,而 Zach 只有六年,是怎么获得 staff 级别的考虑的?

Zach Wilson

Zach 说,Airbnb 表示将由面试本身来决定是 senior 还是 staff。Zach 把功劳归于来自 Netflix 的影响力故事,包括与 11 个团队对接以及解决了一系列安全问题。Zach 也归功于 Netflix 的反馈文化。即时而直率的反馈起初让人觉得刺耳,但 Zach 后来明白同事们是希望他成长,Zach 说 Airbnb 的面试官对此印象深刻。

Zach 有没有主动争取 staff?
Zach Wilson

有。招聘人员一开始就说结果会是 senior 或 staff,这让 Zach 很不满,因为他不会接受只有 senior 的 offer。Zach 把 Facebook 和 Google 的面试告诉了招聘人员,并说如果三家都只给 senior,Zach 就不会选 Airbnb,大概会回 Facebook。随后 Airbnb 倾向于采取以面试表现为依据的折中路线。Google 和 Facebook 则表示只能给 senior。

Zach 的经验是:同时面试不止一家你感兴趣的公司,这样你就能说出自己需要什么,否则可以直接走人。

工作年限上的差距有影响吗?
Zach Wilson

职位要求十年以上,Zach 只有六年,仍然拿到了 offer。Zach 在 LinkedIn 上就此发的那条爆款帖子只有一个信息:去申请那些你觉得自己还没准备好的工作。Zach 同意,谈判和推销自己才是起决定作用的因素。

有人可能会想,Zach 在 staff 角色上是不是表现不佳。和 Netflix 相比,进展如何?

Zach Wilson

Zach 认为在 Netflix 的困难来自两项同时发生的变化:大约一年前从数据转到软件工程,以及跃入 staff 级别的领导角色。Zach 只有约一年的专业软件工程经验,并说周末的个人项目让情况没有变糟。新工作加上更高的头衔,让倦怠的风险升高了。

在 Airbnb,staff 的角色在数据工程方向,Zach 在这方面有信心。领导层在场,学习起来也觉得可控。Zach 说,一次只改变一个变量。Zach 当时担心重蹈 Netflix 的覆辙,但 Airbnb 的这个角色平静得多。

在 Airbnb 的第一年过得怎么样?

Zach Wilson

Zach 在第一个半年拿到了“超出预期”。Zach 升级了许多定价管道并撰写了设计文档,这是更高层次的工作。反馈是,Zach 已接近“大幅超出预期”,差距在于架构。Airbnb 想要公司范围的工作,而 Zach 想留在 marketplace。他们让 Zach 设计把数据从数据湖回流到生产系统的最佳实践,这是不那么直接的方向,而 Zach 完全不想做。

2021 年 9 月,Zach 有过一刻清醒,问自己究竟要不要追求晋升。Zach 告诉经理,这件事做不完,而经理说这正是通向下一个级别的工作。Zach 说,这实际上就是意味着太多的会议。

Zach 想成为 principal 工程师的愿景有变化吗?
Zach Wilson

Zach 说有。Airbnb 把路径摆在眼前,但 Zach 在 LinkedIn 上渐有起色,已有约 5 万粉丝,现在更在乎其他事情。Zach 告诉经理,工作仍然会完成,并打算通过只做最低限度的工作,让自己在 Airbnb 保持“滑行”状态。

Zach 此前有很强的经理。在 Airbnb,Zach 是怎样从零开始建立内部品牌的?

Zach Wilson

每到一份新工作,Zach 都会试着在三个月内做一件事,让人们说“这个人不一般”。在 Airbnb,这件事是定价和房源可订管道,它每天计算价格和可订情况,是 Zach 见过的最乱的管道之一。Zach 被分配把它迁移到 paved road 上,这是 Airbnb 用来构建高质量、与平台兼容的管道的方法,目标期限是年底。Zach 在第一个季度就完成了,之后这条管道不再延迟,运行平稳。

Zach 说,这传递出的信号有两层:此人上手很快,而且很快就带来了重大影响。它也显示了 Zach 能管理风险,因为定价对 Airbnb 至关重要,而 Zach 谨慎地遵循了最佳实践。Zach 会寻找那些大家都知道可以更好、却因为工作风险高、复杂或痛苦而没人碰的系统。

Zach 事先知道这项工作会有影响力吗?
Zach Wilson

不知道,是别人交给他的。Zach 说,入职三个月时,一切都是被交到手上的,要至少六个月才能形成对公司的内部指南针。Zach 把它看作一种取舍,目标是尽早建立品牌。

同事们有什么反应?
Zach Wilson

Zach 说,人们不信任新来的人,有些人甚至主动不信任。一些 senior 工程师不喜欢 Zach,因为 Zach 是以 staff 级别招进来的,而他们为那次晋升努力了四年,认为这个职级是被白白送给了外部空降的人。Zach 还认为,在大多数公司,从 senior 到 staff 的晋升难得没有必要。

Zach 在 Airbnb 每周工作多少小时?

Zach Wilson

Zach 说,2021 年的 Airbnb 好得多,大约每周 40 小时,可能稍多一点,而在 Facebook 和 Netflix 大约是 60 小时。Zach 曾以为不长时间工作就不可能拿到“超出预期”,原本预期的是“达到预期”,并说只要不被开除,对“达到预期”感到满意也没有问题。

Zach 性格中的哪些方面对这段职业生涯有帮助?

Zach Wilson

Zach 说了三个特质。第一个是坚韧不拔的学习意愿。即使在 Facebook 每周工作约 60 小时,Zach 还是创办了一家创业公司,周末投入其中,为的是学习 JavaScript 和全栈开发。Zach 说,这对他今年作为创业者的成功至关重要,因为平台是基于 JavaScript 的。

第二个是积极乐观和外露的热情。带着兴奋的状态出现是有感染力的,会让别人更喜欢自己的工作、更喜欢 Zach,并带来机会。Zach 补充说,经理的工作在很大程度上就是让人们喜欢自己的工作。

第三个是不肯容忍令人觉得不公平的事,并且改变生活而不是忍受。Zach 称这是一把双刃剑,并不总是好事。

如果留在 Meta,会走出类似的路径吗?
Zach Wilson

Zach 认为,留下来并找到一位更好的经理,也可能有类似的轨迹,而且会没那么混乱。Zach 说,要在不同工作之间合并的许多医疗计划和 401(k) 账户也很麻烦。主持人回应说,留下来仍然意味着不满意并要换团队,这同样有风险,而且 Zach 的第一个特质解释了第一位经理为什么如此信任 Zach。

如果 Zach 重新从 IC3 开始,会改变什么?

Zach Wilson

Zach 会对其他视角更开放。头几年,Zach 专注于成为技术最强的人,如今他认为这主要在升到 senior 工程师之前很重要。此后,技术能力只能起到有限的帮助,还需要其他技能。

Zach 直到 Netflix 才开始培养软技能,那时情况已十分危急,这些技能迫切需要。如果更早在 Facebook 培养,在风险较低、失败感觉更小的情况下,就会更均衡,成长可能也更快。

Zach 还说不要在公司吃晚饭。Zach 称这是一个骗局:在 Zach 看来,Facebook 和 Google 提供晚餐是为了让人在办公室待得更久。Zach 本可以把这些时间用来去健身房(因为他直到 2018 年才开始健身),以及用于生活的其他方面。

鉴于成长如此之快,Zach 是否希望少工作一些?这一切值得吗?
Zach Wilson

Zach 说这样的成长是值得的,Zach 现在追求的是平衡与宁静。Zach 不会重复 22 到 25 岁时的那种工作方式,但并不后悔,因为那是他感到自己有力量、能成长所需要的。Zach 补充说健康很重要:压力很大地赚了 2000 万美元却在 50 岁去世,不是好的人生,而健康、财富和幸福在不同时期的重要性各不相同。

Zach 还说,努力工作通过让年轻人变得有用,给了他们一种使命感。Zach 接着问,这种使命感是否有可能不需要那么多不眠之夜、那么多力不从心的夜晚,以及几次惊恐发作。Zach 说,这样的代价很少被谈论。

主持人总结了给 IC3 时期的 Zach 的建议。Zach 还有什么补充?
Zach Wilson

主持人把建议总结为:不要再一维发展,继续努力工作,照顾好健康,享受这段旅程。Zach 同意要更多地享受旅程、不要执着于获得晋升,并说,对那些每天投入时间的人,事情时机到了自然会来。Zach 相信,只要愿意付出代价,宇宙会给人想要的东西。

关于这份资料

26 岁跳槽升至 Airbnb Staff|Zach Wilson

本节是对原始文字稿的转述。自动生成的字幕可能有错误。

观看原视频 ↗

开场预告语和主持人对本期的介绍(00:00.04 至 00:53.80);相同的预告在约 08:17、16:28 和 01:01:02 处重复出现,这里只保留一次。

结束致谢、关于新的职业故事播客系列的说明、对智能手机录音质量的评论,以及对观众反馈的请求(01:05:52.04 至 01:06:40.68)。

一些小插曲:关于要求分享所节省价值的玩笑(12:54.88 至 13:35.80),以及以一位 LinkedIn AI 网红为例来说明 2020 年增长的题外话(40:50.84 至 41:35.60)。

我的笔记在可使用本地存储时,笔记会保存在此浏览器中。
第 52 节 · 访谈

通过经理来领导,并比较头衔背后的实际范围

精选片段:管理经理、信任、组织增长、领导层关系,以及比较角色的实际范围。

Square 的总监机会是怎么来的?

他纠正了主持人的前提:他是带着总监的 offer 加入 Square 的,而不是从一线经理在内部晋升上来。团队在大约一年里从二十五人左右增长到五十多人。组建机器学习和数据基础设施团队,让他接触到一份新工作:通过经理来领导,而不是直接管理工程师。

从经理到总监,最大的能力差距是什么?

在 Facebook,他是先做 IC、后当经理的,所以了解团队的技术细节让他有权威。到了新公司,他的下属任职更久,比他懂得更多。他再也不能靠“是房间里信息最灵通的人”来证明多出一层管理层的合理性。

他认为自己在大约头半年里表现不佳。反思之后,他转向了战略方向、跨部门资源协调,以及组织里最难的问题。这份工作是引导一个组织走向更好的未来,而不是重复一线经理们的工作。

另一个转折点是搞清楚每位经理希望从他这里得到什么。他试着找出他们缺失的能力,并帮助他们向下一个级别成长。这使他的角色被重新定义为,为他们的职业生涯增加价值的人。

对那些希望得到你被聘入的那个职位的经理,你是怎么处理的?

他理解那种自然产生的失望,并努力表明自己的到来可以帮助他们的前景,而不是阻碍。首先是建立信任,接着在成长上提供具体帮助,并帮他们解决他们独自无法排除的障碍。他把功劳归于《团队的五大障碍》(The Five Dysfunctions of a Team),这本书强调,信任是其他团队行为之下的基础。

换公司是不是提升管理层级最好的办法?

他不这样认为;他在 Facebook 的老同事靠留下来就升到了非常资深的职位。他自己的几次跳槽是出于另一个目标:最终成为一家 AI 公司的 CTO。这个预期的结果暴露了他在基础设施、前端、产品,以及某个行业的业务运作方式上的差距。

在 Snapchat,他可以带数据团队或相机团队。他尽管有数据和机器学习的背景,还是有意选择了相机团队,学习 iOS 和 Android 开发,并花了大约两个月学 iOS。产品岗位迫使他与产品经理和设计师合作,如果留在熟悉的后端专业领域,他可能就得不到这样的历练。

他记得头两年特别快乐,因为每天都在扩展自己的知识。教训是:选择一个机会,要看它能带来什么能力,而不是推断任何外部的头衔提升都是一个稳妥的策略。

工程领导者需要了解团队多少细节?

Facebook 的新人训练营给他留下了深刻印象:就连新入职的副总裁,也和其他新人一起修 bug、提交代码。他由此形成了一个信念:工程领导者应当保持技术能力。他仍然写代码、评审代码,提到每周会有好几个 pull request,并希望掌握足够的细节,以便做出合理的战略判断,而不是不懂装懂。

你如何在技术深度与更高杠杆的领导工作之间取得平衡?

每周开始时,他会确定最重要的三个成果,并集中精力在那里。有时学习实现细节就是其中之一;有的周则不是。把优先级重新对准他更大的目标,比重复同样的活动或者单纯增加工时更重要。时间是有限的,关键在于分配。

是什么推动了你的组织增长到大约 250 名工程师?

他把团队的增长与 Snapchat 整体的扩张联系起来:两年内员工从大约一百人增长到三千人,同时他也归功于招聘和面试官的努力。快速增长同样痛苦:适合一百人的文化,和适合三千人的文化是不同的。他把每一次翻倍比作创建一家新公司。领导者需要适应,而不是坚持认为早期的组织答案永远正确。

和 Evan Spiegel 共事,你学到了什么?

他回忆说,产品质量的标准高得异乎寻常,连演示中像素级的问题都不放过。他的团队学会了拿出真正打磨精良的演示,他把这种对细节的关注与大家熟悉的 Steve Jobs 形象相比较。

他还描述了一位重视个人关系、信守承诺的领导者。一个故事是 Spiegel 告诉另一位领导者,不要因为最初的十五位工程师是创始阶段的功臣而解雇他们。另一个故事是开董事会时回到与 Snapchat 起步相关的那栋小房子里。这些是嘉宾对领导力和忠诚的讲述,并不是推荐的通用用工规则。

你是如何被招募到后来的领导岗位的?

他说,机会是通过招聘人员或个人关系主动找上门来的,而不是自己积极去找。他更倾向于认识的人,因为公司不可避免地会经历顺境和逆境。他想要的是在低谷中可以信任、一起思考的伙伴。早早建立职业人脉,使后来的这些机会成为可能,不过他个人这种“机会主动上门”的经历,不应被假定适用于每一位候选人。

当公司规模和头衔不同时,你如何比较领导岗位的 offer?

他主要不看估值或汇报人数的排名。事实上,他说自己乐意少带几个直接下属。核心的检验标准是,这份工作是否能让他更接近自己想要的打造产品的结果。

头衔属于公司的结构,一个人离开后可能就失去意义。他宁愿被人记住是因为做出了有用的产品,而不是因为挂着一个高级头衔。他设想由一个非常小的团队打造出价值极高的公司,但他把这当作一种期望和预测,而不是既定的要求。

在为自己的创业公司招人时,他希望候选人既相信一个大的成果是可能的,又明白它的概率可能非常低。这个很小的概率是对创业风险的坦率说明,而不是经过测算的预测。

为什么要告诉候选人成功的概率很低?

他希望人们有意识地选择这个挑战,这样一来,正常的困难就不会立刻颠覆他们的预期。坦诚有助于找出真正想要这段旅程的那部分工程师,而不是去说服所有人。他的战场类比强调的是为不确定性做好准备,以及共同的承诺。

管理上的成长,有多少是取决于情境而不是自己能控制的?

管理岗位受组织需求和结构的制约,而这又取决于公司战略。他越来越接受这样一个事实:时间点上的很多方面他无法控制。把当前角色的工作做到出色是在他掌控之内的;晋升则是之后由其他条件决定的信号。

他批评那种把下一级的要点当作合同、认为只要逐条打勾就保证晋升的想法。那样会让幸福感取决于一个人无法完全掌控的结果。他的替代做法是:现在就创造影响,并长期朝着自己想做的工作靠拢,同时对之后的机会或创办公司保持开放。

刚拿到博士学位时,你会对自己说什么?

常规的智慧不必决定一个独特的人的道路。他回忆说,自己当年选择卡内基梅隆而不是名气更大的其他选项,是因为计算机科学;他离开研究岗位去了当时还很小的 Facebook,那时几乎没有研究界的同行会这么做。不熟悉的路不那么舒服,但他相信独立思考能发现别人错过的机会。这个建议源于他自己的目标,并不是在断言每一个非常规的选择都会成功。

关于这份资料

3 年从 Meta 一线经理升到 Snapchat 高级总监(职业故事)

本节是对原始文字稿的转述。自动生成的字幕可能有错误。

观看原视频 ↗

0:00–0:41 的开场预告片,重复了后面的交流,只呈现一次。

41:53–42:27 的结尾播客支持与嘉宾请求已省略。

这一精选章节保留了来源中关于职场、领导力和职业的段落。技术性的和无关的讨论已省略。

我的笔记在可使用本地存储时,笔记会保存在此浏览器中。
第 53 节 · 访谈

Jay Jo:认可、辅导与团队成长

精选片段:晋升与认可的错位、领域所有权、辅导,以及团队扩张时如何维持文化。

在 Robinhood 的成长符合 Jay 的预期吗?

Jay Jo

Jay 说,他加入得稍晚,赶不上早期员工所享受的快速成长,而那时公司已经在走向更传统的大公司路线。Jay 因为入职晚而错过了第一次评审,在九个月时才走了评审流程,在那之前经历了长时间的工作,有时一直干到凌晨两点。

Jay 还描述了一段痛苦的 on-call 轮值,围绕一个在收盘后运行的夜间批处理,有时要持续到凌晨四五点,已经近乎业务问题了。

这是否让 Jay 对大科技公司感到心灰意冷?
Jay Jo

Jay 说,付出的时间与回报不成正比。Jay 曾考虑变得更加心不在焉、得过且过,这是他在许多同事身上看到的模式。这让 Jay 对大科技公司的环境感到幻灭,并确信有更大的目标值得追求。

Jay 是在只做最低限度工作的情况下获得晋升的吗?

Jay Jo

Jay 说,他在第二个绩效周期获得了晋升,并且在离开前在技术上已经够资格再次晋升。到那时,Jay 只做最低限度的工作,保持接近平均水平,把时间花在别处。

Jay 说,在一家增长了大约十倍的公司里,作为一名称职的工程师,使他成了许多系统里唯一懂行的人。这使 Jay 成了领域专家,也成了好几个系统的工程负责人。

在快速增长的公司里,仅凭称职就能让人成为承重的支柱吗?
Jay Jo

Jay 同意,当团队和工作量都在增长时,称职几乎会自动得到回报。Jay 还指导了三个人,第一个是在入职一年半左右,Jay 说这在较大的公司里要少见得多。

自公司创办以来,团队是如何成长的?

Jay Jo

Jay 说,公司 2022 年创办时只有五到七个人,现在各个实体加起来约有 60 名全职员工。Jay 称,相比 Robinhood 这样的地方,这是精益增长,并说这是正确的决定,因为缓慢增长能保持文化完整,避免官僚主义和对该做什么的困惑。

关于这份资料

从 Robinhood 软件工程师到 10 亿美元以上的创始人:非线性职业、对晋升的幻灭、创业心得

本节是对原始文字稿的转述。自动生成的字幕可能有错误。

观看原视频 ↗

开场预告和主持人介绍,00:00.08 至 00:40.24。关于“太害怕而不敢离职”的开场钩子,已体现在概述和 26:15 的回答中。

主持人对先前关于成长和选人的回答的回顾,18:19.20 至 18:58.48,因属重复而压缩。

结束致谢和嘉宾对某社交账号的推广,41:44.32 至 41:56.96。

主持人的频道推广,请求支持、评价和嘉宾推荐,41:57.76 至 42:33.52。

这一精选章节保留了来源中关于职场、领导力和职业的段落。技术性的和无关的讨论已省略。

我的笔记在可使用本地存储时,笔记会保存在此浏览器中。
部分

通过信任、授权与指导来领导

培养他人,共享主人翁责任,沟通决策,并帮助团队取得超越个人努力所能产生的成果。

第 54 节 · 访谈

以信任和建设性判断进行评审

精选片段:基于信任的评审、辅导与自主性、区分风险与个人偏好,以及建设性地接受变更。

你如何决定对一次代码变更评审到多深?

嘉宾

嘉宾根据风险来分配评审精力。线上生产代码和核心架构要仔细审查。一个有开关保护、不关键的叶子组件,可能只做高层次的评审,其中包括检查安全风险等严重问题,因为它的影响范围和重写成本都比较小。

他对熟悉的队友的信任也是考量的一部分。他不会自动把这种理念用在新同事身上,也不声称所有 Meta 工程师都这样。他把正确性和架构风险,与强求每个实现都符合他个人风格区分开来。

同事们会对快速批准提出异议吗?

会。他的团队知道,可以在描述或测试计划里明确要求深度评审,或者把已批准的变更退回重新评审。作者可能知道,一个表面上很小的组件有微妙的性能或设计问题。这个信号会改变评审者的时间分配,即使该组件仍然是边缘性的。

为什么问“如何通过一个变更”,而不是“如何拒绝它”?

嘉宾

他想找出真正阻碍安全推进的东西:重大的架构问题和关键的缺陷。他不太在意让另一位工程师把代码写成和他一模一样。经验越丰富,评审者就越能接受几种有效的做法。

他把有条件的批准用到了不同寻常的程度。如果他发现一个会搞崩生产环境的 bug,他可能会留下明确的警告并批准,同时明确要求作者先修复它。他说,据他的经验,受信任的同事不会把这样已知的缺陷合并上线。对于新人,或者他怀疑对方能否正确修复的问题,他会要求在合并前再联系他。

标题和开头的摘录可能会掩盖这个前提条件。他并不是说故意发布已知会破坏生产环境的 bug 是可以接受的;他依靠的是作者在发布前解决它。他自己所说的过往记录,并不能证明这一约定在每种工作流程中都是安全的。

关于这份资料

Instagram Principal 工程师(IC8)谈他为什么会批准有问题的代码

本节是对原始文字稿的转述。自动生成的字幕可能有错误。

观看原视频 ↗

开场摘录重复了后面关于有条件批准的对话,这里只保留一次。

结尾片段和反馈请求(7:36 起)已省略。

这一精选章节保留了来源中关于职场、领导力和职业的段落。技术性的和无关的讨论已省略。

我的笔记在可使用本地存储时,笔记会保存在此浏览器中。
第 55 节 · 访谈

David Malan:辅导、清晰的讲解与协作

精选片段:辅导、讲解艰深的概念、跨院校合作、自豪感,以及不局限于自己编写代码的贡献。

让讲解令人难忘

David J. Malan

Malan 的团队会设计与所教概念相关、令人难忘的演示。目的是形成记忆锚点:不知所措的初学者可能会忘记术语,却会记住一个具体的场景,并据此重新推导出概念。Malan 希望一堂课里至少有这样一个时刻,无论是远程还是线下的学生都一样。

为什么不在各院校之间共享最好的教学材料,而要每门课都重复建设?

David J. Malan

Malan 看到在准备讲座、作业和评分系统上存在大量重复。共享这些工作可以让教育者腾出手来做教育中更有人情味的部分:指导、支持学生以及与学生互动。他的目标不是取代教育者,而是让他们的努力更有价值。

他讲到与耶鲁和牛津的合作,是例外而非高等教育的常规结构。疫情期间教学时,他曾希望各院校能让学生更自由地选修彼此的课程,但发现几乎没有人愿意这样做。

他并不主张只有一门垄断性的入门课程。良性竞争和不同的教学方式仍然有用。他设想的是一个更小的、由优质共享资源组成的集合,其他教师可以采用并改编,就像一个教育自助餐,而不是一再重新制作所有相同的材料。

是什么阻止了一所大学使用另一所院校更好的资源?

David J. Malan

他猜是机构的自豪感,加上害怕让自己的工作显得多余,同时承认别人可以更好地解释他们的动机。他遇到过这样的想法:哈佛只应提供哈佛自己创造的东西,即使附近的院校在某些领域有更丰富的课程目录。

跨校区的研究合作很正常;教育上的合作则可能更让人觉得是个人的、甚至是威胁性的。Malan 更愿意让各院校各有专长、共享资源,并提供不同的本地支持体验。在这种模式下,借用一门优秀的课程是改进服务的方式,而不是承认失败。

你如何帮助别人理解一个艰深的概念?

David J. Malan

用一个熟悉的比喻,或一个令人难忘的实物例子。电话簿、通讯录应用,或者有隐藏号码的门,都可以让搜索行为变得可见。学习者可能会发现,一个看似深奥的算法,其实类似于自己已经在做的事。

你职业生涯中最大的遗憾是什么?

David J. Malan

在职业方面,他希望自己在留在学术界之前,能在工业界多待一些时间。后来有一个学期,他在 GitHub 担任驻场教授(professor in residence),得以旁听团队会议、issue、功能请求和设计讨论。能亲身体验自己教学中所讨论的工作环境,他觉得很有收获。这份遗憾是关于错过的探索,同时他也感激自己拥有的职业生涯。

在 GitHub 驻场期间,你提交过代码吗?

他不认为自己贡献过生产代码。他的角色是教育方面的声音,提供 issue、bug 报告和功能请求,并解释教师和学生对这些产品有什么需求。即使不以自己编写的代码变更出现,贡献也可以是这样的形式。

关于这份资料

哈佛教授:CS50、如今比编程更重要的是什么、如何把课讲好|David J Malan

本节是对原始文字稿的转述。自动生成的字幕可能有错误。

观看原视频 ↗

开场蒙太奇以及赞助商/频道/键盘相关片段已省略;重复的摘录只保留一次。源时间范围:0–49 秒、1571–1625 秒、2956–3001 秒、3771–3826 秒。

这一精选章节保留了来源中关于职场、领导力和职业的段落。技术性的和无关的讨论已省略。

我的笔记在可使用本地存储时,笔记会保存在此浏览器中。
第 56 节 · 访谈

赢得采纳、倾听反馈、对结果负责

精选片段:IC 的影响力、应对反对意见、经理的反馈、对失败负责、角色适配,以及与利益相关方的清晰沟通。

为什么推广采纳很困难?

像 feed 这样的核心产品有明显的性能收益,但其余团队有时与自己的其他优先事项相比,看不到什么好处。一些 iOS 工程师也强烈偏好 Apple 内置框架。Ernst 不得不一再解释 Facebook 这种规模下的具体限制,而不能假定每个人都会为了替换而看重替换本身。

IC 怎样在没有正式权威的情况下影响其他工程师?

尽可能面对面或通过视频交流;细微差别和语气比书面更容易传达。从同情的角度开始:如果标准的 Apple 框架能解决问题,他自己也会更愿意用它们。然后再提供具体证据,说明为什么它们不行。

团队研究了 Core Data 本来不透明的实现,包括反汇编,来解释初始化的开销。这样的研究让论据比单纯偏爱某个新框架更有分量。

他还常常亲自完成迁移工作。让别人批准一个已经做完的改进,比让他们花自己的时间去采用脚手架要容易。他对这个策略作了限定:Meta 后来的代码库变得太大,一个人已经无法完成这样的迁移,因此更需要更广泛的对齐。

为什么花那么多时间评审代码?

代码评审为影响工程习惯提供了具体的切入点。Ernst 可以讨论一个实际的设计,而不是发布一条抽象的全公司通告。他尽量灵活地说明自己的顾虑,允许合理的不同选择,或者帮作者做出必要的修改。理解了推理过程的作者,可能会把它带进自己以后的工作和自己的评审中,让影响自然地扩散开来。

什么是好的评审评论?

解释一个变更为什么重要,而不是仅仅下令把 X 改成 Y。承认自己可能缺少上下文,并问问这是否会改变建议。如果会,就鼓励把该上下文写入 diff 摘要,让其他人可以就该决定本身进行评审。灵活并不意味着放弃顾虑;而是让顾虑清楚易懂、可以修改。

你是怎样说服工程师采用一种不熟悉的声明式模型的?

示例显示代码少了很多;性能演示显示工作被移出了主线程。有些工程师仍然不信服,所以更资深的工程师帮忙居中调解。React 在内部已有的口碑也有帮助。Ernst 承认 Objective-C++ 方案有些别扭,没有否认它的代价,并一再解释它对这个应用的好处。

这些分歧教会了你哪些普遍的道理?

盟友能以他自己的风格做不到的方式说服人。妥协同样重要:另一个团队的 Panels 框架本来是下一代 UI 的方向,两者的重叠令人痛苦。把它的一部分数据源技术纳入 ComponentKit,创造了共赢。他建议让大家都参与到解决方案中来,而不是坚持每个细节都出自自己。

强烈的反对让你怀疑过 ComponentKit 吗?

对于 news feed,他依然深信不疑,但不认为它是唯一可接受的 UI 架构。一个基本静态、带有复杂嵌套内容的滚动列表,适合声明式渲染。而一个高度动态的拖放界面,用起来可能就没那么自然。他对预期用途的信念,与对各种范式利弊的认识并存。

为什么要发表这样一篇坦率的回顾?

写它是一种宣泄,回答了人们关于这个项目一再提出的问题,也让他把失败的经过讲清楚一次,而不必一直重复那段对话。他希望其他人在重蹈覆辙之前,能认出同样的陷阱。他不太确定当时是否还有人鼓励他写。

这次失败对绩效评审有什么影响?

一个“达到大部分预期(meets most)”的评级,帮助他认识到这个项目需要停下来。他认为新经理的全新视角很有用,绩效流程也发挥了应有的作用。

随后,他帮助每个依赖该框架的团队迁移到原生代码、React Native 或他们选择的其他方案,并把这个框架彻底删除。他没有留下一个需要别人长期维护的残余。他相信,承担责任并公布教训,事后赢得了善意。

他的建议是有限定的:负责任地收尾一个失败的项目,可能比无限期拖下去更容易被接受。这是他的经验,并不能保证另一个组织的评价也是如此。

有没有哪些迹象是你本可以更早采取行动的?

在最后一年里,他感觉到项目进展不顺,有时还为此失眠。他的习惯性反应是写更多代码、迁移更多功能。回头看,这是把一个采纳与战略问题当成了代码量不足。他希望自己能更早接受这个信号,去找另一个有用的问题。

你是怎么知道管理不适合你的?

他强烈偏爱写代码,并认为自己更擅长与具体技术问题相关的沟通,而不是更宏观的方向、文档或组织层面的对齐。做管理会让他远离自己最喜欢的那部分工作。他说自己是个极端的例子,选择取决于个人。

你如何确保自己的编码满足 IC9 的期望?

他不再试图按级别去判断每一段代码。取而代之的是,他定期与经理确认:自己是在解决组织的重要问题,并且做着自己喜欢的工作。ComponentScript 是他的一个提醒:他可能会迷恋一个已经不再重要的方向;这时反馈应该让他倾听并调整。他并不主张无视业务相关性或管理层的意见。

是什么让其他资深工程师出类拔萃?

Ernst 欣赏的是几种不同的长处,而不是某一种典型:大量产出的实现能力、在不熟悉的系统深处诊断无法解释的指标、反复启动完整且有用的项目、清晰的写作,以及跨团队或跨公司的对齐。

一位同事启动项目的能力,不仅包括代码,还包括部署、文档、命名以及多个平台。另一些同事能把复杂的信息讲得足够清楚,以至于成为工程师改进沟通的范例。他尤其尊敬一位负责处理与 Apple 之间那种棘手关系的合作者——这是 Ernst 自己没有耐心做的工作。

这些例子明确地体现了互补性。一位写代码很少的资深工程师,仍然可以通过多产的实现者无法提供的协调来做出贡献。字幕中有几个名字不清楚,因此摘要保留了他们的角色和贡献,没有编造身份。

刚毕业时,你会对自己说什么?

他不会改变那条对他来说很顺利的路。他在 2010 年差点申请 Facebook,但放弃了它那种智力题式的流程;后来才加入,意味着赶上的是原生重写。他无法知道早点加入是否会更好。他更广泛的建议是:找到自己喜欢、又与行业需求有交集的工作,同时认识到其中有运气成分。享受解决问题,并不意味着调试的每一刻都愉快;它提供的是应对困难工作的动力。

关于这份资料

Meta Distinguished 工程师(IC9):影响工程师、失败与心得|Adam Ernst

本节是对原始文字稿的转述。自动生成的字幕可能有错误。

观看原视频 ↗

0:00–0:50 的开场预告重复了后面的对话,这里只保留一次。

39:52–40:44 的结尾播客与键盘推广已省略。

这一精选章节保留了来源中关于职场、领导力和职业的段落。技术性的和无关的讨论已省略。

我的笔记在可使用本地存储时,笔记会保存在此浏览器中。
第 57 节 · 访谈

Mike Stonebraker:评估成就与真正的理解

精选片段:通过真实的成就、以及探查对项目的理解程度来评估工程师。

你如何识别出杰出的工程师?

Stonebraker 是根据自己对这项工作难度的理解来判断成就的。一个学生如果完成的工作量大约是他认为合理水平的三倍,就会特别醒目。这是他个人的筛选经验法则,依赖于有见识的评估者的技术判断。

你如何评估一个人是否真正深入理解技术工作?

他会针对候选人自己的论文或项目,层层深入地提出越来越具体的问题:做了什么、具体是怎么运作的、怎样处理错误、用了多少个进程、为什么没有选择线程。他直率措辞背后的有效方法,是通过实现层面的选择和故障情形来检验理解,而不是接受光鲜的项目名称。

关于这份资料

图灵奖得主:与 Google 意见相左、Postgres、未来的问题|Mike Stonebraker

本节是对原始文字稿的转述。自动生成的字幕可能有错误。

观看原视频 ↗

0:00–0:39 的开场预告重复了后面的对话,这里仅在完整讨论处保留一次。

55:57–56:49 的结尾键盘推广、征集评论以及播客事务性说明已省略。

这一精选章节保留了来源中关于职场、领导力和职业的段落。技术性的和无关的讨论已省略。

我的笔记在可使用本地存储时,笔记会保存在此浏览器中。
第 58 节 · 访谈

Boris Cherny:跨团队影响力、赞助与信任

精选片段:跨组织文化、与高管沟通、经理的赞助、分歧、授权,以及重建信誉。

是什么工作让你在 Meta 晋升为高级工程师?

Boris Cherny

Cherny 回忆起一个把 Messenger 聊天与 Facebook 小组连接起来的项目,此前已有几次让这两个产品更靠近的尝试。产品假设是:互动正在从公开的社交空间转向更随意的实时对话。他接过一位 PM 的想法,做出了早期版本,随后在它显示出潜力时,招募了几位工程师,并得到设计和数据科学方面的支持。

这个小团队做了编码之外的工作。没有专门的用户研究,他们就把功能拿给食堂的员工看,观察他们是否不用太多提示就能完成任务。他把同样的方法教给了队友。这种粗糙的早期体验,仍然有助于检验核心想法是否成立。

他在 Anthropic 也看重这种通才的做法:工程师有产品感、对设计感兴趣、愿意与用户交谈,而其他职能的人也愿意写代码。他自己在小公司的背景教会了他对整个结果负责。他说,那个半年带来了他的晋升,下一个半年则带来了早期工程团队其余成员的晋升。

你如何在文化迥异的组织之间开展工作?

Boris Cherny

他所在的 Facebook 产品团队优先考虑快速发布和用户参与度,而 Messenger 优先考虑可靠性和性能。这种冲突内置于目标、激励和组织设计之中,而不仅仅是个性问题。Messenger 的工程师有理由担心,这些变化会损害他们所负责的指标。

他认为,这个项目的一个版本失败,部分原因是这个好处对 Facebook 比对 Messenger 明确得多。要找到两个团队都能真正共享的目标、假设或利益;仅仅在奖励各不相同的情况下指望合作,是不牢靠的。

如果可以重来,你会改变这个项目的什么?

他会寻求一种组织安排:有一位更近的共同经理,激励更一致,甚至可能为这项工作把 Messenger 并入 Facebook 的组织。他说的是事后诸葛亮式的提议,而不是当时实际进行的重组。

你为什么认为以低于应有的职级进入 Meta 是件幸运的事?

Boris Cherny

较低的预期给了他探索和构建东西的空间,而不必立刻满足更大范围的项目和人员要求。主持人提出,超越一个起初较低的门槛,也能带来势头和良好的第一印象;Cherny 同意。他认为,每次跳槽都追求更高头衔也有缺点,因为在人们还没了解新组织之前,它会增加压力。这是他在一个具体情境中的个人收获,并不是普遍建议大家接受较低的薪酬或职责。

是什么工作让你晋升为 staff 工程师?

Boris Cherny

他想为 Facebook 小组打造更好的、基于 JavaScript 的网页体验,当时小组仍严重依赖 PHP,交互状态零散。领导层起初有所抵触,因为配套的基础设施还没准备好。当更大范围的 Facebook 桌面端重写项目 Comet 启动时,他提出让小组作为早期客户,并帮忙论证:参与能让团队抢在必须进行的迁移工作之前。

这项工作从最初大约一打工程师,发展为规模大得多的迁移。通过参与构建平台,而不仅仅是使用它,他的产品团队得以塑造其他团队日后会用到的抽象。

一个例子涉及乐观更新的按钮,以及乱序到达的服务器响应。他围绕变更(mutation)构建了排队机制来保持状态一致。他记得选择了一种适合该问题的一致性取舍,这项共同的工作也与基础设施团队建立了关系。他更广泛的体会是:产品工程师可以向基础设施再深入一层,基础设施工程师也可以和用户交谈。

早期参与还带来了哪些额外的机会?

除了共享的基础设施,团队还帮助定义了在新平台上产品质量应当意味着什么。Cherny 写笔记、做分享,讲述别人可以复用的经验。抢在迁移之前行动,使团队有机会制定标准,而不仅仅是遵守标准。

你为什么开玩笑说副总裁通常会选三个选项中的中间那个?

Boris Cherny

这是有意说的玩笑话。他认为,距离遥远的决策者既想看到团队探索过各种选项和取舍的证据,也想参与做出决策。中间的选项可以满足这一点。他对这个观察作了限定:有些领导者会亲自调查,领导者对团队的信任程度也各不相同。“80%”的说法是他讲故事时的玩笑,并不是可靠的统计数字,也不是对每次评审都进行操纵的理由。

向一位非常资深的经理汇报,对你的机会有什么影响?

Boris Cherny

Cherny 认为这取决于公司。在 Meta,接触领导者可以帮助工程师找到工作范围,并在注重影响力的评审体系中前行。在 Anthropic,他看到非常资深的人也向一线经理汇报,所以汇报层级并不能说明太多权威或能力。

他也喜欢通用的头衔,因为这样更容易在狭窄的角色之外做有用的工作。他描述说,Meta 的工程头衔和 Anthropic 更宽泛的 member-of-technical-staff(技术团队成员)惯例,支持了这种文化。

通用的头衔会不会让另一个团队更难判断该如何重视你?

会,但他认为好处更大:人们必须自己赢得信任,而不是假定以前的头衔会在新环境中自动给他们权威。每个人都应得到尊重,但对某个具体决定的权威仍然需要证据和关系。他意识到失去了这种简便的判断依据,但认为这是可以接受的取舍。

你是如何为数百名工程师规划工作范围的?

Boris Cherny

Cherny 回忆说,公司在 Facebook 小组作为社区平台上投入巨大,由领导者去决定新分配来的工程师做什么。他写了许多粗略的范围界定文档,包含各种选项和人员估算。回头看,他会让人员随着具体产品找到契合点而更循序渐进地加入:解决用户的问题,并不会因为一次性分配大量人手而变得更容易。

一个困难的小组与主页(groups-and-pages)数据模型问题,尽管有资深人员参与,仍然陷入停滞。他召集技术负责人做了一次简短的架构练习,把他们分成两组,给了两组相同的需求。几个小时后,两份设计有相当大的重叠。一致之处表明可以从哪里开始执行;差异则揭示了需要通过小型技术探查来研究的风险。

这使团队不再把整个问题视为不可知的。这项练习创造了一个具体的对比,而无需某一个人预先了解每一个细节。

大家接受这种不寻常的设计竞赛吗?

他安排了它,并让它作为一个工程问题变得有吸引力。他认为,领导者有时需要采取行动,创造一个能够形成共识的过程,而有时在没有共识的情况下行动则是错误的。在这件事上,路径不确定,所以召集大家是有用的。

什么能帮助技术负责人快速做出范围界定?

Boris Cherny

从高层次开始,并对第一轮设置时间限制,而不是陷入无限的细节。Cherny 建议,一个非常粗略的视图大约用半小时,需要调查代码的话则用几个小时。找出专家,把一个“稻草人方案”拿给他们看,而不是只问开放式问题;具体的提案让反馈更容易。他现在把编码智能体视为探索相关系统的另一种方式,但这只是同一个需求的工具辅助延伸:拿出一个可供评审的初步计划。

是什么让公开小组项目成为 senior-staff 级别的挑战?

Boris Cherny

表面上的改变听起来很简单:允许人们在不先成为获批成员的情况下,阅读公开小组,在某些情况下还可以评论。下游的改动则难得多。无需对方回关批准的关注,引发了一系列问题:如何表示成员关系、管理员需要什么,以及如何应对更多的垃圾信息。

一位资深工程师主张使用独立的数据模型表示,团队因此开始了一次漫长的迁移。Cherny 还用一个简单的评论质量与垃圾信息模拟来让审核风险变得具体,帮助把一个内容安全团队引入评论排序。这项工作涉及许多经验丰富的工程师,他起初因为大家名义上职级相同,对指挥他们感到别扭。

在审计了许多调用点之后,他得出结论:这次迁移主要增加了分支,并没有改变实质逻辑。旧的成员字段就能支持所需的行为。他推动撤销这次迁移,并请上下文最多的那位资深工程师帮忙撤销。那位工程师接受了证据,后来也支持了 Cherny 的领导。这次撤销代价不小,但减少了未来开发者的困惑。

他最终的判断是,职级并不能可靠地决定谁的结果最好。这项成就不仅仅是领导一次大规模迁移;还包括认识到它的前提是错的,并赢得了纠正它的信任。

一场激烈的技术分歧如何能改善而不是损害关系?

Boris Cherny

先赢得信任。Cherny 起初持反对意见,但承诺执行那位资深工程师的决定,然后收集证据并展示出技术判断力。当双方都知道你会诚实地执行,之后的反对意见就更容易被听进去。他的建议是,在假定光凭正确的论点就能赢得分歧之前,先投入于建立这种信任。

带领强大的同级时,你如何应对冒充者综合征?

Boris Cherny

他说,不要以为任何级别的其他人都已经把一切想明白了。他的信心不是在某个戏剧性的时刻到来的,而是随着经验增长的。他认为一定的不适,可能是在向不熟悉的工作拓展的迹象。这是基于他自己经历的鼓励,并不是能够立刻消除焦虑的完整方法。

工程师什么时候应该填补产品管理的空缺,什么时候应该要求更多的 PM 支持?

Boris Cherny

在争取自己倾向的答案之前,先理解决策者的取舍。一个项目可能很难招到人,PM 可能需要投入到更重要的事情上,或者组织里有闲置的 PM 产能,可以合理地调配。

因此同样的请求在不同的环境中意味着不同的事情。要想想领导层看重什么,你的请求会挤占哪些工作,以及所提议的分配是否有助于他们成功。他没有给出一个普遍规则,说工程师总是应该承担另一个职能的工作。

你如何发现有用的工程机会,并把它们交给别人?

Boris Cherny

他会留意自己编码中反复出现的摩擦,并问怎样才能消除它。评审时,他会保留一份附有示例的重复评论清单;一旦同样的问题反复出现,他就写一条 lint 规则,而不是继续手工把关。自动化释放了他自己的时间,也可以改善许多工程师的工作。

他对这些想法做了基本验证,然后把想要这些机会的工程师联系起来。他认为,了解他们的目标,比单纯命令他们去做一个项目更好。在 Meta,提升工程质量的工作能帮助一项很多人难以展示的评估维度,因此一个有用的项目既可以满足系统的需要,也可以满足工程师的成长目标。

他还警告说,长时间远离代码会削弱技术领导者的直觉。亲自动手的经验使这些机会扎根于实际的约束。他所说的参与这些副项目的人数非常大,只是约略的回忆,而不是对他个人影响力的精确审计。

有什么具体方法可以持续找到高价值的副项目?

Boris Cherny

他举了大数据测试的例子。普通测试覆盖不到有数百万成员的小组、粉丝极多的个人主页或规模很大的活动,所以规模方面的故障只在生产环境中出现。他在多个产品中看到同样的模式,于是提议建设用于创建和测试大型对象的基础设施;另一位工程师接下了这件事,并招募了帮手。这个模式是:注意到反复出现的痛点,检查别人是否也有同感,然后构建一个能防止一整类事故的抽象。

你是如何在远隔千里的新组织中重建信誉的?

Boris Cherny

领导者和同事帮助他联系上了负责代码质量和技术债的人,但他仍然需要自己赢得信任。头几周他用来见人、梳理目标和组织结构,并写代码来了解代码库。

严重的时差使开会变得困难,但意想不到地让他重新有了写代码的时间,而此前多年的文档和谈话工作让他很不开心。他说,他至今仍避免固定的一对一会议。这使他得以去做别人想做、却因各种事务缠身而挤不出时间的工作。

他探索了把 Instagram 的 Python 环境的一部分迁移到 Hack 和 Meta 基础设施上的可能。他认为,最初的简单选择在小规模时是明智的,但在产品多年增长、工程团队大得多之后就不那么合适了。这是他基于具体情境的评估;他对替代服务栈的赞赏,并不是对语言的普遍排名。

他从最可能反对的人开始,在争论迁移之前先建立个人信任。之前不愿发声的支持者随后也加入了讨论。在一个产品主导的组织里,要为工程主导的调查创造空间,既需要技术上的范围界定,也需要这些关系。

你是什么时候把这次大型迁移授权出去的?你是怎么决定信任另一位负责人的?

Boris Cherny

Cherny 认为一位更接近相关组织的同事是极好的负责人。他建议授权那些你理解并在意的事情,这样你才能判断进展,而不要把授权当成甩掉不喜欢的工作的方式。他提到《高产出管理》(High Output Management)对他的影响。起初多检查,随着可靠性的证据增多再少检查;遇到积极主动、技术扎实的负责人,他几乎不需要干预。这次交接符合项目的需要,而不是为了保住个人的所有权而保留所有权。

晋升 principal 工程师前后发生了什么?

Boris Cherny

他的经理提议推荐他晋升 IC8,他同意了。他并没有为此四处争取。他把功劳归于经理愿意发现他已具备条件并为人争取的态度,而大型现代化改造项目则提供了背景。他没有给出详细的晋升材料,也没有声称一次简单的谈话就促成了结果。

职级是否指引你去争取更多影响力和杠杆?

Boris Cherny

Cherny 把职级看作公司的工具,用来传达期望、在评审中比较人员以及规划成本。他自己的动力是有趣的问题、有用的产品,以及让人们的体验变得更好,而不是下一个职级本身。

作为 IC4,他从最初几周就开始提出想法;有几个被否决,有一个后来以另一种形式出现。重点在于愿意去寻找有用的工作,而不等待更高的头衔。他的职业生涯恰好奖励了这种方式,但他并不声称每家公司都会自动这样做。

Anthropic 的工程文化有什么不同之处?

Boris Cherny

他看重创业公司里决策与后果之间更短的距离:有用的改变可能显而易见,用不着花那么多精力去说服好几层人。使命感对他个人来说也很有力量。他在 Facebook 小组的社区工作中感受过,在 Instagram 感受较少,在 Anthropic 又强烈地感受到了。他承认,地理位置或他自己的经历可能影响了这种差别。他描述的是什么在激励自己,而不是对每位员工的工作有多大意义进行排名。

在职业生涯之初,你会对自己说什么?

Boris Cherny

运用并培养常识。组织的历史和错位的激励,可能把人从用户和业务真正需要的东西上拉开。在创业公司和大公司里都一样,他都会相信务实的判断,审视假设,并朝着真实的市场或用户问题去构建。这个建议把他的通才工作、副项目、迁移以及产品选择,都联系回了同一种习惯。

关于这份资料

Boris Cherny(Claude Code 的创造者)谈职业成长之道与在 Anthropic 的构建

本节是对原始文字稿的转述。自动生成的字幕可能有错误。

观看原视频 ↗

开场蒙太奇(0:00 至约 1:00)重复了后面的对话,这里只保留一次。

结尾致谢与频道请求(1:23:51 起)已省略。

这一精选章节保留了来源中关于职场、领导力和职业的段落。技术性的和无关的讨论已省略。

我的笔记在可使用本地存储时,笔记会保存在此浏览器中。
第 59 节 · 访谈

选择有价值的问题,并支持做事的人

精选片段:选择价值更高的问题、授权、平易近人的领导方式、管理层的支持,以及高级别晋升。

哪些经历改变了你对个人贡献者(IC)如何创造价值的看法?

Dwayne Reeves

第一次是一场范围更广的 PHP 到 Hack 的迁移。他在一个半年里大部分时间都在和工程师交谈、找出有用的工作、帮助大家做出贡献,自己写的代码反而变少了。起初他以为这是自己表现最差的一段时期。他的经理起初建议他多抽些时间写代码,随后又修正了这个建议,让他聚焦于结果。

据他回忆,采用率从大约 20–30% 增长到了代码库的 60–70%,Hack 成了默认选择。他拿到了迄今最高的评审结果,并晋升到 IC5。这个结果挑战了他此前的假设,即个人代码量决定了自己的贡献:工作是发现并解决问题,有时靠的是厘清思路与协调。

第二次发生在他以技术负责人的身份加入 Hack 团队之后。之前团队的大部分人已经离开,他在摸索这个角色意味着什么。他设计了对集合(collection)系统的改动,取得了运行时团队的同意,并看到实现开始推进。他想亲自把这个项目做完,作为通往 IC6 的途径。

他的经理要他把它交接出去。经理打了个比方:这是多级火箭——Reeves 已经完成了让这项工作启动起来的部分;下一级可以由另一个人来推进。他不情愿地把工作授权了出去,转向另一个问题,之后才得知自己已经晋升了。在这两次经历中,他对下一个级别的心理模型,都落后于组织真正看重的工作。

他在自己的职业生涯中看到的一条主线,是与经理之间良好的关系。有连接感、有清晰的沟通,帮助他做出最好的工作;脱节则与沮丧相伴。这一教训,把选对方向与愿意放手、不再直接掌控每一个实现步骤结合了起来。

编辑综合

他的贡献是如何变化的

  1. 发现问题识别出值得解决的迁移或语言问题。
  2. 确立方向阐明需求、设计方案并争取各方一致。
  3. 赋能执行给予他人背景信息和所有权,让他们把事情推进下去。
  4. 转向下一个需求把判断力用在组织接下来最需要的地方。
这是对两次晋升故事的编辑性概括;并不意味着它们的时间点是通用的晋升阶梯规则。

你为什么尝试管理岗位?

Dwayne Reeves

这不是他最初的计划。随着团队扩大,他的经理建议他转做经理;他起初拒绝了。技术主管型经理(technical-lead-manager)的角色听起来是一种既保持技术参与、又尝试管理的方式。

他的经理起初提醒说,这可能意味着要干两份工作,随后又支持他去尝试。Reeves 注意到,职业生涯中好几次有益的转变,都来自做了走出舒适区的事,所以他接受了这个学习的机会。

把技术领导和管理结合起来行得通吗?

起初是行得通的。他的汇报团队从几个人增长到大约十几个人,他开始在继续提供技术方向的同时,支持其他经理。

随着组织扩大,对一个约 35–40 人的团队来说,他的技术领导力的最佳用法,可能与他的六七位直接下属对经理的需求不同。他在技术领导上做得出色,在管理上则称职,但没有像专职经理那样为这些人的发展做到最优。

因此,冲突既在于工作量,也在于职责和组织健康。他可以找人接替自己的技术负责人角色,专注于管理;也可以回到 IC 路线,专注于更广泛的技术需求。为较小的汇报团队找一位经理,似乎比替换更广泛的技术角色更容易,所以他回到了 IC 的位置。

支持一位 IC 与支持一位工程经理,有什么不同?

Dwayne Reeves

关注的中心从技术问题转向人和组织的问题。两种辅导关系的反馈周期都比写代码要长:建议可能要六个月或九个月才会看到效果。管理经理的人(manager-of-managers)的反馈循环,可能更不即时。

他承认自己仍然把注意力放在组织是否运转得足够好上,以便自己能继续做技术工作。一位更有意识的组织领导者,还会审视组织结构、经理如何辅导团队、应该创造什么机会,以及这个角色对每个人是否仍然合适。

他喜欢一对一辅导,尤其是帮助别人解决技术难题。但从一天主要被技术方向占据,转为有一小部分时间专注于组织设计,对他来说并不自然。他的反思是关于自己的注意力和长处所在,而不是声称管理经理只是更多的授权。

是什么促成了相当于 senior staff 的晋升?

Dwayne Reeves

“恐怖谷”(uncanny valley)的论点成了共同的技术愿景。随着组织去执行它、成果不断积累,这种效果被归因于他的方向。这一次,他与经理更积极地讨论了这条路径;他们需要看到相对于该愿景有足够的进展。

他晋升时仍是一名经理,之后又回到了 IC 路线。他相信这次晋升反映的是技术贡献,而不是组织领导力。

规模相当可观。2015 年他加入时,PHP 和 Hack 混用,只有一小部分 Hack 文件使用严格模式。到他描述的后来阶段,相关的代码库基本上已经是严格的 Hack,同时运行时和语言也得到了改进。采用率和严格模式的百分比指的是他所讨论的代码库和时间点,而不是 Meta 的全部编程工作。

哪些同事帮助了你的成长?

Dwayne Reeves

他感谢一位同事,对方把产品开发者的视角带到了 Reeves 从语言角度看到的那些变化上。这个视角帮助团队围绕工程师真正需要构建的东西来规划迁移。

另一位同事是语言和编译器问题上一个有耐心的倾听对象。Reeves 加入 Hack 时几乎没有编译器方面的经验,还记得自己当时不知道词法分析器(lexer)是什么。能够安心地提出基础问题,这一点至关重要。

他还讲到向 Andrew Kennedy 学习,对方在类型论方面的奠基性工作,一开始让 Reeves 相比之下觉得自己很初级。Kennedy 的谦逊以及愿意考虑务实的观点,帮助 Reeves 认识到,不同的长处都可以做出贡献。他不必具备同样的背景,也可以提出有用的见解。

这段经历让你觉得成就卓著的工程师更平易近人了吗?

是的,他想把这种体验传递下去。他不希望新工程师因为他在 Hack 上多年的经验,就不敢提出自己的想法。过去的成就并不意味着他总是对的,他也希望继续学习。耐心讲解概念的资深同事树立了榜样,他认为其他人应当效仿。

你为什么在 Meta 待了这么久?

Dwayne Reeves

他考虑过离开,也在别处面试过。在接受一个新机会之前,他会问:这能解决根本问题,还是只是对一段暂时不适的反应。

他看重自己赢得的影响力、帮助引入多元人才的机会、难得的参与一门编程语言的机会,以及一个强大的团队。有几次,暂时的问题没有离开也得到了改善。

他并不把留下来当作无条件的规则。如果根本上觉得不被重视、不再相信使命,或身处有毒的管理环境中,那就不同了。这些不是他的处境。他强调自己经历的好运,以及可以解决的沮丧与长期的不匹配之间的区别。

毕业时,你会对自己说什么?

Dwayne Reeves

当被要求写一些代码时,首先问请求者是怎么知道这是该写的代码的。争取参与决定应该做什么。他希望早年的自己能看到,自己的想法和判断的价值超出了键盘上的产出,尤其是在冒充者心态让这种价值更难被认识的时候。

关于这份资料

Meta 使用最广泛的编程语言的技术负责人(晋升故事)

本节是对原始文字稿的转述。自动生成的字幕可能有错误。

观看原视频 ↗

开场预告蒙太奇(00:00–00:32)重复了后面的内容。

结尾致谢和请求听众支持(45:28–46:08)已省略。

这一精选章节保留了来源中关于职场、领导力和职业的段落。技术性的和无关的讨论已省略。

我的笔记在可使用本地存储时,笔记会保存在此浏览器中。
第 60 节 · 访谈

James Cowling:领导力的可信度与清晰的问责

精选片段:晋升的激励、以使命为中心的团队、管理者的可信度、明确的问责,以及对资深工程师的指导。

我认识的一些工程师的晋升因为工作不够复杂而被驳回。你怎么看待奖励复杂性的激励机制?

James Cowling

Cowling 说,这几乎让他愤怒,也是他自己创办公司的部分原因。他理想中的状态,是因为解决了问题而得到认可。他用了一个农场的类比:没有人有动机让挤牛奶变得复杂,因为回报就是牛奶。创业公司也是一样。在大公司里,层级众多,人们会建立起替代的激励,比如在 OKR 计划上打勾,而他觉得人们追逐人为设定的目标令人抓狂。他接受有些人别无选择,但他说,在一个因解决问题而受到认可的地方工作,会让你成为好得多的工程师。

他从面试中发现,大公司(他以 Google 为例)的一些工程师说起自己构建了一个系统,却说不出为什么要建,也不知道它如何被使用,只知道是某位副总裁要求的。他称这是一种漫画式的夸张,并说这样的方式可以产生称职的工程,但最好的工程来自对“为什么”的深刻理解。在 Convex,一切都有存在的理由;除非需要,你不该去建一个花哨的负载均衡器,不过他也说,团队现在确实需要一个了。

对愤世嫉俗的初级工程师,他说要稍微跟这套体制斗一斗。他最快乐的时光,是全身心投入一项事业,并相信晋升自然会来,不然就去别处。他建议找一个想做出好工作的团队,他称这是忠于自己,不出卖自己。

你关于“系统偏见”的文章主张围绕使命而不是系统来组织团队。你是怎么做的?

James Cowling

Cowling 说,他在 Dropbox 最不好玩但影响最大的工作之一,是关停项目,比如有一个 60 人干了两年、似乎毫无意义的项目。私下里,团队往往也怀疑它,但惯性和对惹麻烦的恐惧让他们继续做下去。他讲了一个关于存储团队的故事。在构建这个系统的时候,它被叫作 Magic Pocket 团队,源自一个傻乎乎的代号。系统一发布,他就把它改名为存储团队,这需要在邮件、频道和代码仓库里做大量实实在在的工作。

他的论点是,存储团队的职责是满足组织的存储需求,而不是为 Magic Pocket 摇旗呐喊。如果迁回 S3 更好,应该由存储团队来说这句话。以系统命名的团队会觉得这对自己的身份和职业是威胁,而存储团队则会把它看作一个新产品。他说这听起来像是一种傻气的管理哲学,但团队的身份应该围绕解决一个问题来建立,而不是围绕捍卫某个系统。

如果惯性这么强,你是怎么对抗它、并关停那些项目的?
James Cowling

Cowling 把一部分功劳归于运气。他很早就在那里,每天工作 16 小时,他并不推荐这样做,但人们看到了他在乎。这给了他所谓的“信心资本”。他害怕的是做错决定,而不是害怕影响自己的职业。

当他指导的 staff 以上工程师抱怨某种低效时,他会问是否应该现在就解决,如果是,哪些优先级更低的工作要停下来。往往没有什么优先级更低的事情,那样的话,他说,你就接受它。他把这总结为:谁弄坏的,谁就得买单(you break it, you bought it)。关停一个产品意味着重新定向,而不是制造麻烦,他把自己的成功归于主人翁意识:他想的是修好问题,而不是抱怨。基础设施团队只有七到九个人的时候,一位来自 Google 的新人会说必须有人去建一个日志框架,他就会问是谁,因为这里只有他们几个人。他说,抱怨一个主意愚蠢是没用的,但提出另一个想法并为之负责,是成功的秘诀。

你曾问过大家,一个项目是否仍然是时间的最佳用法。这对技术负责人有什么帮助?
James Cowling

Cowling 说,几乎没有什么是是非题;那是优先级的问题。重新设计数据库在原则上可能没有问题,但如果它不是现在最重要的事,就不做。当人们说副总裁不让他们做某件事时,他会指出,副总裁大概只是有不同的优先级,而不是副总裁蠢。

他对职级阶梯也持同样的看法。他不同意“成为资深意味着编程更厉害”的说法,并说他自己的编程水平大约在四级左右就到顶了。增长的是他所关心的范围。第一年的工程师不该因为缺乏智慧而试图改变公司战略,但 IC6、7、8 的工程师并不一定是最好的程序员,他们拥有更广阔的视角。

你会选择做错的事但获得晋升,还是做对的事但得不到晋升?

James Cowling

Cowling 毫不犹豫地选了后者。他称自己的论点有点俗:在达到一定的技能和资历水平之后,他说,薪水高到钱不再重要,所以初级工程师把精力过度放在晋升和薪水上,其实应该投资自己。他指出,这话由年纪大的人来说是很容易的。

他说,Dropbox 很长一段时间没有正式的职级体系,他相信作为技术负责人,自己是团队里赚得最少的,这一点他作为技术经理是知道的。结果还是不错的。他宁愿与最优秀的人共事,也不要多拿 20% 的钱。他说,做一份普通的工作没有什么可耻的,但任何想把职业成长最大化的人,应该把技能最大化,而他相信才能与薪酬、成长是相关联的。他给早期职业工程师的建议是:去最好的公司,和最优秀的人一起,解决最重要的问题。

很多人面对同样的激励,却得出不同的结论。当体制不奖励正确的事时,是什么推动你去做正确的事?
James Cowling

Cowling 说,体制确实会奖励,只是起初并不明显。他认为跳槽少的人成长最多:如果待不到三年,你就看不到自己的决定是否正确,而不为这些后果负责,你就无法成为一个非常有才华的资深工程师。他把过早离开比作篮球比赛没打完就离场。他说,如果工作很糟糕,就离开。

他离开学术界,是因为不喜欢自己发明一个问题和一个解决方案,然后写论文去说服别人;他想构建、发布,并看看它是否有效。他补充说,那些靠薪水勉强度日的读者完全可以无视他的建议。对其他人来说,每天享受工作对生活质量的重要性超过一辆更好的车,而他说自己热爱车。他和联合创始人只能做自己在乎的工作,他称这是比头等舱机票更大的奢侈,并且需要非常积极的努力。

你的简介称你是“偶尔做做管理的人”。你是怎么决定涉足管理的?

James Cowling

Cowling 说,大多数人不应该想当经理,他把过于渴望当经理视为一个小小的危险信号。每次他做管理,都是因为某个团队需要一位经理。他享受问责和肩上有担子的感觉,但只要有别人能接手,他就回到工程岗位。

他称管理是一种学习,因为你会发现公司和工程师比你想象的更复杂。但他强烈告诫不要太早进入,因为出于好意的人会把它当作职业晋升来推。在他看来,人们通常不应该在头三年做管理,最好先成为 staff 工程师,因为在成为优秀的技术人员之前就做管理,会限制日后对战略的影响力。

对于过早进入管理的人,这会产生什么影响?
James Cowling

Cowling 说,他们会成为人事经理,把工作看作让团队保持愉快、协调团队或处理日常问题,而不是推动团队追求卓越或制定技术战略的组织领导者。他说,最好的公司里经理都非常懂技术,因为不懂技术的经理无法评估团队的工作。主持人补充说,这可能助长了“经理不了解团队”的抱怨,而 Cowling 认为,如果经理没有花足够的时间发展技术技能,他们确实可能不了解。

技术人员可能带有反权威的倾向。技术负责人如何保持可信度?

James Cowling

Cowling 说,命令与控制式的公司,也就是经理直接告诉人们该做什么,通常不是出色的公司。要让工程师觉得自己对好的决定负有个人责任,他们必须相信团队正在做的事情。作为 Convex 的创始人兼 CTO,他不能只是叫别人去做什么;他们也许会因为喜欢他而照做,但他们会问为什么。他会花时间解释市场的趋势,以及产品存在哪些空白。

他描述了一个价值层级:先是价值观,然后是为什么,再是做什么,最后是怎么做。工程师常常争论“怎么做”,但他说,组织里大多数冲突来自出于善意的人们在“为什么”上有分歧:一个团队认为优先事项是更多功能以实现增长,另一个团队认为是可靠性。他希望每个人在“为什么”上达成百分之百的一致,然后信任团队。

在 Dropbox,他的工作之一是处理一个团队骂另一个团队是白痴的情况。据他讲,另一个团队并不是,一旦他了解了他们的动机,他们是选择去做这个项目,而不是出于恐惧。他说,技术负责人几乎没有权威,靠权威来领导会造成一种文化:人们照吩咐办事,好点子也不会产生。

Meta 在技术上没有头衔。Convex 也是这样运作的吗?
James Cowling

Cowling 说,Convex 非常扁平,但有技术负责人(tech lead)的角色。他并不完全认同“每个人都只是软件工程师”的说法;在一家人人都是技术团队成员的公司里,当最资深的人走到你的工位时,人们仍然会注意到。重要的是形成这样的文化:没有人只是因为资深者说了就去做。声誉是有分量的,经验丰富的人所作的解释大概蕴含着智慧,但即使是最资深的人,也应当赢得人心。他说,一位 principal 工程师不解释原因就命令删除数据库,并没有赋能于人;而主动提出聊聊产品趋势所向的人,则做到了。

你有一篇文章题为《不要以身作则式地领导》。为什么不要?
James Cowling

Cowling 说,以身作则是被动的,而工程师在最好的情况下也是被动的人。他刚成为领导者时,试图树立 on-call 责任制的榜样:第一个响应告警、写报告、冲上去修 bug。团队只是看到负责人在干很多工作,可能会以为这就是他的工作、他会而自己不会,或者他喜欢干这些。他说自己其实只是在摸索。他的结论是,领导力意味着理解人的心理:要正直行事,也要说明自己的期望。

他描述了高成就技术负责人常见的一条路径。他们太在乎了,以至于审查每一行代码、参与每一个决定,结果成了瓶颈;被告知要放手,于是把手从方向盘上拿开,团队就垮了。他的替代方案是在监督与问责之间的一个滑块。对新人,你要检查他们的工作。随着时间推移,你调低监督、调高问责:询问他们的计划、日期以及他们将如何知道结果是正确的,并告诉他们这是他们自己的事。他发现大多数人喜欢被问责,只要负责人仍然分担责任。技术负责人应该培养团队成员,让他们能接替负责人的工作。

编辑综合

把人从监督转向问责

  1. 从监督开始对新人或初级工程师,要检查他们的工作。
  2. 给项目命名给对方一个具体的项目,而不是悄悄退后。
  3. 询问计划和日期Cowling 的例子是问什么时候能完成,比如下周四,以及计划是什么。
  4. 询问他们如何知道结果正确由对方自己定义如何检查自己的工作。
  5. 明确所有权告诉他们这是他们自己的,同时负责人仍然分担责任。
  6. 保持随时可联系请他们有问题就说,并持续培养他们,让他们能接替负责人的角色。
对 Cowling 所述交接过程的编辑性总结。这些步骤和措辞是编辑对他的例子所作的转述,并不是他命名的某个框架。

如果你把问责交给了某人,而他搞砸了怎么办?

James Cowling

Cowling 说,这是成长的一部分,也不总是奏效。他回忆起自己写过的“纸割伤”(paper cuts):低风险的决定,犯了错大约损失一周。这些是交付问责的好对象。如果决定失败了,当事人会有切身感受,他说只要不至于灰心丧气,这是好事,他们也会从中学习。他不会允许的是让人“断一条胳膊”,比如让一个初级人员去设计核心的复制系统。他说,CTO 或技术负责人的艺术之一,是判断该在多大程度上信任某人去承担所有权,并设置保护措施。

你如何指导一位已经是 senior staff 或 principal 的工程师?

James Cowling

Cowling 说分两部分。许多资深工程师仍然面临共同的问题,比如如何传递严厉的反馈。而且在那个级别上没有单一的原型,所以每个人都得找到自己的品牌。他把自己描述为一个擅长协作、简洁和抽象的战略型工程师,写代码的能力则断崖式下滑;也有其他人是深厚的科学和解决问题型工程师。他的指导帮助人们在使其与众不同的领域里变得更有棱角,同时在个人层面下功夫:理解人,理解“为什么”。

他对资深工程师说的一件事是:你不可能在会议上改变别人的想法。改变想法需要的过程,不会在十个人面前当场发生,强行达成的一致只会伤到自尊。他说,会议通常不是用来做决定的。陈述分歧和理由,提供足够的信息,让对方去思考,一周后再回来谈。

他把另一种做法比作对人际行为的资本主义态度:如果你没有说服任何人,良好的意图就不算数。他说,你可以是世界上最聪明的人,但如果你无法改变别人的想法,你就有点没用。在那个级别,有效性包括人际互动,因为难题通常需要十个或二十个人一起合作。

关于这份资料

Dropbox 前最资深工程师:构建优秀系统以及给 AI 时代的建议|James Cowling

本节是对原始文字稿的转述。自动生成的字幕可能有错误。

观看原视频 ↗

开场预告和重复的节目预览,00:00.00 至 00:53.84,已并入概述。

主持人关于博士论文篇幅的评论,00:59.76 至 01:10.28,以及笑声标记已省略。

WorkOS 赞助商口播,59:29.28 至 01:00:13.52,已省略。

主持人与嘉宾之间的结束致谢与告别,02:00:36.84 至 02:00:56.12,已省略。

主持人的频道请求、嘉宾推荐,以及对主持人自己的人体工学键盘及其 Kickstarter 的推广,02:00:57.76 至 02:01:52.52,已省略。

这一精选章节保留了来源中关于职场、领导力和职业的段落。技术性的和无关的讨论已省略。

我的笔记在可使用本地存储时,笔记会保存在此浏览器中。
第 61 节 · 访谈

Ryan Olsen:小团队、晋升与高管之间的张力

精选片段:小团队的领导、强有力的协作、导师的可见度、晋升校准,以及高管之间的地盘之争。

Figma 的 Dylan Field 和后来成为 OpenSea 创始人的 Devon Finzer 当时都是实习生。Olsen 当时有没有注意到预示他们成功的特质?

Ryan Olsen

Olsen 说,两人显然都下定决心要创业,不像他的大学同学,后者最高的志向是进大科技公司。当时有很多关于点子的讨论。

关于 Figma 的早期,他说创始人们有一个真正的洞见:WebGL 是一项新技术,能让网页上出现新的东西,而 Dylan 的联合创始人是一位早期的 WebGL 高手工程师。他们经历了好几轮并不面向设计师的迭代,包括 Dylan 曾经描述的、持续约一周的表情包(meme)生成器应用。Olsen 的看法是,找到用例和客户花了时间,但他们始终坚信这项技术会改变事物。

Olsen 加入时 Instagram iOS 团队是什么样子?他首先做了什么?

Ryan Olsen

Olsen 到的时候,大约有十位 iOS 工程师在做 Instagram。据他听到的说法,团队曾经有大约二十人,之后发生了一场关于代码库的内部战争。经理 Scott Goodson 为 Facebook 的 Paper 应用构建了 Async Display Kit;一些工程师支持它,另一些则想用原生 iOS。Olsen 说,两派一直争斗到没有人获胜,很多人离开,所以几乎没有工程师在那里待过超过六个月到一年,因此有不少唾手可得的改进空间。

他的第一步是用 Xcode 的时间分析器(time profiler)分析冷启动。启动路径执行了大多数人从不打开的个人主页标签页的工作,把它推迟后,冷启动缩短了大约 20%。接着,AFNetworking 被构建时开启了断言,因此在网络错误之类的无害失败上也会让应用崩溃。他说,一行代码的修改就屏蔽了断言,使崩溃率下降了 80%。

这为他赢得了“斧头”(the axe)——一个每周颁发的、表彰突出影响力的奖项,任何职能的人都可以获得,形式是一把大型实体斧头,要随身带一周。

斧头的传统是怎么来的?
Ryan Olsen

Olsen 的说法是,一家男性杂志请创始人们提供一份节日礼物指南,他们列了一把定制斧头,一位投资人看到后送给了他们一把巨大的斧头。Facebook 的安保部门不喜欢办公室里有武器,所以把它装裱挂在了一块牌匾上。

在他任职的后期,这个传统被有意终止了,显然是因为人们觉得一把被传来传去的武器让人感到被排斥。Olsen 很难过,因为创始人已经走了,这就像早期 Instagram 的文化被悄悄扫到了地毯下面。

主持人指出,Olsen 把找到一位出色的设计师归为功劳。他是怎么找到的?什么样的设计师才算出色?

Ryan Olsen

Olsen 说,他一直试图成为顶尖设计师愿意合作的工程师。在这类公司里,设计师的工作会经由你来落地,产品工程师的影响力,会因为与强大的设计师建立良好的工作关系而倍增。

为什么是设计师,而不是一位非常资深的工程师?
Ryan Olsen

Olsen 区分了不同的角色。对于构建面向用户功能的产品工程师来说,最佳搭档是设计师。在基础设施角色中,类比的对象是有着绝妙想法的超级资深工程师,要成为他们愿意合作的工程师。

White Out 是在 2016 年,也是 Olsen 帮助构建 Stories 的那一年。构建 Stories 的故事是什么?

Ryan Olsen

重新设计之后,Olsen 的团队搬到了纽约,他拒绝搬迁,于是加入了 Search and Explore。几周之内,一位负责创作团队、也是后来成为 Stories 项目的负责人的朋友辞职了,他的经理说这是一项重要的工作,也是个好机会。Olsen 相信这件事,因为 Instagram 在某些方面感觉像是在走向衰亡:普通人之间的日常分享正在消失,取而代之的是创作者和网红,一些人转向了 Snapchat 的阅后即焚形式。任务是让普通人重新愿意在 Instagram 上分享。

他作为 iOS 负责人的第一批举动之一,是大幅削减团队规模。这个项目在几个感觉不对的方向上来回折腾,而且分配给团队里的人的实际工作太少。核心是 Olsen 和另一位 iOS 工程师,外加其他 iOS 工程师、两位 Android 工程师的帮助,以及仅一半时间的基础设施人员。完全的所有权意味着不会互相踩脚,决策也更快。他的总结是:想快,就要小。

他们用两到三个月做出来了。Olsen 说他每天工作 16 到 18 小时,每周七天,凌晨一两点开车回旧金山,而不是睡在办公室里,他现在觉得那很傻。这很紧张,但也很有趣,团队因此建立了情谊,当时的产品经理现在是他的联合创始人。他们觉得自己是对抗 Snapchat 的弱者。

Instagram 的版本有哪些地方比 Snapchat 做得更好?
Ryan Olsen

Olsen 说,Instagram 有一个不公平的优势:人们的朋友已经在那里了,只是缺少合适的出口去和他们分享。一旦有了这个出口,日常分享流向 Snapchat 的趋势就停止了。他充分肯定 Snapchat 在载体上的贡献,即 24 小时、全屏、沉浸式的形式,但他说 Instagram 添加了一些细节,比如点击左侧返回。

他还做了按住暂停的功能,起因是他用一个早期的自动播放版本时,播放得太快,他下意识地用拇指按住来让它停下。他对自己指导的工程师的建议是:产品工程师可以构建自己的想法,所以应该去做出来,并把它们放到人们面前。

主持人问到 16 到 18 小时的工作日。他有没有觉得一个人无法承受这样的强度?
Ryan Olsen

Olsen 说,大概不是每天都 16 到 18 小时,但确实很多,他牺牲了生活的其他部分。他是一位认真的攀岩者,曾代表美国队参加过世界杯,实际上放弃了这项运动。这是一个难得的机会,可以构建将送到数亿人手中的东西,他很喜欢在 Caltrain 上看到有人在用他一周前做的功能。他称这样的节奏不可持续,但说在一段时间内这样做可能是合理的。

Olsen 认为 Stories 的执行比 Facebook 和 Messenger 的类似尝试更好,部分原因是团队的用心。他曾担心它会崩盘,当人们说它很精致时他很惊讶。他说,在紧迫的时间表下以那样的工艺交付,帮助他此后进入了最有意思的项目。

Olsen 在连续两个半年内从 IC4 升到 IC6。发生了什么?

Ryan Olsen

Olsen 说,晋升周期在七月,而 Stories 在八月初发布,所以校准会议是在冲刺期间进行的。他认为经理们比较谨慎,而他自己相当有把握:入职时就被定低了级别,当时他对职级了解不多。他在 Android 方面的搭档 Will Bailey——他说是 Stories 的技术负责人,是 IC8——带他参加了与 Mike 和 Kevin 的会议,并树立了一个成功的产品工程师的榜样。看到在类似角色上 IC4 和 IC8 并列,让他对职级有了新的认识。

他告诉自己的经理 Eddie——因为这个项目,他是直接向这位总监汇报的——自己被定错了级别,应该在那个周期从四级升到六级。Olsen 称赞他没有一笔带过:他去问了人力资源部门,对方说公司历史上这样做过两次,两个人都很快离职了。Olsen 说,他主要是想先种下一个想法:他正确的职级更高。他因 White Out 和基础设施工作拿到了 IC5,然后因 Stories 拿到了 IC6。

他更广泛的观点是,职级和晋升是一套激励系统。他认为确实有真诚的努力让它们公平,但晋升可能会被推迟,以免两次晋升接连发生,因为它是吊在人面前的胡萝卜。

主持人问,强劲的绩效如何给了 Olsen 选择项目的自由。
Ryan Olsen

Olsen 说,这表明只要把他放在一个项目上,他就会做得好,所以新项目启动时,公司会选在早先项目中表现好的人。他称自己很幸运,良好的执行为他铺平了后来的机会。当主持人指出 Threads 重复使用了这种把已被证明的人才拉进一个小团队的模式时,Olsen 同意这是一个有趣的环境。

下一次晋升到 IC7,是通过 IGTV 实现的。那是个什么项目?

Ryan Olsen

Olsen 说,IGTV 始于 CEO Kevin 和设计师 Ian,他们在年终全员大会上公布了一个关于更长篇幅、移动原生的竖屏视频的愿景。Olsen 想参与其中。他说,近期针对 Facebook 的反垄断诉讼显示了当时两家公司之间的紧张关系;他的团队曾有一段时间被告知不要去做这件事,他认为这大致上就是创始人时代的终结。

团队很小:Olsen、Will Bailey 和 Thomas Dimson 分别是 iOS、Android 和服务器端的负责人,每个平台还各有一两位其他成员。这个产品现在已经不存在了,当时的表现也不好。Olsen 认为它承载了部分未来,因为竖屏视频现在已是核心,但它试图把 YouTube 式的长视频内容放进竖屏形式里,而人们并没有制作高质量的竖屏长视频。

团队尝试了用 AI 技术把横屏视频重新排版为竖屏,Olsen 为此持有专利,但创作者们很反感。推动创作者制作原创的竖屏长视频,始终没有产生足够的内容库存,Olsen 看出其中有些傲慢,即认为 Instagram 能够改变创作者制作的内容。他相信它为最终发布的 Reels 提供了参考。

主持人问 Olsen 提到的反垄断方面是怎么回事。

Ryan Olsen

Olsen 说,通过反垄断诉讼被公开的内部沟通,他理解司法部正试图撤销对 Instagram 的收购,这让一些令人困惑的事件变得没那么令人困惑了。他的解读是,Instagram 被收购时规模很小,后来成长为 Facebook 的同类,成了新的受欢迎的孩子。Stories 比 Facebook 的 Stories 更受欢迎,在领导层之间造成了紧张,也引发了对 Instagram 会蚕食 Facebook 的担忧,他说这指导了一些战略决策。

主持人回忆起当时对于从 Facebook 到 Instagram 的交叉分享被关闭而感到困惑,并说 Mark Zuckerberg 的内部备忘录解释了这件事。Olsen 说他读的是同样的材料。

Mark Zuckerberg 今天可能会怎么看待它?
Ryan Olsen

Olsen 想知道,因为这些沟通显示出对 Facebook 一种可以理解的情感依恋——Facebook 是 Zuckerberg 创建的,而 Instagram 则不那么属于他自己。Olsen 自己的看法是,对于同时拥有两者的公司来说,最好的结果是让它们竞争并相互促进,因为扼杀竞争使局外人做出更好产品的可能性更大。他补充说,自己是在对一个经营着数万亿美元公司的人指手画脚、纸上谈兵。

IG Labs 背后的故事是什么?它如何带来了 IC8 的晋升?

Ryan Olsen

IGTV 之后,Olsen 说他度过了一段 Thomas Dimson 所谓的“影响力荒漠”时期,并且差点离职。Reels 是新的项目,尽管他的经理在做这个项目,他相当确定自己不想做被动的视频消费。

文化也在变化:创始人已离开,新的领导层来自 Facebook,旧的 Instagram 文化感觉被挤走了。Olsen 向新的工程负责人提出,恢复小团队、对工艺的关注以及更宽的范围,认为这个品牌可以支撑现有应用之外的东西,比如位置、地图和地点类的想法。

他与设计师 Vivian Wong 一起创办了这个小组,起初只有他们两人,就像一支三角洲部队式的、人才密度很高的小团队,专门负责那些不太适合放进现有组织架构的项目。据他说,Instagram 已经变得非常庞大,在其架构之外的项目投入不足。这个小组尝试了很多东西,其中许多从未发布。他指出,协作发帖(一篇帖子可有多位作者)是持久的成果,也是他的另一项专利。这个小组还可能被抽调去做一项重大的新举措,他说最终就是 Threads。

Olsen 尝试了少见的技术负责人总监角色。他的想法是什么?进展如何?

Ryan Olsen

Olsen 说,这个角色在 Facebook 很少见。它的出现主要是因为他创办了这个小组,由他来管理这些人,比由负责 Reels、和他们的工作关联较少的经理来管更合理。他本来就在校准会议上代表他们,所以这个角色是一种正式的认可。

他说,Facebook 把个人贡献者和管理分开,他对此持不同意见。他举 Tesla 为例,称其更灵活,IC 往往有下属,而经理被期望是称职的技术贡献者。他持有一种他自己称为有争议的观点:资深工程师应该写代码,并引用 Nassim Taleb 的“切身利益”(skin in the game):写代码的资深 IC 不会把一个架构当作别人的问题甩出去,而贴近日常工作的经理运作得更好。

他还发现,显眼的头衔也有好处。Facebook 的职级是不公开的,他在工程辩论中喜欢这一点,因为没有人能凭职级压人。在跨职能工作中,比如把协作发帖推向许多团队的 PM,更高的头衔提供了更好的可信度基线,因为在一家巨型公司里,你需要不断重新建立声誉。他支持至少公开标明资深身份。

主持人说,人们警告说,同时干两份工作会让你被淹没,两边的职业都发展不好。Olsen 怎么说?
Ryan Olsen

Olsen 说,这种批评大概是对的。他并没有为职业发展做优化,也从没打算在那里待很久:在 Facebook 询问你打算待多久的情绪调查中,他填的从来没超过一年。他没有升到 IC9 的志向,这让他可以去做适合团队的事,而且他知道自己不会因为绩效被开除。

他也亲眼看到了代价:他相信自己的评级比当 IC 时要低,因为他作为 IC 是“超出预期”,而作为经理只是“达到预期”。

如果裁掉一半的人,公司会更好吗?

Ryan Olsen

Olsen 说会。他的团队过去常讨论一个灭霸式的思想实验:公司里一半的人随机消失,他们常常觉得事情会进展得更好。他承认,在 Instagram 的规模下,0.1% 的改进可能价值数亿美元,但他认为每增加一个人所带来的成本被低估了。

他举出了利益相关方、会议和协调带来的组织开销,以及更多代码带来的负担。离职前不久,一个工具显示他每天要花四个多小时等待应用构建,因为工具链没能跟上人们写代码的速度。有一千名工程师时,这会拖慢所有人,不过按每增加一个人来算并不明显。当团队只有十个人、应用还很小时,事情容易得多,他说 White Out 放在今天的 Instagram 会是一个庞大的项目。

主持人提出 Twitter 裁员后的经历作为案例。Olsen 怎么看?
Ryan Olsen

Olsen 说,当时的预测是 Twitter 在裁员后会彻底垮掉。他自己的使用体验是有些 bug,但它一直在运行,他说他看到它的经济状况有所改善,现在已经盈利,而它在大部分历史上都是亏损的。编者按:这些是 Olsen 的印象,不是经过核实的数字。

有哪些故事能说明创始人和其他同事为什么出类拔萃?

Ryan Olsen

Olsen 称 Mike Krieger 是某种意义上的英雄,并说他对工程领导力的许多想法都来自他,包括先做简单的事的做法,以及对细节和工艺的关注。他描述了一种身先士卒的风格:Krieger 从不把自己置于团队之上,哪里需要帮助就冲到哪里。Stories 快结束时,Olsen 从 Facebook 另一个团队借来构建绘图工具的一位朋友,在中途被召回了。Krieger 说他来完成,于是自己写了霓虹笔刷,干着同样疯狂的时长,凌晨两点还在评审 Olsen 的 diff。Olsen 说,这影响了他如何带团队。

谈到 Will Bailey,Olsen 描述他有强大的产品远见。在 Stories 原地打转的黑暗日子里,Bailey 写了一份文档,概述这个产品该如何运作,Olsen 后来才发现它基本上就是五年路线图。他是一个以产品为中心的工程师如何成功并影响产品方向的榜样,Olsen 说这在 Instagram 比在 Facebook 更受重视,他回忆在 Facebook 的训练营里听到的说法是,初级人员去产品团队,资深人员去基础设施。

他称 Thomas Dimson 大概是他遇到的最聪明的人,而且不是那种学者型天才,因为 Dimson 有社交能力,懂得人。Dimson 在 Instagram 开创了排序(ranking)工作,具备基础设施能力,又有产品思维。Olsen 说,他只把技术当作为人创造东西的手段,并认为 Bailey 和 Dimson 同样是以人为本,思考心理学和产品给人带来什么感受。

关于这份资料

Instagram iOS Principal 工程师(IC8):打造 IG Stories、每半年一次晋升、小团队

本节是对原始文字稿的转述。自动生成的字幕可能有错误。

观看原视频 ↗

开场预告蒙太奇(00:00.08 至 00:43.36)重复了访谈后面出现的话;在上下文中只保留一次。

主持人关于当时在做视频基础设施的题外话(53:27.92 至 53:41.12),以及关于在播客上邀请 Mark Zuckerberg 的简短对话(57:30.24 至 57:35.28),作为闲聊省略。

呼吁试用 Retro(01:13:21.60 至 01:13:56.24)以及主持人与嘉宾互相称赞使命的对话(01:18:11.28 至 01:18:28.16),作为产品推广和客套话省略。

结尾致谢、Retro 招聘与产品工作室的推介,以及收入分成的推广(01:33:12.48 至 01:34:44.24)已省略。

主持人的结尾,请听众互动、评价并推荐嘉宾(01:34:45.52 至 01:35:19.52),作为频道推广省略。

这一精选章节保留了来源中关于职场、领导力和职业的段落。技术性的和无关的讨论已省略。

我的笔记在可使用本地存储时,笔记会保存在此浏览器中。
第 62 节 · 访谈

Principal 层面的工作,从定义问题开始

Ilya Grigorik 谈到资深技术人员的主观能动性、在不同执行风格之间的多面性,以及广泛技能组合的韧性。

principal 与 distinguished 工程师有什么区别?

Grigorik 不赞成给 principal 工程师设定固定的清单。在这个级别,界定有用的工作本身就是工作的一部分。他期望进入一个陌生组织的人,了解它的整体格局、找出问题、与总监和其他合作方建立关系,并判断自己的技能能在哪里发挥作用。他的“七天侦察”类比强调的是主观能动性,而不是一个字面意义上的统一期限。

Distinguished 级别的工作,还需要证明自己有“动态范围”。在技术上,一个人必须能够从底层实现重建约束,同时也理解业务需求,并把它们转化为有用的变更。同样重要的是选择与问题匹配的执行风格。

在前沿领域,快速实验能揭示未知:行动、观察、调整、重复。而一个会在数年后影响合作伙伴生态的平台 API,则需要更缓慢、更审慎的分析。即便在那里,发散式的探索也必须收敛成一个可执行的建议。他把 distinguished 的期望比作副总裁对那些下面各层解决不了的困难且不规则问题所负的责任。

他更广泛的职业哲学是:成为唯一一个能把一套有用的技能组合起来的人,而不是总在某一专长上争当最强。他尊重专家,但认为当一个领域、公司或市场发生变化时,广泛的组合可能更有韧性。

“成为唯一”是指把多种技能结合起来,处理模糊的局面吗?

是的。他以自己为例:把还算过得去的设计、销售、支持、托管、安全和工程技能结合起来,不必组建庞大的团队就能做出有用的东西。当真正的专家加入时,他可以把那一部分交出去,转而把注意力放到别处。

学足够多的另一个领域的知识,以便理解它的语言,可以使跨职能工作成为可能。他回忆说,自己读了很多营销书籍,才能和营销同事交谈,而写作经验则对公关有帮助。他关于迅速掌握很高比例的能力的估计,表达的是一种经验法则,而不是一条经过测量的普遍学习曲线。

资深的人不必是知识最丰富的人。Grigorik 的角色可以是理解平台的基本原理和业务需求,找出了解实现细节的人,并帮助他们完成决策。模式识别、知道去哪里找答案、协调合适的专业知识,与背下每一个 API 是不同的。

管理经验提供了另一项可用的技能:IC 在理解经理们顾虑的基础上,可以临时进行辅导或给予反馈。这个技能组合之所以重要,是因为它让人可以随着问题的变化,改变自己贡献的方式。

IC 应该尝试管理吗?还能回来吗?

他鼓励担任团队负责人角色,把它当作学习的方式,如果合适也鼓励走管理。他不赞成把这种转变看作单向的,或者把回到 IC 工作视为降级。经理们有时记得自己在接下一个角色之前是最快乐的,即使他们也看重管理教给他们的东西。组织应该让人们在不同角色之间带着这些技能自由转换,而不受惩罚。

编辑综合
不同的不确定性,需要不同的执行风格
情形适用模式
约束未知的新产品或前沿领域快速做实验,观察结果,然后调整方向。
对生态系统有长期影响的平台决策审慎地探索后果,然后收敛到一个建议。
关于这份资料

Shopify Distinguished 工程师(L10)谈 Principal 及以上的工程是什么样

本节是对原始文字稿的转述。自动生成的字幕可能有错误。

观看原视频 ↗

约 13:12–13:24 的结尾片段推广与反馈请求已省略。

我的笔记在可使用本地存储时,笔记会保存在此浏览器中。
第 63 节 · 访谈

要足够快地界定范围以便学习,并足够具体以便获得反馈

Boris Cherny 回忆了为一个快速扩张的组织做规划,以及用并行设计来暴露风险。

一个人怎样为数百名工程师界定项目范围?

Boris Cherny

Cherny 描述了这样一段时期:随着领导层投资于社区战略,Facebook 小组团队从大约 150–200 人增长到大约 600–800 人。高管的支持迅速创造了资源,随后技术负责人必须决定这些工程师实际要构建什么。他反复编写粗略的范围界定文档,比较几种技术方案,并为选定的方案匹配大致的团队规模。

回过头看,他一开始会加更少的人。他认为重要的工作是解决人们的问题、找到产品契合点,然后再逐步增加投入。人数无法一次性地创造出这种学习。这里的区别,在于高管为某个优先事项提供资金的能力,和产品团队需要去探索一个好方向之间的差别。

对于一次合并小组与主页数据模型的特别庞大的迁移,问题横跨产品、内容安全、广告和数据层。Cherny 没有无限期地等待决策,而是召集了技术负责人,把他们分成两个队,给两队相同的需求和大约三个小时来设计一个方案。两队独立产出的设计大约有 80% 相似。它们共享的核心为执行提供了方向;而差异使不确定性变得可见,并提示了有针对性的技术探查(spike)。

大家对这场内部设计竞赛反应如何?

Boris Cherny

Cherny 说这是个不寻常的主意,他主要的行动就是把这次会议排进日程。路径不清晰需要行动,但因为他自己并不知道答案,所以也需要把人召集起来达成共识。他把领导力看作平衡这两种模式:有时领导者必须先创造做出决定的条件,而不是先对过程的每一部分都取得共识。

对于需要快速界定工作范围的技术负责人,你有什么建议?

Boris Cherny

他主要的警告是不要在细节上花太长时间。从高层次开始,为一个粗略的计划设定时间限制——他建议第一轮大约用 30 分钟,代码需要调查的话则用几个小时。范围界定无法在工作开始之前消除每一个细节。

找到专家,向他们展示一个“稻草人”设计,而不只是提出一个开放式问题。一个具体的提案给了他们可以纠正的对象。他还说,在他的访谈情境中可用的 AI 工具,可以帮助探索代码库并识别涉及的系统,而这项任务以前需要更多的人工调查。这个工具的例子是他叙述的一部分,并不是要求采用某个特定的产品。

编辑综合

把不确定性变成大家可以评审的计划

  1. 从一个粗略的提案开始找出主要系统和备选方案。
  2. 让备选方案具体化方向不明朗时,使用相互独立的设计。
  3. 比较一致与差异把共同的核心与尚未解决的风险区分开来。
  4. 测试有风险的部分在扩大规模之前,利用专家反馈和有针对性的探查。
箭头表示编辑对 Cherny 例子的综合,并不是要求为每个项目都组织一场竞赛。
关于这份资料

Boris Cherny(Claude Code 的创造者)谈如何为数百名工程师界定工作范围

本节是对原始文字稿的转述。自动生成的字幕可能有错误。

观看原视频 ↗

结尾的频道推广已省略(05:46–05:59)。

我的笔记在可使用本地存储时,笔记会保存在此浏览器中。
第 64 节 · 访谈

Brendan Burns:赢得领导层的支持并建立联盟

精选片段:用原型获得领导层的支持、说服、治理、建立联盟,以及独立的社区领导。

Burns 会如何向 Google 的领导层讲述构建 Kubernetes 对整个行业的影响?

Brendan Burns

Burns 说,早期最难的任务是说服 Google 内部的人,尽管团队对目标很清楚。Burns 给出了三个论据。第一个借鉴了 MapReduce 和大数据浪潮。Google 写出了最初的白皮书,但 Hadoop 以开源项目的方式重新实现了这些想法,而 Google 没有得到任何功劳。

第二个论据是关于容器的。Burns 说,可靠的软件需要像应用的自动驾驶仪那样运作的系统。第三个是开源,Burns 称其为最有意思的部分。人们接受了应当构建这个系统,然后问为什么不让它留在 Google 自己的平台上。

为什么让 Kubernetes 只留在 Google 的平台上行不通?
Brendan Burns

Burns 说,许多人在其他云上或自建机房中,一个独占的产品会把他们拒之门外。他们会去构建一个替代品。Burns 将此与 Linux 作比较,Linux 之所以获胜,是因为它能在任何地方运行。大多数人不在领先的平台上,而 Google Cloud 并不是领先者。

Burns 的回答是为所有人构建,并让这个系统在 Google 的平台上最强。Burns 还说,如果几乎所有其他东西都是开放的,那么封闭的项目就必须有足够的差异化,让人们无论如何都想要它。

这个想法是从 AWS 手中夺取市场份额,让开发者迁移到 GCP 吗?
Brendan Burns

Burns 把 AWS 描述为占主导地位且最早入场的,而 GCP 是后起之秀。Burns 同意目的是赢得关注,但补充说,复制现有的模式(比如虚拟机)很难推销。创造一个 Google 做思想领袖的新领域,让它有了发言权,即使是在那些不使用其平台的人当中也是如此。

Burns 说,这个战略没有完全奏效,因为 GCP 仍然是第三。Burns 不会称之为失败。Kubernetes 已经在整个云市场整合起来,如今在各处都是一项基础设施。

领导层同意这个项目时,是否理解它在知名度上的好处?
Brendan Burns

Burns 说,团队明确想要站在思想领导力的最前沿。这种价值很难量化。这项工作成本很低,只有大约八九名工程师。

Burns 称独立的 Kubernetes 品牌是祝福也是诅咒。它让团队有失败的自由,而不会损害 Google Cloud 的声誉。转入 Linux 基金会后,Red Hat、Azure 和 AWS 等公司能放心地押注于它。Burns 称这个结构是一份保险,并说它让团队比 Docker 这样的创业公司更敏捷。

许多工程师认为自己无法在现有职责之外构建这样的东西。你会给他们什么建议?

Brendan Burns

Burns 给出两个回答。第一个是 Burns 对每一位下属都说过的建议:把大约 10% 的精力对管理层“隐藏”起来。每个人都有余裕,而随着组织的成长,这 10% 可以发挥更大的作用。Burns 说,许多有影响力的想法都来自于此。目的是让人们做出局部决定,而无需向上级层层请示。

Burns 提醒,有些想法会失败,失败会浪费时间。尽管如此,一次成功可能就是“超出预期”和“达到预期”之间的分界。一个人必须接受押注多个想法。Burns 说,这不是每个人的路。

Burns 的第二个回答是,时间必须从某处挤出来。Burns 问人们放弃了什么,因为大多数人在工作之外每周有 10 到 20 个小时,花在游戏、直播或 YouTube 上。Burns 说回报是指数级的:一年里投入两倍的时间,可能带来 20 倍的影响力。

Burns 还觉得这份工作让人上瘾。一旦用户在 GitHub 上提交 issue,Burns 就想不断地关闭它们,一直做到趴在笔记本电脑上睡着。Burns 当时并没有想着职业上的回报。

看来争取到领导层的支持花了一些时间。那是怎么实现的?

Brendan Burns

Burns 说,从一个很粗糙的原型发展到团队可以使用的东西,扎扎实实花了六个月。许多早期成员都构建过类似的系统,所以这个项目感觉像是一个用更好的想法从头重建的“洁净室”机会。Burns 说,这对工程师来说是很少见的。

当时还没有用户,所以团队不必为付费客户修复 bug。参与其中的人长期以来一直在思考这个系统可能是什么样子,现在终于可以把它做出来了。

对管理层隐藏 10% 的精力,在实践中是什么样子?

Brendan Burns

Burns 说,一个人应该始终有一个没人分配、但很重要的副项目。主持人将此与 Google 的 20% 时间相比,Burns 同意这个想法是相似的。

Burns 说,“隐藏”是字面意义:起初不要请示。一个项目可能需要几个月才能拿出来给人看。Burns 说,一个正在运行的系统远比文档或幻灯片更有说服力。到时候,经理要判断的是这个做出来的想法好不好,而不是要不要花时间。

如果你发布时没人在意,或者它没有你期望的那么好呢?
Brendan Burns

Burns 说,这就是硬币的另一面。有些时间会被浪费,甚至可能包括因为这项工作没有达到本人预期的突破而没有得到的晋升。Burns 说这是一种风险,就像创业公司一样。一个人应该带着这样的想法进入:这个想法不错,值得一试,失败也可以接受。

资深工程师需要冒这样的风险才能晋升吗?
Brendan Burns

主持人说,询问如何晋升的资深工程师,往往被告知要去找到项目,因为工作已经变得太模糊,无法交给别人。Burns 同意,在更高的级别上,这成了必要条件,那里的人必须想出好点子,而不仅仅是去执行。

Burns 说,这个项目对 Burns 自己的职业生涯有帮助。完全由你创造的想法,功劳是显而易见的,而对一个更大的项目或别人的想法,功劳就更难归属了。Burns 称这是掷骰子,并说时机也很重要。

Borg 看起来是 Google 的一项竞争优势。你是怎么说服大家分享其中一部分是可以接受的?

Brendan Burns

Burns 说,离开 Google 的人不会像《黑衣人》里的角色那样被清除记忆。团队也与 Facebook、Twitter 以及其他在构建类似系统的横向扩展型公司交流过,所以这项技术其实不是什么秘密。Mesos 与之类似,所以一个开源的选择即将出现。

Burns 说,团队重新定义了这个选择。问题不在于是否会出现开源版本,而在于 Google 是想去影响它,还是眼看着别人掌控它。专有方案是行不通的。

你是如何让 Red Hat(及其 OpenShift)这样的公司押注 Kubernetes 的?

Brendan Burns

Burns 说,许多早期合作伙伴本来就在构建平台或可靠的网络服务。对他们来说,大家一起构建同一层,胜过各自单独构建,因为他们的价值并不在这一层。

Burns 说,合作伙伴必须是平等的。依赖某个东西,也意味着要依赖别人的路线图,所以团队提供了设计桌上的一个席位。后来,网络和存储提供商也加入了,因为他们的用户正在转向 Kubernetes。

既然是 Google 发起并主要出资的项目,你们是怎么避免让 Google 主导路线图的?

Brendan Burns

Burns 说,独立性对于被采用至关重要。第一步是成立基金会。大约一年后,团队把整个 Kubernetes 捐赠给了 Linux 基金会旗下的云原生计算基金会(CNCF),因为当一家公司持有商标时,合作伙伴很难顺畅地协作。

第二步在更晚的时候。这个项目最初几年没有成文的治理规则,Burns 称这是一个错误。2016 年,团队制定了规则,让任何单一公司都不能掌控,采用分布式、民主的模式,而不是仁慈独裁者。主持人说,没有良好的治理,贡献者是不会加入的,Burns 对此表示同意。

你指的是一部章程吗?是你们自己写的,还是律师写的?
Brendan Burns

Burns 说是团队自己写的。大约七八个人开了几次高强度的会议,参考了其他社区,把已经非正式存在的松散安排固化成文。他们还成立了一个以前从未有过的指导委员会(steering committee)。

Burns 说,这个小组被称为引导委员会(bootstrap committee)。成员都是受人尊敬、彼此不会争斗的领导者。Burns 把功劳归于当时的社区负责人 Sarah Novotny,是她把大家聚到了一起。

社区贡献占多少比例?主要公司的贡献占多少?

Brendan Burns

Burns 手头没有 Kubernetes 的数字。根据一般开源项目的经验,核心贡献者大约占 80% 到 90% 的工作,其他人的贡献不到 10%。像微软这样的公司会向上游团队投入,但对很多用户来说,技术只是达到目的的手段。

Burns 说,在银行或零售商那里,很难说服人把 10% 的员工投入到上游工作,尤其是当领导者并非在开源环境中成长起来的时候。法务团队也会阻挠一些贡献,因为他们担心对 bug 承担责任。Burns 说这种担心站不住脚,Linux 基金会可以提供判例法,但这仍然足以阻止一次贡献。

真的会有人因为加入一个 bug 而被起诉吗?
Brendan Burns

Burns 说,这条逻辑链很容易想象,比如烟雾报警器里的一个开源 JPEG 库引起了火灾。Burns 不认为这能成立,因为许多开源许可证包含赔偿相关的条款。Burns 说,非科技公司里的开发者可能无法跟法务争辩,于是这次贡献就不了了之了。

有没有哪本书对你的职业生涯影响最大?

Brendan Burns

Burns 说,早期影响最大的是“四人帮”(Gang of Four)关于设计模式的那本书,大约是 90 年代后期或中期的。主持人说出书名是《设计模式:可复用面向对象软件的基础》(Design Patterns: Elements of Reusable Object-Oriented Software),Burns 表示认同。后来,随着 Burns 成为大型组织的领导者,《在边缘领导》(Leadership on the Line)变得重要;而《团队的五大障碍》(The Five Dysfunctions of Teams)对团队如何运作很有帮助,不过 Burns 对这个书名不太确定。

所以工程师应该读第一本,经理应该读另外两本?
Brendan Burns

主持人这样总结,Burns 说差不多是这样,不过职业生涯是不断演变的,一个人也可能两种都读。

关于这份资料

Kubernetes 的联合创造者:工程主导的方向与说服管理层|Brendan Burns

本节是对原始文字稿的转述。自动生成的字幕可能有错误。

观看原视频 ↗

预告片段和开场旁白,00:00.00 至 00:37.68,是节目后面部分的预览语句。第一个真正的问题始于 00:37.68,由第一轮涵盖。

结尾致谢、主持人对另一个人体工学键盘项目的推介、对频道反馈的请求以及嘉宾提及,1:06:18.20 至 1:07:14.68,已省略。

这一精选章节保留了来源中关于职场、领导力和职业的段落。技术性的和无关的讨论已省略。

我的笔记在可使用本地存储时,笔记会保存在此浏览器中。
第 65 节 · 访谈

跨团队领导,同时赢得信任与采纳

精选片段:跨团队的范围、平易近人的领导方式、赢得采纳、自主权,以及保护用于领导的时间。

从加入 Meta 到成为 principal 工程师,你的路径是什么?

Bolam 以 IC6 加入 Facebook 小组团队,赶上了疫情早期的远程入职。由于选举相关工作限制了队友的时间,他起步缓慢。他的经理在评审中帮助说明了这一背景。后来他转到 Instagram Web,更接近他原本打算做的 UI 和 React 工作,并且能立刻做出贡献。

入职缓慢期间,你的绩效有风险吗?

他记得自己的评级是令人满意而不是出色,并认为经理对入职缓慢的解释起了作用。他并不声称每一次缓慢的上手期都会自动得到保护。

加入 Meta 之前,你的背景是什么?

他从前端工作起步,但一再从前端转到后端基础设施。他希望一家大公司能让他专注于产品 UI;同样的模式却反复出现。经验使他更容易对基础设施施加影响,而更大的服务器平台提供了更大的影响面。

为什么你的经理们让你跨多个团队做领导?

他已经告诉他们自己想要职业成长,并且在加入 Meta 之前就带领过几个团队。组织在技术栈迁移期间需要协调,而强劲的第一个月表明他已经准备好了。他得到了从一个团队扩展到多个团队的机会;他仍然需要交付这个项目,而不能把这个任务本身当作一次晋升。

在你这类工作中,IC7 和 IC8 的范围意味着什么?

按他的视角,IC6 通常带领一个团队,IC7 跨团队或在更广的领域工作;IC8 的影响范围更广。问题的重要性同样重要。影响数千名工程师的框架工作,即便没有相应的汇报结构,也可以有相当大的范围。他明确承认还有另一条路径,即深度专家,他们小小的代码改动就能带来非常大的节省。这些只是例子,并不是固定的团队规模规则。

你有意识地选择了某种领导者原型吗?

并没有特别如此。他会尽力做项目所需要的事,同时依靠自己在沟通、协调和营造一个大家乐于共事的团队方面的长处。他希望别人成功,并认为这在一个长期项目中可以产生复利。他通常不用主持人所说的“力量倍增器”这个标签来思考。

为什么不做管理?

他尝试过短期的管理,但希望保留在需要时写大量代码的选择。他还偏好有这样的经理:能够制止他偶尔的不当言论。他的偏好,把自己喜欢的技术工作和对人际责任的意识结合在了一起。

尽管肩负资深职责,你为什么仍然保持对同事随时可联系?

可接近性能揭示本来可能看不见的想法和问题,并帮助人们向前推进。他在负荷过重时可能需要推迟会议,但会努力找到帮忙的办法。

你如何决定把时间给谁?

他尽量不看职级,包括对实习生也是如此。真诚的问题和按建议行动,会鼓励他进一步投入。时间不够的时候,他可能会推迟,或者把对方介绍给更了解情况的同事。这是在可及性与有限精力之间取得平衡的一种尝试。

什么是好问题?

要真诚地表达你想了解什么,而不是编排一场给人留下深刻印象的互动。一个真实的问题,会让人更容易找到合适的人,包括有更多时间或专业知识的其他人。

是什么工作推动了 IC7 和 IC8 的晋升?

对于 IC7,一项原本预计需要大约两年的迁移,在大约六个月里就完成了大部分工作。这释放了大部分资源去做其他工作,包括 Instagram Web 上的广告。他把功劳归于团队,而不是声称个人对这次提速负责。

对于 IC8,领导层信任他去承担难得多的任务:把 Instagram 的后端迁入 Meta 主栈。许多工程师起初看不出有什么理由离开一个熟悉且有效的环境。团队没有一开始就要求强制迁移,而是先改善了两个栈之间的开发者体验,然后把 Instagram 缺失的能力添加到目标栈上。

经过几年,跨越边界变得更容易,更多页面为了自身的好处而迁移,需求也转向完成迁移。重要的页面和流量里程碑,在整个项目完成之前就展示了范围。他描述大约有一百五十个团队参与,带来了有意义的性能或开发改进,至于具体的功劳归属和晋升决定,则放在更宏观的背景下,由其他因素决定。

一次两年的迁移是怎么变成六个月的?

他们削减了范围,改变了策略,并培养了团队的势头。成批地迁移页面而不是逐个迁移,起初造成了困难的集成工作,但随后让进展产生了复利。团队发挥了每个人的长处,并且确信可以更早完成。

你是怎么让团队兴奋起来的?

他无法完全解释这个自然形成的过程,也不能把所有功劳都归于自己。他带来了活力,同事们相互强化,大家享受共同的进展。更早完成使整个团队受益,也让后续有价值的工作得以进行。

在基础设施变更期间,你如何让开发者保持满意?

一个“服务器拥护者”小组把来自整个组织的代表联系起来,参与者大多是产品工程师。这使基础设施始终立足于日常开发。一个持续的反馈渠道往往在几小时内就暴露出问题,比大型抱怨群组更早,后者往往要等问题变得很严重才有人发帖。指标是对这些关系的补充,而不是替代。

随着责任增加,你的工作时间发生了什么变化?

工作时间随兴奋程度和项目而波动:他有时每周工作六十或七十小时,然后在另一段时期有意回到四十小时或更少。他希望在工作之外拥有生活,并把最近的平衡归功于职业生涯中形成的一套系统。这种模式是个人的,并不是断言某个平均工时就能保证 principal 级别的影响力。

有哪些系统保护这些时间?

他为专注工作留出一周中大约一半的时间,避免在上午开会(因为上午适合他工作),尽量让周三和周五没有会议,并把一对一集中在周一下午。周二和周四下午则可以安排项目讨论。也有例外;价值在于一个受保护的默认安排,而不是死板地遵守。

在集中编码的时期,会有什么变化?

一旦工作有了势头、大家知道计划,他就会取消许多会议,持续几周。他的项目可能有必要的工作流会议,但没有层层叠叠的中央例行同步会。需要时,通过直接沟通或更大范围的论坛进行领导层协调,他本人在有紧急问题时仍然可以联系到。

在这些时期,你也会评审代码吗?

会。他在自己写代码之前先检查待评审的内容,并经常回头看,因为等待批准可能会阻塞另一位工程师。评审是推进项目的一部分,而不是对个人产出的打断。

你如何决定代码评审的深度?

他根据风险调整投入。核心架构、线上生产变更和系统范围的决定会得到彻底的关注。一个有开关保护、孤立的叶子组件,可以接受轻得多的评审,因为它的故障或重写是被限制在局部的。他仍然会留意明显的隐患。他称这有争议,并承认这与许多同事的期望不同。

如果有人确实想要更深入的评审呢?

作者可以在摘要里标明,或者把已批准的变更退回,要求更仔细的检查。他们的信号可以纠正他对风险的评估,或者表明想要一次设计讨论。这种做法也取决于团队内的信任;新同事不会立刻得到同样的默认假设。

为什么问“如何接受”,而不是“如何拒绝”?

他想找出真正的阻碍,而不是要求代码与他的个人风格一致。有经验的工程师能认出多种可行的形式。他不同寻常的延伸是:即使需要强制修复,也带着明确的警告先批准,信任熟悉的同事在合并前改正。他说据他的经验,这没有造成人们所担心的生产事故,同时要求不熟悉的作者在准备好后再回来找他。这是被归因于团队的一种做法,不是建议把已知缺陷视为安全的。

你如何判断自己是不是推进得太快?

他利用线上反馈和指标来调整。如果一次发布状况良好、负面信号很少,他可能比常规的增量更快地扩大曝光;如果出现问题,他就收回。主持人和 Bolam 都同意,速度会带来一定风险,而每天都出故障说明太过了。文字记录并不能证明没有投诉就等于没有伤害;它记录的是他所描述的基于信号的判断。

技术负责人要对什么负责?

在他看来,是项目的成功。通常最有用的行动是让人们对齐,并确保他们朝正确的方向贡献,但负责人可能需要写代码,或调试别人解决不了的问题。他举了一个例子:花了几周时间追查一个难以捉摸的 bug。这个角色是对结果灵活地做出贡献,而不是某一种单一的活动。

新的技术负责人会犯什么错误?

他们可能沉浸在日常运营中而忽视了目标,尤其是当周围的方向发生变化时。负责人必须注意到并重新引导团队,而不是继续执行一个过时的计划。

你如何在编码与更广泛的领导工作之间取得平衡?

他通常每周写一些代码,以便保持对完整工具链的熟悉,常常挑一个他做起来比别人快得多的任务。专注时段有帮助。但当评审、资源规划或其他活动能提供更大价值时,他可能连续几周不写代码。目标是有用的分配,而不是保住一个编码配额。

你如何判断什么值得你花时间?

经验会有帮助。他早先的一个经验法则,是去找他认为重要而没有别人做的工作。他现在认识到,被忽视的工作也可能是因为不明智才被忽视的,所以这个判断仍然需要审视。他还会留出时间做一些有用、但可能不会计入绩效评审功劳的贡献,包括帮助同事和保持技术上的接触。

你的记笔记系统是什么样的?

一个单独的 VS Code 窗口,里面是放在同一个大文件夹里的纯文本文件,以人名、项目和优先事项命名。他通过快速的文件名搜索来导航,用快捷键添加日期和时间,并频繁记笔记,因为记忆不可靠。他避免复杂的归档。文件之间的链接提供联系;图谱视图很有趣,但不是核心。这个档案包含了多年来积累的工作和个人想法。

你会为评审维护一份成就日记吗?

不是一直坚持。他有一年这样做过,但通常是事后再回溯成就,并承认花一天时间做这种回溯是有代价的。他现有的笔记更多服务于当前的思考,而不是日常功劳的记账。主持人建议把发布公告作为另一种记录,因为这些本来就要写,Bolam 喜欢这个主意。

你会给刚毕业时的自己什么建议?

去重视你长处的地方。擅长前端、调试或框架的人,在领导者需要另一种贡献的角色中可能会无法发挥。一次糟糕的评审并不自动意味着这些长处毫无价值;认识到不匹配并换个位置,可以同时改变表现和享受程度。他还建议要善良、简单,并且能够以真实的自己享受工作。

把随性的个性带到工作中,代价是什么?

他有时会说出不明智的话。他会尽量及时承认并道歉,同时依靠自己出于善意的既有声誉。他并不把真实性当作发表极端或有害言论的许可。

关于这份资料

Instagram Principal 工程师(IC8):晋升、搞崩生产环境、担任技术负责人|Jake Bolam

本节是对原始文字稿的转述。自动生成的字幕可能有错误。

观看原视频 ↗

0:00–0:48 的开场预告重复了后面的对话,这里只保留一次。

约 49:53–50:24 的结尾播客支持与嘉宾请求已省略。

这一精选章节保留了来源中关于职场、领导力和职业的段落。技术性的和无关的讨论已省略。

我的笔记在可使用本地存储时,笔记会保存在此浏览器中。
第 66 节 · 访谈

James Everingham:人际关系、角色清晰与规模适当的团队

精选片段:有用的人脉经营、领导角色的边界、规模适当的团队、人际关系,以及避免过度控制。

对工程师来说,有用的人脉经营是什么样的?

提问,对别人的工作表现出好奇,主动提供帮助,参与讨论。他把功劳归于一位同事的建议:通过做有用的人来寻求指导,而不是一开口就请求被指导。不要烧桥:身边的人二十年后可能处于截然不同的角色。他把长久的工作关系视为基础,而不是把人脉经营当作安排一场场交易式的咖啡会面。

你是怎么成为 Instagram 工程负责人的?

他在 Luminate 上待了六年半,这个产品他比作面向出版商的购物功能,但没有取得预期的成功。后来的一次出售给 Yahoo、一段董事会关系,以及此前的一次 Instagram 收购洽谈,最终把他与 Instagram 联系了起来。尽管他已经口头接受了另一个机会,但见过团队后,他对 Instagram 的热情变得明确:他确实在用 Instagram,也在乎它。他把功劳归于人脉、时机,以及相关的图像产品经验,其中也包括从一家未能成为爆款的公司学到的教训。

创办一家创业公司,能让人回到大科技公司时以高得多的职级入职吗?

可以,但公司仍然需要证据,证明这个人能胜任这份工作。他自己从一家小创业公司进入规模大得多的 Yahoo 组织,依靠的是此前在 Netscape 和 Tellme 带领大型团队的经验。仅仅创办过公司,并不能替代已被证明的领导能力。

为什么要缩减最初的 Instagram Stories 团队?

竞争威胁并不总是需要更多的人。他想要一个由能力很强、积极主动的工程师组成的小团队,所有权明确、依赖很少。有创始人的密切参与,团队可以很快做出一个可用的产品,然后再集成和扩展。更大的团队会产生联邦式的组件和依赖,拖慢同样的工作。他把这项约三个月的工作,与 Instagram“先做最简单的事,在全公司投入之前先验证一个论点”的原则联系起来。

CTO 与工程负责人(head of engineering)的角色有何不同?

Mike Krieger 想专注于技术和编码,而 Everingham 则在工程团队接近一百人时负责人员和执行。他们发布了职位描述和决策路由的示例,以防止期望相互冲突。技术实验和路线图问题交给 CTO;人员编制、招聘、组织结构和评审则交给工程负责人。他常常发现,公司在要求设立 CTO,而实际的困难却在于工程管理。

Instagram 还教会了你什么?

他起初预计在一百名左右工程师的规模上会出现熟悉的沟通失灵,但发现团队运转良好的时间比预期的更长。问题出现得更晚,大约在一百五十到二百人的时候。他把这种延迟归因于才华出众的人保持了大量共同的上下文。他也看重让构建者成为自己产品的重度用户;一位实习生在黑客马拉松上的快速小项目,变成了一个非常吸引人的功能。这些例子解释了他对这支团队的欣赏,而不是定义普遍适用的组织规模阈值。

你怎么看待那种深陷每一个细节的管理方式?

不同的环境需要不同的工具。他通常的风格是支持有能力的人,让他们专注于成果,扫清障碍,提出问题,让他们自己创造解决方案。他曾对表现不佳的团队暂时更深入地介入,然后再退后。他担心长期的微观管理会把有才华的人赶走,但他并不声称自己足够了解每一位公众领导者的处境。管理上的细节只是一种干预手段,而不是他唯一的模式。

你有什么遗憾或教训可以分享?

他建议去有能力强的人和导师的地方,这几乎是无心插柳地帮到了他。他还希望自己早点明白,时间最终会成为稀缺资源:多年无谓的挣扎代价高昂,而做自己热爱的工作很重要。

你会对刚开始时的自己说什么?

即使害怕显得不懂,也要发言,多提问,并建立关系。他还希望自己能更早有意识地搬到一个提供与自己领域相关机会和资源的地方。被招募到加州改变了他的职业生涯;他把留在宾夕法尼亚等待,比作一个不考虑去好莱坞的演员。这是他自己的地域经历,并不是声称每个人都必须做同样的迁移。

关于这份资料

Instagram 前工程负责人:职业遗憾与心得|James Everingham

本节是对原始文字稿的转述。自动生成的字幕可能有错误。

观看原视频 ↗

0:00–0:51 的开场预告重复了后面的内容,这里只保留一次。

约 57:36–58:34 的结尾播客与键盘推广已省略。

这一精选章节保留了来源中关于职场、领导力和职业的段落。技术性的和无关的讨论已省略。

我的笔记在可使用本地存储时,笔记会保存在此浏览器中。
第 67 节 · 经验

识别瓶颈,并在被打断时保持工作继续推进

精选片段:识别个人瓶颈,以及在被打断时保持工作推进。

创始人就是瓶颈

他亲自调研嘉宾、审看所有素材并负责制作。尽管比以前工作得更多,他仍然难以保持每周一期。如果他停下来,制作就停了:他个人的付出已经成了瓶颈。

为意外打断留出余地

生病让这种脆弱性变得具体。一期几乎完成的节目,让他在一个无法工作的星期里仍然能够发布。这次经历促使他建立了存稿,并让录制更高效,以便在需要时每周能做出两期。

关于这份资料

辞去 Meta 工作后的近况

本节是对原始文字稿的转述。自动生成的字幕可能有错误。

观看原视频 ↗

对播客评分、订阅和项目链接的推广请求已压缩;运营上的变化和产品进展则保留。

这一精选章节保留了来源中关于职场、领导力和职业的段落。技术性的和无关的讨论已省略。

我的笔记在可使用本地存储时,笔记会保存在此浏览器中。
部分

处理冲突与艰难的职场

建设性地表达不同意见,用证据把问题浮出水面,并决定一段关系或一个环境什么时候需要改变。

第 68 节 · 访谈

Bjarne Stroustrup:跨团队的共识与外交

精选片段:建立共识、委员会中各方利益相关者的约束,以及意见不合的专家之间的穿梭外交。

如果由你一个人说了算,而不是由标准委员会决定,你会改变什么?

他否定了自己曾经拥有不受限制的控制权这一前提:用户会带来稳定性方面的义务。当主要厂商表示,无论多么信任他个人,都无法依赖一门由潜在竞争者拥有、又没有标准化的语言时,标准化就成了必要。他起初抵制,因为实验仍在继续,后来接受了计算界需要一个厂商中立的基础。

他的带注释的参考手册(annotated reference manual)记录了语言定义和设计理由,为标准化工作提供了基础。这种治理上的折中使其得到更广泛的使用,同时让单方面的改动变得更难。

如果你拒绝了呢?

他猜想 C++ 会一直是一门小型的学术语言,并逐渐淡出主流使用。这是一种反事实的观点。他认为不依附于某一家公司,以及拥有已发布的标准,是其被广泛采用的重要优势。

在几乎没有营销的情况下,它是怎么被采用的?

他回忆说,营销预算极少,并与 Java 的企业式推广作了对比。标准化工作如今仍然受限于实验和实现方面的资金不足。他提到有一个庞大的委员会,力求取得广泛共识,以避免出现方言。要说明这一点,他并不需要主持人那种缺乏依据的、精确的采用排名说法。

共识意味着全体一致吗?

不。他更倾向于压倒性的多数,但并没有一个固定的数字门槛能解决每一种情形。一次百分之九十五的投票,如果违背了所有主要实现者,仍然可能不代表可用的共识。当分歧重要时,召集人会咨询各国代表、实现者以及其他必要的参与者。判断可能出错,但他认为这是必要的,因为仅靠投票并不能体现可行性或知情的承诺。

硬件代表之间的穿梭外交是怎么回事?

不同的机器模型和缓存一致性要求,与大量现有代码发生了冲突。重写其中一方的底层假设是不现实的,包括那些原作者已经离开的代码。Stroustrup 在两个小组之间来回走动,询问实际的约束是什么,并把它翻译给另一方。达成的一致进入了 C++11;之后,双方都采用了几种方法的组合。结果是相互借鉴,而不是一方获胜。

为什么不把所有人聚在一场对话里?

他们已经试过了,没有进展。他可以提问并做翻译,尽管他并不是两种硬件模型中任何一方最深入的专家。有用的贡献在于跨越专业知识和约束的沟通。

关于这份资料

C++ 之父:贝尔实验室、零开销抽象、错误|Bjarne Stroustrup

本节是对原始文字稿的转述。自动生成的字幕可能有错误。

观看原视频 ↗

0:00–0:50 的开场预告重复了后面的对话,这里只保留一次。

约 60:05–61:44 的 Cursor 和 WorkOS 赞助商信息,以及 118:07–119:02 的结尾支持与键盘推广已省略。

这一精选章节保留了来源中关于职场、领导力和职业的段落。技术性的和无关的讨论已省略。

我的笔记在可使用本地存储时,笔记会保存在此浏览器中。
第 69 节 · 访谈

David Patterson:勇敢而审慎地表达异议

精选片段:与公司领导层进行建设性的异议、勇气,以及避免不必要的个人冲突。

你为什么认为勇气在职业生涯中很重要?

他把自己的一部分自信追溯到年轻时作为体型较小的学生练摔跤。在职业上,他认为安全并不能消除失败,而一个有意义的机会才可能让成功成为可能。勇气还包括挑战他认为是错误的论点。

当薄弱的论证在推动决策时,即使来自公司领导,他也觉得自己在智识上有责任提出异议。如果参与者共享寻找最佳答案的目标,辩论可以改进想法。他用一位年长同事的警告来调和这一点:敌意可能比友谊持续得更久,所以要在重要的时候站出来,同时要谨慎对待不必要的个人冲突。

你是指对抗技术上的错误吗?

是的,也包括薄弱的政治或组织方面的论点。他想要一个思想的市场,在其中批评能让结果更强。他把这个原则延伸到公共生活,写过一些他认为需要纠正的问题。重点在于共同的目标和更强的想法,而不是为对抗而对抗。

关于这份资料

图灵奖得主:TPU 与 GPU 与 CPU、计算机体系结构、RISC 与 CISC|David Patterson

本节是对原始文字稿的转述。自动生成的字幕可能有错误。

观看原视频 ↗

0:00–0:36 的开场预告重复了后面的对话,这里仅在完整讨论处保留一次。

58:15–59:10 的结尾播客与键盘推广已省略。

这一精选章节保留了来源中关于职场、领导力和职业的段落。技术性的和无关的讨论已省略。

我的笔记在可使用本地存储时,笔记会保存在此浏览器中。
第 70 节 · 访谈

Michael Bolin:影响力、晋升与清晰的写作

精选片段:使影响力与雇主需求保持一致、延误了晋升的影响力与冲突,以及有效的写作。

是什么吸引 Bolin 加入 Google 和 Google Calendar?当时的文化是什么样的?

Michael Bolin

Bolin 说,他在 90 年代上网时,找任何东西都要试五个搜索引擎。2000 年 3 月,一位室友向他推荐了一个较新的搜索引擎,他觉得更好。他把 Yahoo 杂乱的页面与 Google 简洁、有原则的设计作了对比,并注意到优秀的人才都在去那里工作。

按 Bolin 的说法,当时 Google 比微软更懂网络,因为微软已经拆掉了 Internet Explorer 项目,而 Google 以网络为先。凭借工程质量和影响力,它是他毕业时最想去的地方。

在产品与基础设施方面,当时的文化是什么样的?
Michael Bolin

Bolin 说,创始人会对公司最初擅长的东西保留一份偏爱,在 Google 就是信息检索和基础设施。像 Gmail 这样的产品是吸引他的原因,但在公司内部,它们的地位和搜索不可同日而语。

他说,Calendar 主要面向消费者,也卖给企业,不过赚钱的并不是他们的团队。他把这个团队比作呼叫中心。

Bolin 在 Google 待了四年后为什么离开?这次离职读起来喜忧参半。

Michael Bolin

Bolin 说,一旦过了四年这个节点,财务状况就变了。他说,更深层的问题是一个坏习惯:在对自己重要、但对 Google 不重要的事情上努力工作。他列举了重要的 Calendar;Google Tasks,一个用户少两到三个数量级的小功能;以及 JavaScript 基础设施和 Closure 工具集。他出于热情写了关于 Closure 的那本书。

他为这些工作感到自豪,但说那不是最好的职业选择,因为别人在受到认可,而他却在错误的事情上拼命。他称之为“更努力而不是更聪明”的错误,并决定去找一个让自己兴奋的事与公司在乎的事相吻合的地方。

在一家没有任何信誉的新公司,他是怎么影响他人的?

Michael Bolin
Michael Bolin

Bolin 说,一位多产的资深 Android 工程师(也是前 Google 员工)建议他赶在有人取消这项工作之前快速做出来,并承诺如果成功就给予支持。这位工程师欢迎更快的开发周期,也是最早称赞它的人之一。

Bolin 也承认犯过一个错误。来自 Google 的他,把 Facebook 看成是一群大学生,好几次争论说 Google 是怎么怎么做事的。人们告诉他,他们不在乎,他说他们大体上是对的:在 Google 行得通的做法,在那里不一定行得通。

赢得信誉,并为一项举措陈述理由

Michael Bolin

Bolin 看到了一个具有真实商业价值的开发者工具问题,并把他提议的编辑器范围界定得很窄,而不是试图同时服务所有平台。另一个团队已经有了用户,但领导层支持他的方案。他把这个决定部分归因于自己关于该工具应如何契合公司需要的论证,部分归因于自己在 Buck 方面赢得的信誉。

Bolin 对晋升到 E8(主持人称之为行业中的 principal 级别)有什么反应?

Michael Bolin

Bolin 说他非常兴奋。在 Google 时他曾觉得与雇主格格不入,所以他把这次晋升视为一种印证:他的成长不仅是技术上的,还学会了什么叫做与雇主保持一致的工作。这对他来说和晋升本身一样令人满足。

晋升之后,Bolin 接下来做了什么?“英雄任务”(hero quest)是什么?

Michael Bolin

Bolin 说,他试图帮忙提升网页速度,有点越界了。facebook.com 的加载时间很差,架构也陈旧,许多同事已经在 Web 方向做了很久,而他此前做的是移动端和开发者工具。他和另一位工程师从源码编译了 V8,想看看以不同方式生成 JavaScript 是否有帮助。结果一无所获。

他得出的结论是,不同的人适合不同的项目。当项目一开始就需要写大量代码时,他表现更好,而这项工作是关于查看数据和与很多人交谈,而这并不是他的强项。

“英雄任务”是什么意思?
Michael Bolin

Bolin 说这很尴尬,因为它涉及自我。工程师们会说,要是有人能来一刀斩断这个戈尔迪之结就好了,而他认为既然自己懂 JavaScript,就可以做那个人。他说他没有成功,此后至少又重新领会过一次这个教训。

他可以做很多事,但真正享受的只是其中较小的一部分,只要待在这个子集里,同时努力随时间扩大它,他会成功得多。用他的话说,人不必在每件事上都是最强的,应该接受并拥抱这一点。

关于延误了晋升的影响力与冲突,Bolin 学到了什么?

Michael Bolin

Bolin 说,E8 及以上级别的大多数人不写代码。他们把时间花在影响力上,写那份大文档,让各团队都参与进来。他说,对于一位写代码的资深工程师,要达到预期的影响力,意味着至少要花一些时间去影响他人。

他的问题是,他对自己的见解太有把握,以至于出手过重。微软收购 GitHub 时,他构建的编辑器依赖 GitHub 的技术,他担心它会被取代,因为 VS Code 不会让它继续作为一个项目存在。他说后来证明确实如此。但他当时很焦虑,逼迫别人,没有考虑到人们对自己在做的事感到满意,不想被人动了自己的奶酪。他被训诫了一番,晋升也因此推迟。

Bolin 说,从随后的辅导中,他更清楚地意识到什么会触怒自己,包括技术决策,并尝试注意到这一点,不在当下冲动行事。如果他不是进行这场谈话的最佳人选,他可能会去找对方的经理谈,而不是像公牛闯进瓷器店那样冲上去。

事后看,他对编辑器的判断是对的,却被告知要冷静下来。他对此有什么感受?
Michael Bolin

Bolin 说,大约一年后,他进行了几次谈话,要求把账本稍微平衡一下,他们把这件事解决了。他同意主持人的看法:学到的是他做事的方式,而不是他对在哪件事上是正确的。

Bolin 如何看待 senior staff 及以上级别的极高期望?这是否有压力?

Michael Bolin

Bolin 说,从来都不是没有压力的。他参加过校准会议,讨论别人的职级和影响力,想要做到公平,同时想象有人也在这样对待他。在 E8,一个人要与可能带着上百人的总监比较,很难与那样的影响力相匹配。

他说,许多资深工程师靠的是另一种形式的“人的管理”:写对的文档,让大家对齐。他们仍然是个人贡献者,因为技术上的可信度使他们的话与总监的话落地的方式不同。用他的话说,用这种方式影响 50 到 100 个人,就是总监级别的影响力。

对于主要写代码的人,项目的选择很重要,而且不能仅仅是好玩的项目。Bolin 经常决定自己不去写一个好玩的功能,让别人去做。在 Codex 上,他会问自己亲自写哪些代码才能最大化影响力,如果别人能做到大约 80% 的水平,他就让对方去做。他寻找力量倍增器,比如虚拟文件系统,他知道它之后能解锁很多事情。

他还说,高级经理把合适的资深工程师配到合适的项目上,这一点没有得到足够的认可。有些资深工程师是出色的修复者和程序员,但并不擅长产生想法,而经理能看出一个困难的项目需要一个自己永远不会去选择它的人。

一位前同事称赞 Bolin 启动项目的能力。对想要从零开始构建东西的工程师,他有什么建议?

Michael Bolin

Bolin 说,好项目往往来自对某件事有一点不满。他承认自己常常没有思考最好的构建方式就一头冲了出去。他的例子是 Google Calendar 里的天气图标:他主要懂 JavaScript,随便拼凑了后端,把天气数据存成一团 XML。他的技术负责人问他,为什么没有讨论过 protocol buffers 和二进制格式。他对这个功能太执着了,从来没有问过别人有没有更好的办法。

主持人指出,很多人只是干等一个缓慢的构建。是什么给了 Bolin 信心,认为自己能把它做得更好?
Michael Bolin

Bolin 把功劳归于他在 Google 的时间。他从未在 Blaze 团队工作,也没有碰过它的代码,但他知道存在一个这种形态、而且好得多的工具,他称之为“存在性证明”。他能否做出来还有待观察。他说,已有的先例给了他信心,而且他把自己看作一台编码机器,能够构建原型并检验这个基本假设:一定存在一条前进的路。他说,只要下定决心,你就能找到办法。主持人补充说,在大公司里见识过世界级基础设施的人,往往去别处把它重新搭建起来。

Bolin 的技术写作非常清晰。他对想把文章写得更好的工程师有什么建议?

Michael Bolin

Bolin 说,阅读优秀的文章是个开始,因为模式无论有意无意都会被学到。接着他强调要在高层次上思考自己想传达什么、读者真正想知道什么,并且在开头做大量的提纲。他会问:这些要点是不是顺着线性逻辑往下走?从一个要点到下一个要点之间,是否有跳跃太大的地方,比如读者可能合理地漏掉的内容。他觉得自己对这类缺口出现在哪里有相当不错的感觉,并说,对技术写作而言,预见到它们、并加上读者完成这个跳跃所需要的例子,非常重要。

Bolin 能解释一下他职业笔记中那个关于影响力的三步计划吗?

Michael Bolin

Bolin 说,第一步是弄清楚自己真正喜欢做什么。拓宽这一点是好事,但也要对自己诚实,他把这与自己失败的“英雄任务”联系起来,那是因为他当时做的是自己并不真正热爱的事。第二步是弄清楚雇主真正看重什么,他说在 Google 时自己没有做好这一点。他做的是自己兴奋的工作,但那不是 Google 的 AdWords。第三步是找到交集,并全力投入。

他说,你越能做到这一点,就会越成功,但交集并不总是存在。如果没有,你可能需要去别处让它发生。

带着现在所知的一切,Bolin 会对职业生涯之初的自己说什么?

Michael Bolin

Bolin 说,他本该更早地对学习更多东西保持开放,对自己也更温和一些,许多初学者都应该如此。他观察到,人们对自己的第一门编程语言有一份特殊的感情,因为它第一次让人能做成点什么,而这也是一种隐患。终于能够高效产出之后,人就很想抓住不放,因为不知道下一个落脚点要花多久。

就他自己而言,他认为在 JavaScript 上钻得太深,很久之后才写 C++。对项目类型和愿意学习的内容更好奇、更灵活,会是最大的转变。主持人指出,Bolin 后来的故事,比如为 Miles 学 Objective-C 和 C++,显示的是刻意的学习努力,而不是开放的态度,并提出 Codex 可能降低门槛,比如让它根据你的 JavaScript 知识写出 Rust 代码。Bolin 同意这打开了许多扇门。

关于这份资料

OpenAI Codex 技术负责人:他的职业如何成长,以及他如何使用 Codex|Michael Bolin

本节是对原始文字稿的转述。自动生成的字幕可能有错误。

观看原视频 ↗

开场预告蒙太奇,预览后面的回答(00:00.08 至 00:44.72),已在概述和相关轮次中保留一次。

关于候选人以及谁写了 CLI 的混乱对话(58:21.20 至 58:36.64),因字幕不清晰而省略。

主持人关于 diff 中空白测试计划的题外话(56:45.28 至 56:56.88),作为闲聊省略。

结尾致谢与告别(01:19:06.32 至 01:19:09.60)已省略。

主持人对人体工学键盘项目的结尾推广,以及对节目评论和反馈的请求(01:19:10.80 至 01:20:02.48)已省略。

这一精选章节保留了来源中关于职场、领导力和职业的段落。技术性的和无关的讨论已省略。

我的笔记在可使用本地存储时,笔记会保存在此浏览器中。
第 71 节 · 访谈

Bryan Cantrill:认可、团队信任与领导责任

精选片段:强制排名、认可、团队信任、角色边界、领导者的问责,以及人际关系方面的遗憾。

你在告别帖里说过,自己并不特别想为 Sun 工作。是什么改变了你的想法?

Bryan Cantrill

Cantrill 说,他在 Sun 其他小组遇到的人都不错,但并不让人充满活力。他已经习惯了在小组里当最年轻的人,但他想要与自己有共同热情的同事。遇到 Kevin Clark 和 Jeff Bonwick,用他的话说,就像一道闪电。两人都充满活力,看到了操作系统同样可以有创新的潜力。两人都想把有问题的代码拆掉,换成漂亮的代码。

他记得那次行程回来后,他确信自己会接受 Sun 的 offer。

Sun 的职业阶梯是什么样的?

Bryan Cantrill

Cantrill 把这个阶梯描述为:技术团队成员(member of technical staff)、staff 工程师、senior staff 工程师和 distinguished 工程师。他认为 Sun 可能是这些头衔的发源地,不过 Xerox PARC 也有可能。他不确定。

他讲了一个关于名片的故事。刚入职时,他不知道自己的级别,以为“在编的工程师”就是 staff 工程师。同事们很快告诉他,那就像声称自己拿到了终身教职。他是 MTS3。大多数应届生从 MTS2 起步,但他说自己是个不寻常的录用。他曾在加拿大的一家公司做过两个暑假的内核开发。在东北部读完书、在加拿大工作后,他想来硅谷。

从 MTS3 到 distinguished 工程师,你的成长中有什么突出之处?

Bryan Cantrill

Cantrill 说,他从不关注职级、级别或晋升。他宁愿被低估晋升,也不愿被高估,他也不想表演式地工作。他做的是自己判断最重要的事:解决客户的问题,让操作系统成为他相信它可以成为的样子。他说,Sun 对固执己见的工程师很包容。1996 年,他认为 Sun 是唯一仍然投资于自家操作系统的公司,在 Solaris 内核上的工作令人充满活力。晋升只是顺便发生的。

他还讲到了关于正式评审的一个朴素发现:它们从来没有让他表现得更好。在他看来,评审衡量的是绩效,而它本应是帮助每个人做到最好的反馈。他认为每年一次的节奏是坏的。他的评审就像他自己的自评,只是加上了语法错误。他职业生涯的高光时刻从来不是晋升,而是一大批重要的工作、一个难缠的 bug,或是和某人一起做成了他们认为不可能的事。

他把 Sun 的评级档次描述为卓越(superlative)、优秀(excellent)和良好(good),他回忆大致比例为 70%、20% 和 10%。获得卓越评级就必须晋升,而 Sun 不希望晋升快于每 18 个月一次。所以经理们会给出带歉意的评审,把明显更好的工作也只评为优秀。Cantrill 说他并不在意。据他估计,大约在 2001 年,就在互联网泡沫破裂的时候,他被晋升为 staff 工程师。取决于公司业绩的公司奖金,从那以后一直是零。

Cantrill 称成为 distinguished 工程师的流程是令人遗憾且愚蠢的,不过他说的并不是自己的晋升。他说有两条路径。一条是由现有的 distinguished 工程师投票,他称其为政治过程、乡村俱乐部,不是民主的好地方。另一条是收购式招聘(acqui-hire),被收购公司的 CTO 带着头衔进来。他说,人们能分辨出土生土长的和收购来的。

就他自己的情况,据他二手了解,是由 Sun 的 CTO Greg Papadopoulos 提出的,后者曾为打造存储产品的 Fishworks 小组立项。据说 Papadopoulos 表示他预计不会有人投反对票,结果投票全票通过。Cantrill 说他很感激,也不想卷入那些政治。他认为职级具有腐蚀性,Oxide 就没有职级。

如果一位有抱负的应届毕业生想成为 distinguished 工程师,他们应该专注于工作,还是问经理下一级需要什么?

Bryan Cantrill

Cantrill 会引导他们走第三条路。他会问为什么想要这个头衔,因为达到它并不会带来意义,他称这是中年危机的配方。他会试着找出什么为这个人带来意义、什么能给他们提供动力。他的目的是让他们不再依赖外部认可。他会把他们介绍给痛苦的 distinguished 工程师,以及痛苦的有钱人,来表明头衔或金钱不可能是答案。在他看来,一旦这个人找到了真正的驱动力,工作和晋升自然会随之而来。

如果被指导者说他们想要财务自由呢?
Bryan Cantrill

Cantrill 首先会问,在这样一个高薪的领域里,这意味着什么。他指出,旧金山的任何人都可以买一杯很棒的六美元咖啡。如果它意味着再也不需要为了钱而工作,他会问,那然后呢?如果有意义的事情不挣钱,他说就用一份职业来平衡。他认为,计划先实现自由、再追求意义,是一个错误。

他借鉴了互联网泡沫的繁荣与破灭。他身边的大多数人在账面上赚了钱,又都亏掉了。他认为泡沫破裂有益处,因为为钱而来的人离开了,剩下的人必须回想起自己为什么来。他认识一些在繁荣期发了财、对科技并不太感兴趣的人,在接下来的十年里挣扎,不知道该做什么。其中一个人买了好几栋房子,却发现是个麻烦。他说,太多的人在这个行业工作,只是为了离开它。他的建议是,去做你离开之后会去做的事。他举的例子是辞掉 Meta 的工作去做播客主,主持人回答说,他们正是这么做的。

这是否与那些说自己实现了财务自由、却不知道现在该做什么的帖子相符?
Bryan Cantrill

Cantrill 说,即使目标有意义,工程中也会出现同样的问题。他称之为“产后工程综合征”(postpartum engineering)。当一个团队专注于发布某样东西时,发布就成了看待一切的镜头。Oxide 发布第一台机架之后,他曾担心这一点:那些长时间拼命努力的人可能会问,接下来做什么。他补充说,有些人面对这种空虚的反应,是追逐更多的钱。他点名 Larry Ellison 作为人们不应追求的结果的例子。

如果有人真心喜欢什么都不做呢?
Bryan Cantrill

Cantrill 开玩笑说,任何有十亿美元的人每天都会这样。接着他讲了一个他认识的 Yahoo 最早期员工之一的故事。这个人被雇来当“网上冲浪员”,帮忙整理 Yahoo 的链接目录,那是在搜索引擎出现之前的年代。此人加入时拿到了一笔股权,之后再也没有拿到过,却发了一笔横财。Cantrill 说,此人从未被晋升过,抱怨这份工作糟透了,到最后只拥有一个主题,即北加州的单板滑雪。他的结论是,无论这个人觉得什么有意义,那都不是这份工作。

Sun 的评级里没有差评档。为什么?你怎么看强制排名?

Bryan Cantrill

Cantrill 说,Sun 不使用绩效改进计划,也不用以 Intel 闻名的“排名淘汰”方式,也就是强制排名。他称强制排名是组织的癌症,尤其是当底部一定比例的人被解雇时。在他看来,它奖励的是经理们把“累赘”留在团队里,这样总有人排在最后。

他说,这在 Sun 仍然发生了。有人曾把他拉到一边,说团队里有一位较弱的同事对他是有利的,因为那个人总是得到好评级,这就给其他人留出了得到优秀或卓越评级的空间。Cantrill 称这是一套扭曲的激励。他最主要的反对在于,强制排名教人把队友视为对手。他相信团队能做出非凡的事,每个人都应该想要为团队服务,而强制排名与此背道而驰。

Sun 的股价下跌了 98%。没有大规模裁员的压力吗?
Bryan Cantrill

Cantrill 说,股价一度跌到低于公司账面现金。Sun 一度抵制裁员,Scott McNealy 不愿意裁人是出了名的。Cantrill 称那是一个错误,并说 McNealy 等得太久了。一旦裁员开始,Cantrill 回忆,他在大约八年里数过约 35 轮。有些小,有些大。

员工可以通过内部组织工具以编程方式拉取员工通讯录。他们每天运行一个脚本,称为“讣告”(obits),显示谁离开了。有些日子里,名单上有 1500 人或 3000 人。

公司知道你们有这份数据吗?
Bryan Cantrill

Cantrill 说,Sun 的优点和缺点都在于没有人真正说了算,所以如果有人知道,他也不会感到意外。他认为 Sun 是一家透明的公司,使用组织工具并没有违反任何政策。这是一种了解发生了什么的方式。

他补充说,整个行业都处于同样的境地。他把互联网泡沫的崩溃定在 2000 年底,说“9·11”使情况更糟,并说科技行业基本上死了大约五年。他把 Y Combinator 的创立定在 2006 年前后,认为这反映了资本的匮乏,不过在这一点上他尊重 Paul Graham 的说法。他称那段时期暗淡无光。

顶尖工程师之间是否在互相倾诉自己必须离开 Sun?

Bryan Cantrill

Cantrill 说,那更像是逃离一栋着火的大楼,而不是倾诉。在交易完成之前,一些员工不会成为 Oracle 的员工,会被裁掉并拿到丰厚的遣散费。他描述了一队想上名单的人。他说自己不是其中之一。他说,有些人至今仍怨恨以那种方式离开的同事。他当时在旧金山的 Fishworks 小组,对能把两家公司最好的部分结合起来有些乐观。大约 45 天后,他辞职了,因为他无法问心无愧地在那里工作。

你看到了什么,让你这么快就离开?
Bryan Cantrill

Cantrill 说,很明显这是一家截然不同的公司。他决定离开之后,Oracle 又给了他好几个理由。他强调的是客户信任。Sun 尽管有种种缺点,但拥有客户的信任。他们希望 Sun 胜出,因为 Sun 对他们坦诚相待,即使这样做并不符合自己的利益。他说 Oracle 没有这种信任。

他意识到自己无法为一家存在如此深刻不信任的公司工作。这侵蚀了他的意义感。他为在 Oracle 工作感到羞耻。在 Sun 时,他有时会觉得尴尬,但从来没有羞耻过。

你是怎么让自己被裁掉的?
Bryan Cantrill

Cantrill 说,没有网页表单。你告诉经理把你放上名单,或者四处打听了解情况。他说,这并不是关于表现不佳。而是要表明 Oracle 对你的工作不感兴趣。然后,他开玩笑说,如果 Oracle 对你做的事产生了兴趣,你反而会不高兴。

工程副总裁和 CTO 有什么区别?

Bryan Cantrill

Cantrill 在 Joyent 就这种对比做过一次演讲,但他现在不确定自己还在多大程度上认同这种区别。在这两个角色中,你都是工程领导者。他说 CTO 更面向外部,花大量时间在路上与客户见面,并开玩笑说这个头衔也可以代表“首席出差官”。工程副总裁则往往更关注工程组织的运作机制。

他加入 Joyent 担任工程副总裁,是因为公司已经有了 CTO,他说自己像在 Sun 时一样并不特别在意头衔。当创始 CTO 离开时,他确实在意公司不要从外部招人来担任这个角色。他后来成了 CTO。

为什么不从外部招聘?
Bryan Cantrill

Cantrill 说,当时公司并不需要外来的 CTO。公司撤换了 CEO,需要一位出色的 CEO,他说公司后来确实得到了。

1996 年,作为应届毕业生,你曾在 David S. Miller 的一篇长篇技术帖子下面,回了一句个人性的嘲讽。当时的背景是什么?你现在怎么看?

Bryan Cantrill

Cantrill 明确把它归入遗憾一栏。他说自己在职业生涯中几乎没有什么遗憾。当时他大约 22 岁,不知道那篇帖子会留存 30 年。他解释说,那句嘲讽指的是《周六夜现场》(Saturday Night Live)中一个冷门的小品,在其中 William Shatner 在 Star Trek 的粉丝大会上告诉粉丝们要“有点自己的生活”。他说这并不会让它变得更好,他也不是在为此辩护。那是个错误。

Miller 对此有不少话要回应。Cantrill 说他写了一篇更长的帖子,把 Miller 的论点一条条拆解。他从未见过 Miller,也没与他交谈过,并称其为非常有才华的人。他回忆自己在一本关于 Linux 的书里读到,Miller 说有个 Sun 的工程师让他“回到了自己的位置”。如果这就是 Miller 的说法,Cantrill 说这对他来说已经很宽容了。他希望两个人,作为年轻而容易冲动的人,都对此略感后悔。他称这是一堂人生课。

2022 年你发推说,创业公司的失败几乎总是因为领导不力,而不是团队的问题。这适用于最终失败的 Sun 吗?

Bryan Cantrill

Cantrill 不记得自己写过这条推文,尽管他喜欢它,也想不起当时是在回应什么。关于 Sun,他否定了这个前提。据他的时间推算,Sun 成立于 1983 年,大约在 2008 到 2009 年被收购。它曾是《财富》200 强的上市公司。许多孩子因为父母在那里工作而上了大学。他说,它没有达到自己野心的规模,但他认为 Sun 是一个成功,而不是失败。

不同的领导层能否改变 Sun 的结局?
Bryan Cantrill

Cantrill 认为可以。他列举了 Sun 没能作为独立公司存活下来的几个原因。它对互联网泡沫时期的高利润上了瘾,从未完全摆脱。它拥抱 x86 太晚。公司变得四分五裂,裁员也无济于事。他曾认为 Fishworks 可以成为一个独立的 Sun 可能开发的产品的典范,但那需要对这种转变有强烈兴趣的领导层,而 Sun 没有。

他说,事后看,大概是到了该变一变的时候了。他把它比作健康森林里的一场森林火灾,那是生命周期的一部分,使重生成为可能。他的结论是,Sun 已经成功过,已经走完了它的路,有过属于它的时代。

如果你能回到职业生涯之初,你会给自己什么建议?

Bryan Cantrill

Cantrill 的回答基本上是:别把任何事搞砸。他说自己非常幸运,很多次都在对的地方、对的时间,而且在有争议的时候相信了自己的直觉。他会害怕给年轻时的自己提建议,因为那可能会扰乱一段幸运的职业生涯,在其中他与非凡的同事们共事。他说,这些同事对他所做的一切都是不可或缺的。

他承认自己犯过错误。他说,这些错误变得起到了承重作用,十分重要,他不愿把它们去掉。

关于这份资料

Distinguished 工程师:强制排名、与 Bezos 竞争、遗憾|Bryan Cantrill

本节是对原始文字稿的转述。自动生成的字幕可能有错误。

观看原视频 ↗

开场预告片和主持人介绍(00:00.16 至 00:24.64)已省略;第一个问题保留自 00:24.64 起。

关于 Paul Graham 在 Twitter 上屏蔽 Cantrill,以及 Cantrill 对 Richard Stallman 和 Graham 的评论(34:50.40 至 36:00.40),因离题而省略。

主持人关于 Twitter、xAI 和 SpaceX 目前如何组织的评论(01:10:07.28 至 01:10:28.40)已省略;这是主持人未经核实的现状说法,不是 Cantrill 的观点。

主持人的结尾致谢、人体工学键盘推广以及征集评论的请求(01:20:41.60 至 01:21:49.36)已省略。

这一精选章节保留了来源中关于职场、领导力和职业的段落。技术性的和无关的讨论已省略。

我的笔记在可使用本地存储时,笔记会保存在此浏览器中。
第 72 节 · 访谈

Neetcode:识别团队文化与角色期望

精选片段:识别残酷竞争型与互相支持型团队、经理释放的信号、对高主观能动性的现实期望,以及离职时的谨慎。

拿到 Amazon 的第一份全职 offer 之后发生了什么?Neetcode 为什么这么快就离开了?

Neetcode

Amazon 的这份工作是大学毕业后不久,大约 22 岁时得到的。Neetcode 原本预料会是个艰苦的环境,但发现这里的文化令人震惊。团队里有大约五名同月入职的应届毕业生,以及几位精疲力竭的中级和资深工程师。Neetcode 说团队并不友善,大多数人在一年左右就离开了。

Neetcode 说,几个月后就辞职的决定并不明智,既没有备选计划,也没有积蓄,不过结果还不错。Neetcode 不会向大多数人推荐这样做。

你在 Amazon 看到了什么,让你这么快就想辞职?
Neetcode

Neetcode 把高强度的高绩效团队和残酷竞争型团队区分开来:前者里的人虽然竞争,却仍然为彼此加油,而后者的人不会。Amazon 的那个团队感觉像第二种。破冰活动很冷淡,似乎没有人在为别人加油。

Neetcode 强调这个判断的局限。Neetcode 在那里只待了很短的时间,无法说人们是否试图伤害彼此。

是什么给了你这么快辞职的信心?
Neetcode

Neetcode 称这个决定不符合自己的一贯作风。在入职 Amazon 前不久,Neetcode 还身无分文,却觉得自己站在世界之巅。入职第一天,经理就暗示团队已经精疲力竭,而情况似乎在不断恶化。

角色期望与诚实的自我呈现

Neetcode

领导力原则面试是更难的筛选关。Neetcode 承认给出的回答是符合公司心目中那种高主观能动性、敢于冒险的员工形象的,尽管 Neetcode 天生规避风险,对犯错很谨慎。

Amazon 的实际工作要求的主动性远高于预期,适应这一点花了一些时间。

关于这份资料

Neetcode:Google 与 Amazon、编程面试、离开大科技公司

本节是对原始文字稿的转述。自动生成的字幕可能有错误。

观看原视频 ↗

预告语和开场引入已在概述和第一个问题中保留一次。

约 21:52 至 22:40 的赞助商口播已省略。

从 33:42 到结尾的致谢、频道请求和键盘产品推广已省略。

这一精选章节保留了来源中关于职场、领导力和职业的段落。技术性的和无关的讨论已省略。

我的笔记在可使用本地存储时,笔记会保存在此浏览器中。
部分

用证据讲述领导力故事

让影响力、主人翁意识、判断力和成果,在职业对话和行为面试中清晰可辨。

第 73 节 · 访谈

应对客户的激励,并清楚地解释你的工作

精选片段:顾问与客户的激励、适应新公司的文化、指导,以及对工作的清晰解释。

软件工程咨询实际上涉及什么?

Asian Dad Energy

一家咨询公司提供内容管理系统、电子商务、后端集成或数字化转型等技能。团队进入客户的环境来构建系统,与客户的技术人员以及往往还有其他供应商并肩工作。

这种环境可能是动态而混乱的。顾问必须在几个角色之间找到自己的位置,快速学习,尽可能做到最好,然后转到另一个项目。他很享受这种节奏和适应的需要。

初始构建之后,谁来维护软件?

有不同的安排。长期合约(retainer)可以支撑持续多年的关系,伴随持续的维护、增强,以及对系统知识的积累。他更喜欢这种连续性,尤其是当公司从一开始就构建了这个平台时。

一次性的“构建后撤离”式合作,激励机制可能不同:代理公司需要一条业务管线来让顾问保持受雇。跨多个供应商时,客户可能积累起冗余且互不兼容的系统。之后的集成项目就不得不把由此产生的拼凑物缝合起来。两种模式他都遇到过,它们带来不同的技术挑战和焦虑。

被丢进另一家公司的文化里是什么感觉?

Asian Dad Energy

这取决于客户。他见过僵化的层级制度、合作型的环境,以及内部创业团队。仅有技术能力是不够的:顾问必须理解客户的各个团队之间以及与外部供应商之间是如何相互关联的。

随着资历增长,驾驭这种环境并为公司的下一次合作开辟空间,可能成为工作的一部分。他自己的工作逐渐从亲手设计系统,转向向高管推销愿景。早期的学习和适应令人愉快;后来的转变最终让他精疲力竭。

是什么导致了倦怠?

推销给高管的顺畅愿景,与实现层面的现实之间的落差。图表承诺了一条从客户洞察到决策和收入的清晰路径,而底层的工作却涉及不兼容的系统、无人维护的代码、损坏的集成以及沟通不畅的团队。作为负责让这些世界对接的技术总监,他觉得这个落差令人筋疲力尽。

实现质量很差时,咨询公司仍然能拿到钱吗?

Asian Dad Energy

他围绕自己经历的数字化转型早期阶段来回答。高管们能看到明显的改进,比如把模拟的工作流程换成带送达通知的移动端体验,而对表面之下的变通做法几乎没有可见度。

从没有数字化工作流程到有一个能运转的流程,即使实现不完美,也能产生可观的价值。这并不意味着架构或运营质量很好;而是意味着一个可见的业务结果,足以让合作在最初看起来是成功的。

是什么阻止顾问夸大工作的质量?

Asian Dad Energy

嘉宾强调工程上的诚信:就质量向客户说实话,即使大笔投入产生了糟糕的结果。当客户无法完全判断实现的好坏时,个人的底线和对工作的自豪感就很重要。

Peterman 提出了声誉和激励的问题。一家反复交付糟糕成果的公司,可能会失去未来的客户。他还把客户有限的技术可见度,与工程组织作了对比:在后者那里,懂技术的领导者会评估运营质量并给予奖励。

嘉宾同意,糟糕的工作可以暂时被掩盖,但描述了他所认识的导师、同事和领导者中有一种强烈的在乎的文化。他的回答既依靠对工艺的人性承诺,也依靠对公司的长期后果,而不是声称激励问题就此消失。

为什么有些员工对顾问有负面反应?

Asian Dad Energy

他认为这种反应有一部分来自与裁员相关联的管理咨询,而不是技术咨询本身。对人员和流程的研究可能导向冗余岗位和裁员的决定,使咨询团队的到来让人感觉有威胁。

在他自己的技术咨询项目中,人们彼此熟悉之后,大多数关系都变得积极。他把这种情境所造成的恐惧,与认为相关个人必然不乐于帮忙的看法区分开来。

你的职业生涯中,哪个阶段带来的成长最多?

Asian Dad Energy

从高级软件工程师到高级企业架构师的这段历程,是他最看重的时期。它把他的工作从编码扩展到设计、集成和理解多个应用。出色的导师引导了这种成长。当总监级的工作变得更多是帮助各位负责人和向高管推销之后,他发现乐趣减少了,个人成长也减少了。

导师的哪一课让你印象深刻?

Asian Dad Energy

保持灵活。适应摆在你面前的技术栈、交付流水线、客户团队和不断变化的情况。在咨询行业,这种能力既是生存技能,也是持续学习的方式。

你是从什么时候开始觉得跟上节奏变难了?

对他来说,大约四十岁之后,学习新框架变慢了。他明确承认其他人有不同的经历,包括在五十多岁仍然学得很快的人。这是他个人关于沮丧与适应的叙述,而不是对年长工程师能力的普遍论断。

工程师如何更清楚地解释自己的工作?

Asian Dad Energy

放松你的身份认同与主题之间的联系。他记得一位技术出色的工程师,对一个缓存优化项目依恋得太深,以至于很难向技术背景较弱的听众解释清楚。

退后一步,选择听者能够使用的解释层次。以与自己技术思维相同的细节程度来讲,可能会掩盖要点。更简单的解释应该帮助听众理解重要的是什么,以及你需要的决定或支持。

你会对刚开始时的自己说什么?

Asian Dad Energy

努力工作,持续学习,保持灵活。这些习惯把早期的咨询职业与不确定的下一个篇章联系了起来。

关于这份资料

25 年职业生涯后的大科技公司裁员真实故事:焦虑与不为人知的现实

本节是对原始文字稿的转述。自动生成的字幕可能有错误。

观看原视频 ↗

开场预告蒙太奇(00:00–00:49)重复了后面的讨论。

结尾致谢、频道反馈和键盘推广(49:28–50:27)已省略。

这一精选章节保留了来源中关于职场、领导力和职业的段落。技术性的和无关的讨论已省略。

我的笔记在可使用本地存储时,笔记会保存在此浏览器中。