了解你的工程师薪资从何而来:关于公司盈利和工作价值的思考
sean goedecke
了解你的工程师薪资从何而来
最近美国联邦政府出现了一波解雇潮,很多人都在幸灾乐祸,嘲笑那些投票给 Trump 的联邦雇员,现在才发现他们投票把自己给投没了。他们对_自己的工作到底是什么_,认知模型居然如此糟糕?我认为,很多软件工程师的认知模型也同样糟糕,而且经常做出相当于投票让自己被解雇的事情。
我不打算引用那些推文,但我经常看到这样的故事:“我说服了我的蠢老板,_终于_让我只做技术债务相关的工作,结果你猜怎么着,几个月后他们就把我解雇了?” 或者 “我为了这个资金不足的项目拼命工作,但绩效考核还是不好”。又或者 “太不公平了,我一直没能升职 - 看看我做的这些出色的 accessibility/standards/open-source 工作!” 基本的结构是这样的:
- 一位充满希望的工程师加入了一家科技公司,渴望让世界变得更美好
- 他们全身心地投入到各种不赚钱的工作中(改进 FCP 性能、更好的屏幕阅读器支持、重构)
- 他们的经理拼命地试图将他们引导到赚钱的工作上,从而引发了一场漫长而令人沮丧的权力斗争
- 最终,这位充满希望的工程师放弃了,不高兴地专注于盈利产品 X,或者
- 这位充满希望的工程师离开或被解雇,然后在 Twitter 上抱怨他们重要的工作不被重视
这个故事中的抱怨,基本上等同于 “我真不敢相信 Trump 会解雇国税局的我,我可是投票给他的”。它代表着对科技公司_是什么_的根本误解。
科技公司是什么?
那么,正确的理解是什么呢?让我们从最简单的开始。科技公司由一小群人经营,目标是赚钱1。成功的科技公司,顾名思义,会赚很多钱。他们雇佣软件工程师,是为了继续做那些赚钱的事情,或者做能赚更多钱的新事情。
在成功的科技公司,工程工作的价值与它为公司创造的利润成正比(直接或间接)。 Patrick McKenzie 有一篇精彩的文章对此进行了阐述:
利润中心是组织中带来收入的部分:律师事务所的合伙人,企业软件公司的销售,“华尔街的主宰”,等等。成本中心,嗯,就是其他人。你真的应该依附于利润中心,因为它会给你带来更高的工资、更多的尊重,以及对你来说更有价值的更多机会。这并不难:一个聪明的高中生,只要读一段对业务的简短描述,通常就能识别出利润中心在哪里。如果你想在那里工作,就为它工作。如果你不能,要么 a) 去别处工作,要么 b) 加入公司后想办法调到那里。
公司越接近利润中心,就越重视工作。我不认为你必须_在_利润中心工作(在大多数科技公司,这意味着放弃你的工程师头衔和角色)。但是,你需要证明你对利润中心的价值,这样你自己的工作才能被重视。我不是说你必须这样做才能保住你的工作。公司会支付给很多不创造价值的人,有时甚至很多年。我想说的是:
如果你的工作与公司的利润没有明显的联系,你的职位就是_不稳定的_
换句话说,你可能依赖于一位善良的经理(或 CEO),他们个人重视你的工作。当他们离开时,你就有麻烦了。或者你依赖于一家大公司,他们不太关心一个小型团队是否带来利润。当他们开始关注时,你就有麻烦了。或者你依赖于一种文化氛围,你的工作具有暂时的文化吸引力(例如,2000 年代初的生物燃料)。当这种情况发生变化时,你就有麻烦了。拥有稳定职位的唯一方法是与公司赚钱的方式联系起来。
将你的工作与利润联系起来
为了知道你的工作是否与公司利润相关联,你需要了解两件事:
- 你的公司的商业模式是什么?他们如何赚钱?
- 你的工作如何支持商业模式?
上市公司必须每年公布其商业模式和财务状况,这意味着你可以直接去阅读这些信息,或者阅读商业博客、杂志等上面人们对此的解读。(如果你在一家知名公司工作,你可能可以直接问一个 LLM)。如果你在一家私营公司工作,这可能会更难,但通常不难掌握要点。例如,Valve 从哪里赚钱的大致情况非常清楚:是 Steam,而不是他们的第一方游戏。
成为一家公司的工程师将使你对商业模式有更多的了解。例如,你可以运行分析查询来识别十大客户。通常你不需要直接运行这些查询 - 它们会在产品和业务人员之间共享,在大多数工程师不感兴趣的频道中。尝试了解商业模式是值得的。例如,如果我在 Valve 工作,我希望得到一个比 “是 Steam” 更清晰的答案:我想知道哪种游戏最赚钱,新用户和现有用户之间的分布等等。
一旦你了解了你的公司如何赚钱,你就可以衡量你的工作如何支持它。如果你构建了一个很多人购买的产品,这很容易:计算你的产品占公司利润的百分比。如果你不构建产品呢? 假设你在 accessibility 团队或德国本地化团队。 在这种情况下,你应该弄清楚为什么你的公司要投资这些东西。 例如,从事 accessibility 工作可能是有价值的,因为:
- 它使我们能够向(例如)视障客户销售产品,从而将总潜在客户群增加 X%
- 它使我们能够满足特定的监管要求,从而使我们能够向大型企业客户(例如政府)销售产品
- 它使我们看起来不错,或者至少避免了我们看起来很糟糕
- 这只是一项值得做的好工作,因为它是一件正确的事情
有些理由只有在情况好的时候才重要。如果公司经营良好,并且拥有超出其承受能力的资金,那么最后两点可能值得花钱。(如果公司经营_非常好_,就像 2019 年的许多公司一样,“任何事情”都值得花钱,以便积累工程师)。当利率上升时,这些理由就会消失。
这些理由对某些公司比对其他公司更适用。例如,如果你在 Google 工作,第一个理由很重要,因为将价值约 2700 亿美元的客户群增加 2% 会释放约 55 亿美元的新收入。如果 Google 支付给你的团队的总金额低于 50 亿美元,那么你的团队可能赚足够的钱来证明其存在的合理性。但是,如果你在一家收入以百万美元计的小公司工作,那么这种计算方式就相反了。
这有一个明显的后果:如果你希望你的工作受到重视(即,你不想被重新安排或解雇),并且你想从事 personally-satisfying 的功能,如 accessibility、UI 优化或任何其他与利润没有直接联系的东西 - 你需要去一家非常赚钱的公司工作。
交付边际价值
当我写到这个想法时 - 非常大的科技公司通过交付边际功能来略微扩大其庞大的潜在客户群 - 一些读者发现这个想法令人沮丧。 也许是这样! 但至少这是一种理论,说明如何才有可能从事这些类型的功能并获得报酬。 另一种理论是这样的:
- Accessibility、干净的代码、良好的性能等等都是 Good Features
- Good Companies 关心 Good Features
- 我只需要继续寻找,直到找到一家 Good Company 而不是 Bad Company
我不认为一个思考过这个问题的聪明工程师会相信这一点。 但是很多聪明的工程师不喜欢思考他们的工作如何与公司利润联系起来,所以他们的隐含信念通常加起来类似于这样。 这些工程师通常会经历我在这篇文章的介绍中提到的五个步骤。 我很讨厌看到技术实力强、积极性高、心地善良的工程师因为完全可以预测的原因而一头扎进倦怠。
总结
- 很容易陷入这样的陷阱:认为你的工作获得报酬是因为它很重要
- 你获得报酬是因为你的工作能赚钱。如果你的工作对此没有贡献,你的职位本质上是不稳定的
- 如果你想要一个稳定的职位,你应该尝试弄清楚你的工作如何与公司利润联系起来,并尽可能加强这种联系
- 各种看似无利可图的工作都能赚钱,尤其是在大型公司,因为小百分比也是一大笔钱
- 如果你想从事看似无利可图的工作,你最好为大型成功的科技公司工作
- 通常还有其他目标,例如积累政治权力或以某种令创始人 personally-satisfying 的方式改变世界,但金钱是所有相关人员共同的目标。 ↩