独家新闻:Netflix历史性地引入软件工程师级别
原文链接: The Scoop: Netflix’s historic introduction of levels for software engineers (翻译:钟涛)
Netflix 正在考虑使用以下工程师级别:
- 工程师 1 / Engineer 1
- 工程师 2 / Engineer 2
- 高级工程师 / Senior
- 资深工程师 / Staff
- 首席工程师 / Principal
具体细节仍在制定中,一份提案已在公司内部传阅。已知的是,这项提议带来了许多问题,特别是关于现有工程师是否直接将被定义为资深工程师或者首席工程师。最初的提议是将每个人的级别定为高级工程师,随后提名晋升到下一个级别。
在过去的25年中,公司在没有级别系统的情况下表现良好,并发展到接近2000名软件工程师的规模,并且他们都是高级软件工程师,那么公司为什么要引入此级别系统呢?我认为当前系统存在以下问题:
当 Netflix 在 2021 校招季时,没有工程师级别系统的问题开始显现。这些刚毕业的大学生们无论如何都不是高级工程师,所以他们被授予了软件工程师的头衔。Netflix 面临的一个问题是为这些新毕业生定义职业规划。一种可能的方法是不断晋升为高级软件工程师级别。但这种方法的问题是,新毕业生需要多长时间才能成长为高级职位。许多人更可能是离开公司,而不是等待数年的晋升。
Netflix 为了留住新毕业生,因此他们创造了一个“中级”职业职位,大多数公司称之为 “软件工程师 2”。这是大多数工程师在大约2年内可以到达的位置。再过2-3年,他们将成长为高级职位。
Netflix 面临的另一个挑战是如何不断吸引高级人才。由于在 Netflix 每个人都是高级软件工程师,因此大型科技公司的高级工程师对 Netflix 的岗位并不感兴趣。这并不是说 Netflix 招不到大型科技公司的高级工程师。由于 Netflix 提供最于市场的薪酬,他们依然可以从其他大型科技公司招聘到高级工程师。尽管如此,由于缺乏正式的员工级别系统,大型科技公司的许多员工倾向于认为 Netflix 不需要高级工程师以上级别的人才。这与 Facebook 有些不同,每个人都有软件工程师的外部头衔,但在内部,Facebook 有更细粒度的级别系统,比如从E3一直到E10。
Netflix已经向工程师澄清了为什么要引入软件工程师级别。在一份内部文件中,领导层分享了:
Netflix 在会员、员工和整体复杂性方面不断发展壮大。虽然业务已经发生了变化,我们的组织也在发展,但我们的工程师团队并没有发生变化。我们认为,我们需要额外的结构调整来改进团队组成,以最大限度地提高人力成本预算的影响,促进薪酬的一致性和透明度,并创建清晰的指导和识别增长。我们的目标是提供支持业务创新和Netflix长期成功所需的创新技术解决方案,成本与业务增长相称。为了帮助实现这些目标,我们计划引入IC职业路径。引入的级别将适用于包括软件工程师、安全工程师、测试工程师、技术项目经理等在内的员工。
在简短的更新中,领导层更简洁地概述了原因:
引入IC职业路径解决了我们的一些关键挑战,使我们能够:
- 改进团队组成,以最大限度地发挥人力成本预算的影响。
- 提高薪酬的一致性、严格性和透明度。
- 创造清晰和被认可的职业发展路径。
Netflix 引入软件工程师级别背后的主要驱动因素似乎是成本。在另一家大型科技公司,按照资深工程师或首席工程师的预算,向每个人支付高级工程师的工资是不合理的。我采访了几位来自拉丁美洲的高级软件工程师,他们的年收入分别为15万美元,42.5万美元,52.5万,80万美元。
以下是对应工程师级别:
- E3:工程师 1 / Engineer 1
- E4:工程师 2 / Engineer 2
- E5:高级工程师 / Senior
- E6:资深工程师 / Staff
- E7:首席工程师 / Principal
8月10日星期三,“大揭秘”发生了。每个人都可以看到其他人的级别。在此之前,人们只知道自己的级别,而不知道其他人的级别。
在过去几个月里,一直在进行工程师级别的调整。我与一位经理进行了交谈,他希望将大多数人的级别定在E6职位上,因为这些人在公司任职多年,他们的工作影响足以证明这一点。但并没有得到公司总监的支持。最后,这位经理只让他们团队的20%达到E6级别。其余的保持为E5。
级别之间的分布情况如下所示。它来自Netflix组织的各个级别,大约150名工程师:
大多数软件工程师被重新调整为E5(高级工程师)。有些人得到了E6,很少有人得到E4 或者 E7。
在过去的几个月里,随着级别系统的推进,许多软件工程师离开了 Netflix。在许多情况下,他们离开的原因是他们不满意自己为何只有 E5,而不是他们认为的更高级别。
许多离职的工程师都是从另一家大型科技公司加入Netflix的,他们在以前公司都属于资深甚至首席工程师。在加入 Netflix 时,他们很高兴地接受了高级工程师的头衔,因为他们知道每个人都是这个头衔。许多人更喜欢这个头衔,因为没有级别高低之分。然而,随着新的级别调整,一些以前是资深甚至首席工程师现在被级别调整为E5(高级),这促使他们寻找一份具有他们习惯头衔的工作。
在Netflix的一项内部调查中,“E5工程师们,你们打算离开吗?”。有24%的受访者表示他们计划留下来。在另一项调查中,“你对自己的级别感到满意吗?” 68%的受访者表示不满意。
我会仔细对待这项内部调查结果,因为他们倾向于过度反映负面情绪。然而,对获得E5的不满是显而易见的。
软件工程师最担心的是E5级别的薪酬问题。目前在美国,E5水平的员工薪酬总额在40万至80万美元之间。那么,那些原先收入较高的人会怎么样呢?
Netflix员工很快就会发现,因为年度薪酬审查已经开始。年度薪酬审查从8月22日至10月21日。这是决定薪酬数字和加薪的时候。10月24日至11月11日期间,经理将向所有员工传达新的数字。
绝大多数Netflix员工预计,在晋升到下一个级别之前,他们的薪酬将被冻结。这是Netflix可能采取的最有可能也是最明智的方法。削减薪酬会鼓励自然减员,如果看到他们这样做,我会非常惊讶。
级别的引入也可能标志着Netflix匹配外部报价和鼓励员工面试的结束。当Netflix没有级别时,公司会鼓励员工了解他们的市场价值并进行面试。但前提是他们将获得的数据分享给Netflix,以便公司进行调整。有了适当的级别,这些级别都有内部预算。
Netflix推出的级别系统标志着为每个人“一个级别”的政策结束。我印象深刻的是,该公司能够扩展到近2000名软件工程师,只有一个单一级别,没有内部级别。虽然依然有公司实行单一级别,工程师的数量也达到了100人,但Netflix保持单一级别的时间更久,人数更多。
值得思考的是Netflix从单一级别中获得的好处:
- 招聘 :吸引更多“扁平”等级观念的人才。
- 独特的文化 :Netflix创造了一种独特的文化,这种单一级别的规模在其他任何地方都看不到。
- 总是支付市场最高价格的薪酬 :通过鼓励员工进行外部面试,并匹配外部报价,Netflix一直在支付市场最高价格的薪酬。
以下是我对这个单一级别迟早会崩溃的原因的看法:
- 费用 :Netflix为其员工支付了相当多的费用,但没有对他们设定明确的高期望。当然,当有内在动机时,设定期望并不重要。这就是为什么这种设置可以很好地适用于小团体。随着小型初创企业成为大型企业,这种内在动力将慢慢消失。
- 无法雇佣经验不足的工程师 :由于只有一个级别,Netflix从来就不是一个雇佣初级软件工程师的地方。这也可能影响文化。大多数大型科技公司依靠实习生和新毕业生招聘渠道来培养内部人才。Netflix刚刚买下了这些人才,为从其他地方获得的技能支付了溢价。这也涉及成本方面。
- 预期不明确 :当具有不同经验和不同技能水平的人被给予相同的期望时,这会导致某种程度的混淆。这不仅适用于绩效评估,也适用于日常工作。对于一个拥有四年经验的工程师来说,同样的期望不能应用于对一个拥有二十年履历的有经验的工程师的期望。
- 深入理解Redis
- 深入OpenTelemetry指标
- 独家新闻:Netflix历史性地引入软件工程师级别
- Cilium母公司宣布完成4000万美元B轮融资
- 深入理解四种Prometheus指标
- 对比 Istio,Linkerd 和 Consul
- 大规模分布式系统中的级联故障
- 最佳软件架构
- 服务网格的eBPF ? 是的,但 Envoy Proxy 将继续存在
- eBPF、sidecars以及服务网格展望
- Apple M2裸片和架构分析--成本大幅增加及基于IP块的 A15 芯片
- 如何扩展K8s API-K8s与Django
- 两位将军的问题
- Komodor 想让每个工程师都成为 Kubernetes 专家
- 为什么一次会议的成本比一台MacBook Pro还高—减少会议中的开发人员的商业案例
- Go编程语言和环境
- Kubernetes联合创始人Joe Beda:“软件开发是一项团队运动”
- 如何使用Go调用Kubernetes API-类型和普通机制
- Prodspec和Annealing
- 从零开始搭建SRE