Linux 之父出席、干货分享、圆桌讨论,精彩尽在 OpenCloudOS 社区开放日,报名戳 了解详情
写点什么

我放弃了年薪 200 万的岗位,因为“复制粘贴”的技术活让人厌恶

  • 2022 年 3 月 09 日
  • 本文字数:4893 字

    阅读完需:约 16 分钟

我放弃了年薪200万的岗位,因为“复制粘贴”的技术活让人厌恶

Michael Lin 跟随父母移居美国后,先后在 Netflix 和 Amazon 担任工程主管。2013 年,他从 Amazon 实习生做起,次年正式入职。2017 年,他进入 Netflix 担任高级软件工程师。 在 Netflix 待了近 4 年后,不顾父母、朋友的反对,毅然辞职。他在自己的文章里讲述了自己离职的原因。

 

曾经的我,也以为自己会永远留在 Netflix。这里有着傲视同侪的薪酬待遇、充分的自由空间与企业责任、灵活宽松的假期政策,作为员工还有什么可不满意的?

 

但我还真就不满意,而且在 2021 年 5 月离开了 Netflix。大家都觉得我疯了,我父母最先跳出来反对:

 

 “低头干活,你能不能踏实一点!"

 

“要懂得尊重自己得到的东西,懂得感恩。”

 

作为经历过中国五、六十年代艰苦生活的一代,他们完全无法理解我为什么放弃这份工作,甚至认定我辜负了他们为了移居美国而付出的无数艰辛。不光是他们,我的朋友也对此深表疑惑。

 

“公司不是包餐吗?”

 

“那可是 FAANG 哦,一线大厂!”

 

“累了就歇会,不用辞职这么夸张吧。”

 

但这些丝毫没有动摇我的意志。唯一对我有所触动的意见来自 Netflix 公司带我的前辈,他说我不该在没找到下家的时候就裸辞。这么一来,“我在 Netflix 拿到的高薪恐怕很难延续到下一份工作当中。”

 

我考虑了三天之后,还是选择离开。现在距离辞职已经过去八个月,我百分百确定自己做出了正确的决定。

 

借今天的文章,我想跟大家聊聊自己逃离这副“金手铐”的三个理由,解释为什么一年近 50 万刀的薪酬还是没法让我安心做这份自己不再喜欢的工作。

 

角色转换失败


受到新冠疫情冲击,Netflix 于 2020 年 3 月开始居家办公,我所喜爱的一切——社交、同事、津贴,全都没了,只剩工作。

 

很大一部分人都是因为喜欢亲切的同事、良好的氛围而坚持留在一家公司,新冠把这些美好的部分击得粉碎,让不喜欢的部分成了全部。

 

刚入职的时候一切都很美好。我在 Netflix 工作了快四年,一路成长为高级软件工程师。刚开始我的心态很平和,把工作理解成一边拿高薪、一边学技术。所以前一年半里,我一直非常喜欢这个岗位。

 

Netflix 最核心的吸引力就是一切产品决策流程均向员工透明开放,这与苹果和 Amazon 那种“讳莫如深”的管控思路形成了鲜明对比。这里每份产品决策备忘录都向员工开放,工作体验很像是带薪学习 MBA。

 

但之后的几年,工作内容就如同复制粘贴般毫无新意。

 

需要启动新的微服务?复制粘贴一项旧服务,调整一下业务逻辑,然后就成了。

需要新的 A/B 测试?复制粘贴一项旧测试,调整一下测试变量,然后就成了。

需要新的邮件测试?复制粘贴一项旧……

 

好了,大家应该明白了。

 


Netflix 特别喜欢 A/B 测试。上图所示,为公司主页欢迎词的四版测试稿

 

毫无疑问,Netflix 的工程体系运作得相当流畅,但我认为更值得思考的是各个项目到底有没有很好地利用工程资源。所以我想调到产品管理部门去,尝试引导一点变革和探索。

 

之后的两年,我不断在公司各个部门间跑来跑去,建立人脉、与新同事们交流,不断申请我能接触到的各种岗位。

 

每次申请新职务,我都会重申自己总结出的项目管理优先事项:客户服务、开发者生产力、工作室、合作伙伴关系与通知。我希望能在自己的团队中设置新的职能角色,专门管理不断增长的基础设施。我还提议其他项目经理把更多工作委托给我,腾出更多时间发展自己的组织。但这些提议最终都没有下文。

 

我花了两年时间在 Netflix 里跑来跑去,希望能拿到一份项目经理的职位,但最终没能成功。

 

回顾这段时光,我发现自己也有错误。如果再努力一点,没准我就如愿以偿了。但必须承认,Netflix 组织结构上的问题也制约着我的选择,而且几乎很难撼动。Netflix 并没有适当的流程来帮助员工实现职能角色的横向转换,我也从没见过任何一名工程师能在这里成功转岗为产品经理。

 

领导确实给了我不少跟产品经理合作、有助于培养产品技能的机会,对此我深表感谢。但跟产品经理合作和担任产品经理完全不是一回事,这就如同只读教材、不下水,我们永远学不会游泳。

 

积极性受挫,绩效下滑

 

这段失败的项目管理转型旅程深深打击了我的内心,高薪反而变得令人厌恶。之前的我是一边赚钱、一边学习,而现在就只剩下赚钱了。

 

这时候,我个人的兴趣也开始跟团队目标出现分歧。团队开始朝着更注重工程的方向推进,主要侧重于平台迁移。而我的个人兴趣则转向创业和产品管理,所以我的份内工作没法给自己的未来规划带来任何有意义的指引。

 

我开始感觉自己又犯了跟之前一样的职业错误——在一份并不适合自己的工作中待得太久。

 

这是个严重的错误,比很多人认为得要严重很多。假定我们一生的职业生涯总共做了五份工作,那如果你明知道自己不该继续、但还是在某个岗位上又待了两年,就意味把十年时间浪费在不感兴趣的事情上面。这已经不叫浪费时间了,这纯粹是浪费生命。每天看见公司的一堆提醒消息,我就头痛。

 

积极性下降后,我的绩效表现也不如以往。我越来越懒得参加会议,不想再做任何跟产品管理没有直接关系的工作,甚至回应工作消息的速度都变慢了。最后,我每天的唯一目标就是不被开除。这个目标我完成得很好、完成得恰到好处,刚刚跨过及格线、但又没浪费更多力气……这本身就是种悲哀。

 

很遗憾,我的变化都被经理看在眼里。经过两个多小时、期间冲突不断的绩效评估之后,他把话挑明了:1)我得多参加目前的迁移项目;2)我得多跟同事沟通。用他的话说,“要想继续留在团队里”,就必须做好这两件事。

 

但突如其来的新冠疫情为全世界,也为我自己敲响了警钟。

 

面对数百万个鲜活生命的逝去,我意识到生命可贵、未来无价。如果再拖延下去,也许我还没实现任何梦想就成了病毒侵袭中的下一个牺牲者,而且拖得越久,风险就越大。有什么想做的,必须马上去做!

 

我意识到金手铐所对应的这份沉重成本,这成本是我的青春、我的时间、我的生命。很遗憾,这些成本难以确切量化,但薪酬收入却可以……虽然前者的价值明显更高。品牌形象、心理健康或者一段美满的爱情都是这样,难以量化却又至关重要。

 

我不能再忽略职业规划这个大问题了,我必须尽快辞职。

 

想走倒是很简单,毕竟我的工作表现只要再差一点、就可以被直接开除了。但这样不行,我得拿遣散费。所以几周之后,我和经理单独谈了这件事,讨论了“裁员遣散费”的问题。

 

我开诚布公地说道:“我的表现不好,是因为我的积极性受挫。积极性受挫,是因为我发现个人职业目标跟团队的发展方向背道而驰。所以咱们别再拖了,直接谈谈 Netflix 的裁员遣散费吧。这样 Netflix 其实能省不少工资,你也能更快找到适合团队的新成员,我则去做自己想做的事。三赢,不是吗?”

 

在经理跟 HR 通过气后,我、经理和 HR 又组织了最后一次会谈。他们同意主动裁员,我则正常拿到遣散费。我,终于自由了。

 

曾经的“十倍工程师”

 

有的网友评价 Michael 的行为“被宠坏了”,也有人支持和赞扬。事实上,Michael 曾经一度也称得上是一位“十倍工程师”,他在 Amazon 的职级达到了 L7。从他对如何成为“十倍工程师”的态度上也可以看出,他非常重视个人心态问题。

 

他认为,“十倍”工程师和初级工程师之间的主要区别还是在心态上。前者使用正确的工具、能提出正确的问题,而且知道要如何确定工作优先级。这些都是非技术人士也能掌握的技能,跟编程本身其实关系不大。

 

在 Michael 看来,初级工程师常犯三个错误:

 

  1. 对工具钻研不精

 

很多初级工程师犯的常见错误,就是一头扎进编码当中。他们坚持使用自己熟知的工具,妄想用一套工具搞定所有状况。然而,一旦掌握了正确的工具,以往需要几个礼拜的工作没准能在十分钟内完成。这就是十倍工程师能够成立的原因。

 

Michael 举例称,跟一位初级工程师打了个赌,看谁能更快搞个个人网站出来。那位毕业生花了 2 周时间,写了 1000 多行代码,但到截止时还没有最终完成! Michael 只花了1天,一行代码也没写。

 

这位初级工程师解释一下 TA 的问题处理思路:

 

 “我在学校里学会 React 应用开发,所以我从零开始建了个网站。但我发现图像和 CSS 之间很难正确匹配,我也不知道该怎么部署。所以我觉得肯定得在 AWS 上编写一个自定义部署脚本,但又发现自己不太熟悉 AWS 控制台。这里的微型实例和大型实例到底有啥区别?”

 

这位工程师明显是遗漏了几个关键问题。她从未关注到:

 

  • 要求——不需要搜索引擎优化、不需要评论功能,也不需要预建模板。

  • 替代工具——她只知道 React 和 AWS,所以从头到尾只用这两个。

 

从零开始设计评论功能很麻烦、实现搜索引擎优化也很费时间,其中任何一项功能都能让整个团队忙一阵子。

 

  1. 不愿寻求帮助

 

十倍工程师不是什么“孤独的天才”,他们也会寻求帮助!很多时候,初级工程师被问题卡住并不是因为不够聪明,而是缺少无法自行推断的上下文信息。

 

高级工程师们不会在代码库上苦苦挣扎、一遍又一遍对着相同的几行代码叹气。他们会向同事提问,并在 5 分钟内弄清自己需要知道的一切。经验不足但善于发问的工程师,永远强于头脑聪慧但却从不求助的工程师。

 

比如,大家都遇到过没有上下文指引就无法推进的任务。例如,很多事不可能单靠自己就想明白:代码库的结构为什么是这样、另一个团队调用的是哪个 API 以及部署机制是如何工作的等。

 

遇到此类问题请马上寻求帮助,而不是死抠代码库。问问题、交朋友,这才是工作之道。

 

  1. 提供不了商业价值

 

“十倍工程师”们知道自己的工作是一项投资,所以投资回报必须远远超出他们耗费的时间成本。他们了解机会成本的定义,很清楚如果决定把时间用在构建一项功能上,也意味着另外一项功能要被暂时搁置。

 

他们知道代码只是达成目的的手段,而这种目的必然、也必须是商业目的。如果不用写代码也能达成目的,那不更好!编写工作量越少,需要维护的代码也就越少,这属于双赢。

 

但很多新手工程师并不在乎业务目标。例如:

 

“有项新技术超酷的,咱们花 5 天时间在网站里试试呗”(跟产品定位相符吗?)

“我不喜欢现在的代码结构,我们在下一个 sprint 重构里改一改吧”(机会成本——拿这时间新建一个能创收的功能不好吗?)

“这套平台太老了,咱们迁移到新平台吧”(迁移真能显著提高开发效率吗,还是跟老平台大差不差?)

 

如果初级工程师会花 2 个小时处理一项无法增加任何收入的复杂功能,那么高级工程师更愿意拿 1 个小时照搬一套能产生 5 倍收入的现有功能。时间更短、产出更高,相当于提高了 10 倍的生产力。

 

非技术技能也叫“软技能”,真正决定了最强工程师与初级工程师间的核心差异。即使大家绕开了前文提到的这些坑,但自己在脾气秉性上很难与同事合作、甚至无法和谐相处,那再强的技术水平也白搭。

 

Michael 重视感受,也更愿意听从自己的内心。这个曾经的“十倍工程师”心态受挫后,也只是维持到了及格线。

离开 Netflix 后

故事并没有结束。

 

Michael 原以为离开 Netflix 后需要很长时间才能回归正轨时,但事实却恰恰相反。

 

Michael 辞职之后,结识了更多新朋友——创造者、创业家与建设者。心理健康状况大有改善,不再担心错过电子邮件、没能及时接到同事打来的语音呼叫。

 

“现在,我感受到自己内心无比平静,甚至生出一股不可动摇的信念。一切都会好起来,即使不能保证未来一定成功,我也愿意在这条路上坚定前行。因为做的是自己认可的工作,所以我能很轻松地在周末处理事务。这种充实感、对于自己工作价值的深切认可,才是敦促人主动做事的最佳激励。”

 

这种对内心满足感的追求不仅没有影响 Michael 的收入,反而带来了更丰厚的潜在效益。

 

自 2021 年 5 月辞职至今已过去了八个月。期间,Michael 除了待在纽约的家中,还进行了两次自驾游,一次是去犹他州、另一次是亚利桑那州。之后,Michael 决定全力投入自己认可的工作当中,现在他是视频编辑公司 Video.Pro (YC W2022) 的联合创始人。

 

“虽然目前才刚刚起步,也得不到任何可靠的收入来源,但我相信自己的判断。只要手头的事能激发我的积极性与潜能,对结果其实不用太担心。”Michael 说道,“现在我发自内心相信,盲目追求安全反而是最危险的选择。谨慎并不一定能让我们远离风险,因为无法更进一步本身就是风险。”


参考链接:

 

https://medium.com/@_michaellin/how-to-be-a-10x-engineer-fdac2a5a1bd5

https://medium.com/@_michaellin/why-i-quit-a-450k-engineering-job-at-netflix-874454397885

2022 年 3 月 09 日 16:383645

评论 3 条评论

发布
用户头像
“我对钱不感兴趣”
2022 年 03 月 24 日 13:39
回复
用户头像
凡尔赛😂
2022 年 03 月 16 日 12:26
回复
用户头像
创造性工作,在工作中占比和工作的价值成正比。
2022 年 03 月 14 日 18:30
回复
没有更多了
发现更多内容

Java面试必备:阿里首发面试通关宝典震撼开源,文档

爱好编程进阶

Java 面试 后端开发

天翼云发布基于欧拉双版本的自研操作系统——CTyunOS

天翼云开发者社区

基于Feature Flag的下一代开发模式

字节跳动数据平台

字节跳动 AB testing实战 ab测试

Leetcode 14天算法挑战 D1-1 #704 二分搜索

米菲爸爸

面试 LeetCode

行业分析| 互联网医疗的发展

anyRTC开发者

音视频 实时通讯 在线医疗 远程问诊 互联网医疗

Java岗开发3年,公司临时抽查算法,离职后这几题我记一辈子

爱好编程进阶

Java 面试 后端开发

使用APICloud & 科大讯飞SDK快速实现语音识别功能

APICloud

前端开发 语音识别 APP开发 APICloud 科大讯飞

重磅!业界首个云原生批量计算项目Volcano正式晋级为CNCF孵化项目

华为云开发者联盟

云原生 Volcano 批量计算 cncf

应对“反洗钱”,银丰新融反洗钱自主监测系统为机构保驾护航

华为云开发者联盟

数据库 分布式架构 GaussDB 反洗钱 鲲鹏云

哪家堡垒机好用?过来人指点一下!

行云管家

数据库 数据安全 堡垒机

深入浅出聊Taier—大数据分布式可视化DAG任务调度系统

数栈DTinsight

大数据 开源 分布式 前端

Antenna/DR5G17-Panel-Antenna-5GHz-17dbi-support-802.11ac-ax-mmcx-connector

wallys-wifi6

wifi6 antenna

学习管理管理系统解决方案

低代码小观

学习方法 企业管理 企业管理系统 教育管理 CRM系统

无聊科技正经事周刊(第2期):线上马拉松你会参加吗?

潘潘和他的朋友们

程序员 周刊 科技周刊

java进阶篇02、注解、反射与动态代理

爱好编程进阶

Java 面试 后端开发

TiDB 6.0 的「元功能」:Placement Rules in SQL 是什么?

Geek_2d6073

SFTP是什么协议?优势有哪些?与FTP有什么不同?

行云管家

运维 ftp sftp

珠宝行业电子秤串口程序开发

108518

珠宝行业erp 珠宝天平 电子秤

无聊科技正经事周刊(第3期):美团的推荐算法,是在玩火吗?

潘潘和他的朋友们

程序员 周刊 行业趋势 科技周刊

Java程序员福音!蚂蚁+字节

爱好编程进阶

Java 面试 后端开发

Java面试-volatile的内存语义

爱好编程进阶

Java 面试 后端开发

GPU容器虚拟化:用户态和内核态的技术和实践详解

GPU容器虚拟化:用户态和内核态的技术和实践详解

我放弃了年薪200万的岗位,因为“复制粘贴”的技术活让人厌恶_文化 & 方法_Michael Lin_InfoQ精选文章