对许多程序员来说,这一年多来的全球就业环境,可能光是听着就能感到“刺骨寒意”:
2023 年,谷歌裁减了 1.2 万名员工;步入 2024 年,谷歌母公司 Alphabet 工会在 1 月称,作为削减成本措施的一部分,谷歌已解雇了硬件、语音助手和工程团队的 1000 名员工。
微软在 2023 年公布了裁员 1 万人的计划,宣称要专注于 AI 等重点战略方向;今年 1 月,微软又表示在其游戏部门裁员约 1900 人。
1 月 15 日,苹果被曝计划关闭位于圣地亚哥的一个与 AI 有关的研究团队,涉及 100+ 人;到了 2 月底,知名科技记者 Mark Gurman 又援引知情人士称,苹果取消了长达十年、投入数十亿美元的电动汽车计划,参与该项目的近 2000 人或转岗或被裁。
……
不仅如此,近日 Reddit 上一位 43 岁硕士码农(ID:different-waters)发布的热帖标题更是“触目惊心”:《拥有 17 年工作经验的我,连面试机会都没有》。
“我既沮丧又害怕。”这位程序员解释道,去年他休完病假一个月后就被解雇了,至此已失业一年多了。虽然拥有硕士学位和 17 年的编程经验,但他已经 43 岁了:“在这一点上,我想我应该很难被公司聘用。”
在这一年多的求职过程中,他经常与来自谷歌、Facebook 等公司的人竞争同一个岗位,也从中发现了一个残忍的现实:“你必须有经验,但经验不能太多,也不能是中年人,而且绝不能以任何理由停止工作,否则你就会被别人视为「废物」。”
事实证明,这位程序员的情况绝非个例。
在技术领域拥有超过 14 年的专业经验的 Dmitry Kudryavtsev 本周写了一篇文章,他总结了这类程序员的现状,并将其称作“高级软件工程师的诅咒”:
被诅咒的高级软件工程师,是指担任高级工程师的时间太长,以至于在下一次求职时,发现自己被尴尬地夹在两个处境之中:
他们的资历太高,以至于无法被聘用为高级工程师(由于年龄或预期薪资的原因)。
他们缺乏领导经验,也无法受聘担任领导职务(比如技术领导/技术负责人等技术职位,或团队领导/工程经理等管理职位)。
因此,他们被诅咒在高级职位之间徘徊,无法进入技术市场。
以下为部分译文:
01
“诅咒”是如何形成的?
很多人都说,如果你想加薪或提高职称,最好跳槽去另一家公司:有些公司不愿意给你升职,而其他公司可能会根据你的工作年限和面试通过情况,很乐意给你升职。
但并不是每个人都会跳槽。有些人会因为懒惰、安逸或其他原因而被困在同一家公司的同一个职位上——不幸的是,这些人很容易受到一种诅咒,我称之为“高级软件工程师的诅咒”。
在具体解释这种诅咒前,我想先澄清一下为什么诅咒主要适用于高级工程师。
我所说的资历,指的是根据公司的职业发展阶梯而不是工作年限确定的影响力和范围。如果看一下工程师的职业生涯,我们可以将其一分为二(至少从我的经验来看是这样): 个人贡献(称为 IC)和领导能力。而包括高级工程师在内的所有职位都属于 IC 定义的范畴。
IC 是指从事自己工作的人。他们完成任务、修复漏洞、履行团队职责(如值班安排)。他们可能会改进产品或代码库,提出自己的想法,指导经验不足的工程师,表达担忧并提出解决方案……但他们的工作范围主要限于个人/团队层面,不会产生任何跨团队或组织层面的影响。
相对的,当你跨越自己团队的界限时,你就进入了领导职位。在一个健康的组织中,领导职位分为两种:技术领导和人事领导。技术领导包括主任工程师、技术负责人、首席工程师、架构师等,人事领导包括团队领导、工程经理、小组领导等。你需要达到高级职称才能晋升到领导职位,至于你具体会晋升为技术领导还是人事领导,这取决于你的意愿以及你与经理建立的职业发展路径。
但是,如果你到了高级职位却无法晋升,该怎么办呢?卡在某个级别的原因有很多,但归根结底不外乎两种:一是你失败了,二是公司搞砸了。你失败了,可能是缺乏争取晋升的决心;公司搞砸了,可能是缺乏合适的晋升路线、频繁的组织变革打断了晋升周期、无法正确确定晋升人选等等。
因此,如果你在高级职位上呆得太久,你就会受到“高级软件工程师诅咒”的诅咒。诅咒具体是这样的:
被诅咒的高级软件工程师,是指担任高级工程师的时间太长,以至于在下一次求职时,发现自己被尴尬地夹在两个处境之中:
他们的资历太高,以至于无法被聘用为高级工程师(由于年龄或预期薪资的原因)。
他们缺乏领导经验,也无法受聘担任领导职务(比如技术领导/技术负责人等技术职位,或团队领导/工程经理等管理职位)。
因此,他们被诅咒在高级职位之间徘徊,无法进入技术市场。
你问我怎么知道?因为我是根据自己的经验来判断的。我是一名拥有 14 年以上工作经验的高级工程师,我之前从不对职称感兴趣,也不会为了提高职称而跳槽,只是单纯喜欢且擅长我的工作。
然而,当我发现自己已经精疲力竭时,想要换一个工作环境后,我失败了。在 6 个月的休假期间,我申请了 100 多个职位,最终得到了一大堆通用的拒绝回复。那些没有拒绝我的人中,有人告诉我,我对高级职位来说过于资深,但对领导职位来说又不够格。当然,我本可以责怪 2023 年的技术衰退,但我也从自身上找了一些原因,希望其他工程师不要犯和我一样的错误。
02
如何避免“诅咒”?
有两种方法:要么按规则行事,要么就干脆退出这个游戏。
你必须遵循企业的规则,沉迷于企业的职业阶梯。你需要遵循晋升周期,确保自己不会在同一个级别停留太久。如果你在一个级别停留了太久,那你就保持主动,考虑辞职并换一家公司,确保提升你的职称。
我知道这听起来很残酷,但这就是你的职业生涯。一般来说,公司不会太在乎你。当你自然而然地晋升到下一级时,你的经理可能会换,或者整个公司可能会重组。而其他比你更积极、更有要求的人获得晋升时,就会落在后面,慢慢陷入“高级软件工程师的诅咒”。
另一个选择是,完全退出这个游戏,找一家完全不在乎职称或者没有绩效考核仪式的公司。这很难,但这样的公司确实存在,我就是这么做的。我刚找到一家本地创业公司(事实上,是他们找到了我),这家公司不注重头衔和其他企业仪式,我们没有每日例会或每月回顾,只是从积压的工作中抽出项目来做。
还有一个可以考虑的选择是,通过自由职业或承包合同转为自营职业。没有人在乎你的头衔是什么,也没有人在乎你有多少年的工作经验,只要你能以合理的价格及时完成工作就可以了。
以上决定没有好坏之分。虽然我不认为自己会回到传统的企业环境中去,但我也能理解为什么总有人想在 Meta 或谷歌等公司工作。我只能说,如果你真的选择了这条路,请记住你需要遵循某些规则,仅仅“写代码”是不够的。
原文链接:https://www.yieldcode.blog/post/the-curse-of-the-senior-engineer/