2023 年度总结: 一年换 3 份工作 这是我身上的变化

1. 反思

时间拨回 2023 年 1 月,我正在等待公司通知晋升结果和年终奖。如大家所知,2022 年互联网行情动荡,Big Tech 先后裁员,Shopee 也不例外,干净利落裁了 2 轮。在这样的背景下,晋升和绩效能给我的安全感并不多 —— 准确地说是不如往年、不达期望。我开始重新思考开发者所谓的护城河在哪里,什么是我能做而其他人(或者说大部分人)不能的。

我从来没有考虑过那么早离开 Shopee,因为我所在的团队很优秀,而且也有很好的 Leader,如果一定要挑一点毛病,那就是工作内容不完全匹配长远深造的目标。我的目标是什么?过往几年我在 Trello 上有一个学习任务表,现在重新看一下,任务随时间的规律:

  • 从接触 Go 开始,到参与 Kubernetes 社区(未满意实现),再到参与 OpenTelemetry 社区;
  • 从阅读开始,到写作,到组内分享,到外部分享。
我的 Trello

我的 Trello

所以我其实希望能做更加接近基础设施的工作 —— 很久了。它可以满足我对传统意义上 Computer Science 的学习意愿,也能让我有更多的机会与别人技术交流。什么,你说行行出状元,技术交流跟领域没关系?啪,醒醒!

我曾尝试说服自己,既工作在前景不错的广告业务,又深入基础架构学习。但是这种理念随着年龄增长带来的压力越来越大,因为我看到更多的人在我向往的领域发光发热,而我还在吊儿郎当给文档改 Typo 做“贡献”。所以在那一刻,我决定花 1 年时间好好准备一下更多基础架构方向的积累,然后在 2024 年跳槽去这个全新的领域。不过在开始之前,我还需要打探一下当下的行情,到底是不是如外界所传的困难,所以我开始了年初的面试之旅

在这段时间,我一共面试了 4 家公司,分别是字节跳动(国际化电商)、米哈游(部门不详)、富途牛牛(网关)和猿辅导(监控日志),并且都是在毫无准备的情况下进行的,因为我觉得这可以让我的心态非常稳定 —— 面试通过,挺好;面试不通过,复习一下下次有机会。我对 9 场面试的结果非常满意,因为能体会得到面试官的问题并不难。我最关注的是猿辅导的面试,因为我需要知道未来往这个方向求职时会遇到什么问题、需要如何去学习。

本来,这段面试经历就到此结束了,想收集的信息也拿到了,是时候回到日常工作中了。突然,Shopee 内部传出了一个重磅消息

2. 新机会

2023 年 2 月 16 日,产品线匆匆忙忙开了一次全员会议,告知员工可以主动申请离职,公司提供 N+2 的赔偿,考虑期限为 2 天。这个消息让我非常震惊,我至今无法理解公司用这样的(好聚好散)方式尝试解决部分员工工作态度问题的做法,因为我知道平时对公司最不满意的人很大概率在摆烂,他们并没有足够的底气离开舒适区。

说实话 N+2 对我来说吸引力只能算中等偏下,我当时薪酬不那么如意,但是也没有很强烈的诉求。不过又想到明年想换工作方向,而我的绩效一年比一年好(B、A-、A),薪酬调整却一年比一年糟糕(折算全年涨幅13.5%、10%、5%),让我对公司的前景不那么抱希望。最终我在漫长的考虑后搭上这趟离职车,来到了富途牛牛

我在 Shopee 的最后一组照片

我在 Shopee 的最后一组照片

我在富途牛牛待的时间其实不长,只有不到 3 个月。选择富途牛牛的理由有很多,做网关、不用搬家、周末不加班… 但是选择离开的原因却很直接 —— 想要回到家人身边。这 3 个月里发生了很多事情让我的各种计划不断被打乱,包括生病、订婚、闹矛盾,所有的事情让我意识到,当下,我有更加需要陪伴的人。

我自认为匆匆离职是放弃和失去了很多东西的,然后设想接下来的几个月将会非常艰难。殊不知,我又错了。

3. 失业期间

2023 年 5 月 31 日,我从富途牛牛离职,回到了广州。趁着没工作任务的压力,我投入了更多时间到开源社区,向 SkyWalking 提交了第一个 PR,阅读了更多 OpenTelemetry 代码,为未来的求职做准备。

我发现专注开源项目的乐趣远比想象中多。在参与 SkyWalking 项目时,我的每个 PR 和 Comment 几乎都能在极短时间内得到回复,例如 @wu-sheng 老师在首个 PR 发起后 14 分钟就回应要求补充测试。结合漩涡事件,我觉得开发者是非常期待自己的贡献得到重视的。

不管是 SkyWalking 还是 OpenTelemetry 社区都能提供这种“重视每个贡献者”的感受,区别在于 SkyWalking 可能由 @wu-sheng 老师回复比较多,而 OpenTelemetry 社区则有非常多的 SIG 以及 maintainer 提供不同的意见。结合我后来的一些开源社区参与经历,我觉得搞明白“什么样的人合适维护开源软件”很重要。

对于我个人而言,因为在 Shopee 有看邮箱的习惯,所以我的 GitHub 消息基本都是邮件形式通知的,并且在 1 分钟内阅读到。我希望以后能继续保持这样,或许当我哪天成为一个项目的 maintainer 时,也能一样及时予以大家回应,至少表示“我已经在看这个问题了”。

断断续续学习了一个多月之后,我开始陆续进行一些面试,当然,这次面试的岗位就不再那么随心所欲了,而是严格地锁在了可观测性方向上。因为我觉得这个方向大家做的事情都还很基础,它可能体量很大,毕竟一家公司就有成千上万的应用需要,但是它的实践又很原始,缺少创新,需要想象力,意味着更广阔的空间。

这是我 Q3 面试的记录,我习惯于用手机记录每场面试,结束后再从面试官的角度复盘,思考如果我是面试官,我想要得到的是什么答案。录音绝对是优化面试表现的一大利器,我还记得第一次听自己录音时的尴尬:

  • 面试时觉得谈笑风生,听录音时发现磕磕碰碰,狠狠打了自己一巴掌;
  • 面试时觉得高谈阔论,听录音时发现答非所问;
  • 面试时觉得深挖内容炫技,听录音时发现每个扩展方向都半桶水。
年中的面试之旅

年中的面试之旅

所以,录音首要的作用是把自己盲目的自信打垮,重新建立起新的、真正的自信,面试思路灵活固然是好的,但是更重要是答出面试官所想要的,在此基础上才能考虑锦上添花的内容。

4. 做回菜鸟

2023 年 8 月 14 日,我入职了趣丸,在业务团队摸爬滚打 5 年之后再一次来到了全新的领域。

2018 年刚毕业时,我在有米科技工作,这是一家创业公司,也是对我的职业生涯至今影响最大的公司。在有米,我可以为团队里的项目做各种各样的事情,包括各种底层的优化,这就涉及许多基础设施的管控范围问题。在 Shopee 或者一些稍大的企业,职责分工明确,数据库自然有 DBA 关注处理,RPC 框架也包办了很多内容,监控告警更是服务一上线就能自动生成。这可以让业务研发更加专注业务,但每个人能负责的事情范围就非常有限了,即使我发现了什么问题,提出了什么样的解决方案,最终采纳与否、修复与否又与我何干呢。

业务上,(虽然没有,但)即使我将它做得很好,得到 A+、S 之类的绩效激励,短期内产生很高的经济回报,但是对于无意在物流、广告这种业务上深耕的我来说,它并不有趣。编程既是职业也是兴趣,而兴趣既是驱动力,也是我的核心竞争力。所以不管多少次,我在转岗、换工作里都是最关注成长环境的。

那到底初创公司实实在在为员工提供了哪些在 Big Tech 做不到的呢?

  • 试错空间,业务规模小导致许多策略可以更加激进地实施;
  • 责任范围,人力规模小导致每个人需要处理更广范围的事情,这对于想躺平的人可能是非常不好的,但是对兴趣驱动的人无疑是 MÄR Heaven

所以,趣丸让我有数年前在有米工作的感觉,我重新回到了用 Ubuntu 台式机、发布上线没灰度一刀切、服务不走 CI/CD 直接命令行重启的日子,也开始学习很多没接触过的知识。

5. 新的开始

2023 年的下半年是梦幻的,我不仅来到了期盼已久的赛道工作,还在 9 月站上了 KubeCon + CloudNativeCon + Open Source Summit China 2023 的讲台。

曾经,在公司内分享是我的一个目标,我既遗憾在 Shopee 3 年依然没能完成它,也感慨来到新公司寥寥几天就跨过它实现了更大的目标,或许这就是不同环境对我的影响吧。这其中也有 CNCF 的 Diversity 理念、对新人的眷顾,感谢所有帮过我的人。

而当事情迈出第一步后,第二步也会紧随而来。12 月,我又回到了 Shopee,但是这一次是以分享者的角色回来参加 Kubernetes Community Days 的。

我在外部分享

我在外部分享

我有足够的理由相信,我当下做出的是过去 5 年来最棒的选择,2024 年尽最大的努力把握住来之不易的机会。

Do what I love and love what I do.