---
title: “毕业”与找工
date: 2022-09-07T20:00:00+08:00
tags:
  - 日记

---

近一年来在工作上面临着较大的变化，一方面因为不可抗力因素，一步步放下念想，离开腾讯，也离开了在线教育行业；另一方面，自身开始有了一些“价值”视角的感知，也以此重新思考自己在业界的定位，还有继续积累的方向。

如疫情催化下的互联网一般，一切都来得比预想中更迅捷和猛烈，虽有一些预期，但确实略有些措手不及。近期尘埃渐定，在这逐步走向平静的时光，也写写我最近关于找工与跳槽过程的一些想法和考虑吧。

## 在 IMWeb 的最后一年

自 19 年开始在教育 IMWeb 团队实习、工作至今，我大概算是团队少有完整经历过 ABCmouse、辅导与课堂三大业务的新人吧。经历过一点点打磨产品与推广的探索、疫情下井喷增长的浮躁，也经历着政策打击下的迷茫与衰落，目睹着身边同事一个个离开，最后自己也离开了这里。

实习时的经历，2019 年的总结有过 [记录](https://zgq.me/posts/2019-summary/)，做了很多关于小程序、管理后台向的开发；毕业后来到辅导团队，接手的是一个技术债务较重的模块，在与众多 bug 的斗争之间，跟着需求一步步走，慢慢有了许多修改的想法和思路。

到了21下半年，“双减”落地，业务挣扎转型，计划是复用已有的模块开发新 App，结合近一年来的斗争经验，设计新的方案，借机在新 App 完成了整个模块的重构。然而新 App 上线计划遥遥无期，大家空转许久，隐隐约约带着一些危机感。

空转的同时伴随着难得放慢的工作节奏，我也在思考工作之余技术提升的方向与下一步的选择。3月的某天，因 [dexteryy](https://github.com/dexteryy) 的一条 [豆瓣动态](https://www.douban.com/people/Dexter_Yy/status/3795651416/) 有些触动，看起了《花束般的恋爱》。说起来也挺戏剧性，当时我正看着陷入无尽工作无暇陪女朋友玩塞尔达的男主发着呆，接到 leader 电话：“业务最后还是凉了，近期可以多看看外面的机会”。

![所幸有玩过 120 小时](https://cdn.zgq.me/assets/posts/2022/layoff-and-job-hopping/Snipaste_2022-09-03_18-37-55.jpg)

接下来的几天在整理和准备简历，隔壁课堂 leader 问我有无兴趣做 Web 音视频。想来有些心动，我本科毕业两年不到，项目经验尚且不太充足，其实更适合留在团队积累。至少背靠一个收入稳定的业务，恰好填补核心模块的人力空缺，有高级工程师领路，并能在工作中专注于某个有深度的子领域进一步提升，个人价值和自我技术成长都能得以实现和发挥，综合看确实是比较合适的工作状态，所以选择留下加入了课堂。

三个月来还算开心，工作上推进的都是纯纯技术需求，不必和产品设计周旋太多，上下班节奏总体可控。虽然平时看脉脉微信群等都在传各类裁员计划、工作难找等等焦虑和抱怨，但想到自己所在小组恰好是一个人负责一个核心模块的状态，并无多少人力冗余，要裁也没啥好裁的，于是我也“何妨吟啸且徐行”，没有太关注 LeetCode 或 “八股文”，更多时间在研究 WebRTC 和 Web Media API 相关的东西。

原以为日子可以如此平静度过，同样戏剧性的是，前一周还在新的小组 team building，刚送别辅导最后一位同事后不久的我，收到消息，因为更高层的战略调整，很不幸我也受到波及，需要自己寻找新的机会了。因此让我被迫加速调整计划，后来便有了接下来的故事。

所幸一路上遇到的 leader、总监们都足够 nice 且真诚，找工过程中给了我不少的帮助和启发，也感受到他们被迫抉择中的无奈，只是有的东西同样并非他们能够决定。近期各种互联网公司称裁员为“毕业”有过强的美化嫌疑，但对我这一个本并未抱太多预期、以类似一种读研心态在此工作的校招生而言，职业生涯第一站的结束，好像又与“毕业”有一丢丢的相似，只是说，这个过程比预想中仓促不少。

感触更深的是，时代的一粒灰，落到个人身上的重量。

## 工作的稳定性

近几个月身边最让人焦虑的还是“工作稳定性”的话题，通常“互联网大厂”、“事业单位”、“公务员”等标签是“稳定工作”的象征，人们趋之若鹜。而随着“大厂”的裁员、教师、公务员等的降薪，可以看到的是传说中的“铁饭碗”也逐渐掉下神坛，留下的是强烈的不安全感。拨开各种标签的面纱，有一个问题值得关注的是，究竟何为“稳定的工作”？

这个问题我想过很长时间，目前一个结论大概在于“平衡”。如牛顿的二力平衡一般，动力与阻力平衡的情况下，才能够保持一个匀速直线运动的状态；于工作而言，一方面是创造价值获得收益，另一方面是自身薪酬成本，收益和成本之间能够达成平衡状态，是维系商业活动平稳发展的一个基础。

个人价值的发挥，需要依托于分工合作而非单打独斗，就有了类似“公司”（或者说“平台”）的实体，分工合作下创造的价值，需要有一定的机制去做分配。当公司业务体量、人员到达一定规模，价值分配的难度也越来越大，带来一定程度的内耗。当这样的内耗超出个人能力范围，慢慢地「创造」与「分配」两者间也愈发割裂，后者逐渐占了上风，乃至于许多人在工作中的个人价值无形中也依附于此。通常我们只停留于“平台”的抽象概念之上，很难体会两者的差别。

行业增长迅猛的阶段，尚且还能容纳如此相对较重的内耗；当增长放缓乃至走向衰退，蛋糕已无法如过往预期那样快速做大，思路也变成了如何让切蛋糕的人少一些，若此时个人的关注点还放在「分配」和「消遣」上，对「创造」鲜有行动的话，难免未来在某个时刻面临巨大变动。这一点无论体制内外差异不大，只是时间周期的不同，如[《杀死那个石家庄人》](https://music.163.com/#/song?id=386844)的一句歌词：

> “如此生活三十年，直到大厦崩塌”
> 

宏观的历史行程便是如此，转回在我身边的“程序员视角”，关于「软件工程师」这一职业的价值如何体现？想来其实更多的是，借助自身对计算机的了解，设计和运维软件、解决人与人、人与机器、机器与机器信息互通的问题，帮助用户更好地满足某些需要，乃至于创造出新的工作模式和方法，构建出能够相互成就、共同做大蛋糕的新秩序。

在成就用户价值的同时，工程师本身也以各种形式（买断 / 会员订阅 等）从中分得一部分，也由于软件具备极低成本复制的属性，用户达到一定规模，收入得以积少成多；或者还可以另辟蹊径，借助规模效应，通过广告等形式从第三方间接获得收益。当其收益与个人所需能持续达成平衡，也就意味着这一岗位在商业世界有了基本的稳定性。

然而现实并非计算机的一板一眼，存在许多混沌，很多时候个人命运可能就带着点天时地利人和的成分。世间变化无常，人生而有涯，世界风云变幻与纷繁复杂中，作为个体只是其中微不足道的部分。在这个背景下，可以说各方面都理想、始终不变、可以从一而终的岗位其实并不存在，可能只是一个半衰期的分别，从几个月、几年到几十年不等。

既然如此，不妨把一份工作的时间预期放短一些，在一段时间里，在自我成长的视角能有所收获，其实已不虚此行。带着一点方向感和危机感，当未来某天发现有机会可以让自己往心中理想方向靠近时，再试着去冲一冲就蛮好。

## 「平衡」的更多角度

刚刚讨论的是创造价值与个人薪酬之间的平衡问题，将「平衡」二字再进一步展开，还有更多的角度，无论工作、事业与生活，理想与现实所需，家人朋友等各种人与人的关系等等等，也许这也是我们所需面对的社会的各种复杂。

这里也说下我眼中关于「平衡」的两个比较重要的角度，一是“工作”与“生活”的平衡，二是“工程师”与“黑客”角色的平衡。

### Work-Life Balance

工作与生活的平衡（WLB, Work-Life Balance）这一表达会有些割裂的感觉，退休前的人生接近 1/3 的时间会在工作中度过，我更倾向于把工作作为生活的一部分看待。只是说，我们因为生存和发展的需要，出卖一部分体力 / 脑力，为他人解决现实问题，获得相应的报酬。而生活不仅有工作，学习成长、家人朋友的相处、兴趣爱好、娱乐消遣、社交活动等等，也是其中重要的部分，这里说的 Life 更多侧重于于此。

那么我们追求的 WLB 究竟是一种什么形态？我想应该在于在时间角度下，工作与非工作之间相对明确的「界限感」，可以明确除意外情况下，一天中哪部分时间卖给公司，哪部分留给自己。生活的更多可能性，在界限明晰的基础上，有了稳定的时间预期，才得以稳定的发展。

而国内的互联网公司“弹性工作制”下，通常在一个工作生活杂糅一起的节奏中度过，下班时间通常相比其他岗位后移一两个小时，在项目忙碌时期，下班后还可能继续被工作繁杂事务所侵扰；可能也因为工作成果难有明确标准去做衡量，为了在管理者视角获得一个良好的印象分，常容易陷入一种“假装忙碌”的状态。工作日里那些属于 Life 的部分，不知觉也被切成了碎片，仅有的周末更大的想法只剩下放空和休息。

[芭芭拉 · 奥克利教授](https://barbaraoakley.com/)的[《学习之道》](https://www.yuque.com/0xffff.one/cs-learning/how-to-learn)有提到一个「发散模式」的概念。大致是说，人脑在经历一段时间的专注后，思维会陷入局限，一段放空和发散的时间，可以更好地让当前所接触的信息和已有的记忆间建立关联，产生新的想法。

在这个视角下，明确工作和非工作时间的「界限感」对工作而言其实更有好处，非工作时间的活动看似与工作无关，但转移注意力的状态下，更有利于让大脑摆脱一天专注投入工作中的思维定势，工作外不同视角的信息输入，也可能带来更多的灵感，让第二天的工作在一个更饱满充实的状态。低水平的恶性内卷已逐渐行不通、需要更多更深入的思考沉淀的当下，这一点尤为重要。

### Hacker vs Engineer

当「写代码」这一爱好成为了一门糊口工作，生活似乎也开始变得单调不少，也迫使我开始找寻「写代码」这件事在不同视角下的分别。想来可以分为两点：从爱好的视角看，写代码的状态在于《黑客与画家》的 Hacker 角色，和音乐家、作家、画家等创作者一般在做艺术创作；从职业的视角看，写代码的状态在于一名 Engineer 角色，就如上文说的，设计方案、解决问题、赚取 money。

在创作的视角，黑客会把程序当一份作品那样看待，关注点在于其内部结构和设计的优雅，还有代码跑起来的乐趣与成就感；在工程的视角，大家往往只会关注 `It Works!`，对于设计是否优雅，客户更关注的是这份“优雅”是否能为 ta 带来额外的价值，若不能，客户一般也不会有为之付费的动力。这便是写代码这件事在「艺术追求」与「解决问题」之间的矛盾，也如许巍口中的「诗和远方」与「眼前苟且」的矛盾、毛姆笔下「月亮」与「六便士」的矛盾一般。于工程师而言，就很需要一种根据现实资源的多寡，接纳与控制“优雅程度”，达成需求方预期的能力。

显然这又是一个「平衡」话题，在现实的理想主义的视角下，关注点也在于，如何在现实中构建出一个适合纯粹技术探索的环境？这个问题《黑客与画家》有提到一点解决方案：

> 黑客如何才能做自己喜欢的事情？我认为这个问题的解决方法是一个几乎所有创作者都知道的方法：找一份养家糊口的“白天工作”（day job）。这个词是从音乐家身上来的，他们晚上表演音乐，所以白天可以找一份其他工作。更一般地说，“白天工作”的意思是，你有一份为了赚钱的工作，还有一份为了爱好的工作。
> 

比较合适的做法也正是，把工程师这一职业作为一个“白天工作”，黑客作为业余的爱好一部分进行。幸运的是，与当时的创作背景不同，开源软件席卷世界的当下，工程师们的“白天工作”也可以有一部分“黑客”气质的发挥空间。

## 找工历程

### 决策

首先需要明确的是我所在的位置，一切的行动都立足于此：

- “211” 本科计算机专业毕业，“大厂”实习1年 + 毕业2年的前端工作经验
- 自高中开始接触 Web，架过多个网站，在领域有相对丰富的经验积累

结合短期内工作稳定性的考虑，大概可能有两个思路：

1. 继续依托平台（体制内 / 新的“大厂”）
2. 回归最根本：创造价值 / 自身薪酬成本平衡

第一条路而言，我自己已是社畜模式，冲体制内和学生相比不占优势，且工作的自由度相对比较低；大的互联网平台型企业方面，深圳还在扩张招人的就只有字节跳动和虾皮，一方面面试竞争激烈，且保不准经济形势再恶化的话，岗位进一步的内卷化，可能也会面临新一波裁员。（ps: 本文发布时已是9月，字节跳动开始“去肥增瘦”，虾皮也在准备裁员）

依托大平台的抽象这一条路渐渐走窄，那么就硬着头皮选第二条路，不再依赖于平台的抽象，放下一些所谓“身段”，从最基础最务实的搞钱做起。进一步梳理展开，涉及到工作内容的匹配程度、薪资水平、是否 work life balance、雇主的品牌知名度 等等方面的需求。

根据我自己的情况，还有「平衡」与「专注」的主题，优先级大概是 wlb > 匹配度 > 薪酬 > 品牌能力背书：

- 毕业两年来日常较晚下班，虽工作上的项目规划、沟通等软技能上有许多进步，但最核心技术硬实力上的提升确实有些瓶颈，目前需要更多 读书 / 学习 / 社交 的空间，工作和生活时间上相对明确的界限感
- 薪酬不是优先考虑的部分，本身自己属于羁绊不多、物欲相对较低的类型，且下行时期，投入与回报并不总成正比，能持平已足矣，不得已可考虑适当降薪
- 品牌背书而言，“大厂”职级对我不是太关键，这方面搞搞开源代码相对更靠谱一些，且有自己折腾博客、社区、构建 IT 文化的经历去支撑，在预期其实可以起到更好的背书作用

陆陆续续和身边同事朋友、猎头等吃饭聊天，慢慢地意识到，想要找务实且现金流健康的业务，出海市场可能会是个更合适的方向。相比于国内粗放的“大而全”，海外用户更倾向专注细致的“小而美”应用、独立品牌等，它们虽不像大厂一般着力于大规模扩张，但能积累到一定量的客户群体，服务好他们，至少养活自己不是问题。长期专注于一个业务方向，也少很多不必要的内耗，无论自己还是业务都能有个踏实积累成长的状态。

在生活与地理位置的考虑上，我更倾向于留在深圳。结合自身情况收集了一些相关的信息，具体企业的倾向上，大致有几个选项。一个心水的是 [MoeGo](https://www.moego.pet/)，它主要做宠物行业的出海业务，技术上侧重于构造 UI 体验优良的产品，以改善客户工作中的流程体验。综合看，无论技术还是业务方向都相当务实，结合我自身情况和需求来看，是比较 match 的状态。

另一个比较心水的是 [Flexport](https://cn.flexport.com/)，属于硅谷 Startup 在中国开设的研发分部，工作生活相对平衡，但其技术栈相对偏后端，与我这两年在前端 UI 开发领域的积累有些偏差，且我自身在相对硬核的编程基础方面目前还比较吃力，就作为一个备选项进行。与此同时加上字节跳动、Shein、FydeOS 等等作为备选，还有其他一些薪资降级一些的小公司作为一个“保底”。

### 简历

写简历这件事，目标其实很简单，以最快的速度，让目标公司大致了解候选人的背景，对候选人过往已有的能力积累、未来的发展方向和愿景建立印象，以判断是否 match。

一切的开始，是“复盘”过往经历中做过的项目，看这背后有什么与目标岗位相关的亮点可以挖掘。思维框架上可以参考 “STAR法则”，从情境（Situation）、任务（或 目标）（Task）、行动（Action）、行动的结果（Result）这几个视角，组织做过的事，整理上可以用一些大纲、脑图工具做辅助。在内容的视角，「行动」与「结果」是招聘者最关注的部分，有时候我们在下意识的自我中心下，会在简历写上很多自己视角下的小细节，想来其实不必，把更详细的内容留给面试环节再展开，简历作为一个引子就好。

简历只是辅助了解一个人的工具，背后更关键还是自己真正有过的积累，还有背后代表的成事的能力。他人通过各种蛛丝马迹，旁敲侧击地去判断候选人是否足够靠谱和值得信任，这时若有一些客观的工作量证明，可以为这个判断过程带来更多的帮助。类似公开的博文、社区的讨论（StackOverflow、知名的技术社区等）、阅读、开源代码（尤其 GitHub 的记录）、经手项目的影响力，乃至于行业人士的背书等等。大学院校背景、知名互联网公司的职级等，也是一些相对有力的参考维度，但对于 IT 技术岗，相比前者而言说服力可能稍弱一些。

从我实际操作来看，折腾 [0xFFFF 论坛](https://0xffff.one/) 组建社区的经历，给我找工和面试过程带来了不少助力，或许在市场中，相比普通的博客、公众号、LeetCode 和八股文而言，这玩意歪打正着地给了雇主一个更新鲜的维度。再回看刘未鹏的[《如何花两年时间面试一个人》](http://mindhacks.cn/2011/11/04/how-to-interview-a-person-for-two-years/)，也是深有共鸣、感慨颇多。

简历整理的差不多，需要将思考的结果其落于纸上，最早我是用 XMind 梳理的脑图，但在投递上至少得有个能打印的 PDF 文档。那么就得考虑排版的问题，想到 Word 混乱且让人窒息的富文本排版，确实有些劝退。恰逢 [@Zilize](https://github.com/Zilize) 开源了他 [用 draw.io 做的简历模版](https://0xffff.one/d/1249)，刚好可以一用。

试了下 draw.io 体验上还是有些复杂，排版而言或许用 HTML + CSS 会更加直接？毕竟网页最初的设计，其实还是以表达“文档”为出发点。说干就干，直接对着模版设计稿开搞，CSS 处理好页面 padding、断页策略等等，页面写好以后直接用浏览器自带的打印功能输出 PDF。

实际操作下来，整个过程行云流水、一气呵成，除了能够精确控制排版以外，内容甚至还可以用 Git 来做版本控制，每一个改动细节都可以 diff 的一清二楚，适当再 release 出一个版本发给 HR，可以说非常合适我的需要。

### 面试

面试这件事，简单地说，是一个相互考察、建立信任、彼此做出选择的过程。前端方面的岗位的面试，在圈子的浮躁节奏影响下，似乎有点异化为 LeetCode + 各种 Web 框架 API 细节八股文的背诵狂欢，感觉上有点点本末倒置（甚至还出现了各类 [面试题集锦 or 硬背八股大全](https://www.yuque.com/cuggz/interview/) 等根本不是一个人短时间能接受的信息量的东西）。在这方面如果过于走火入魔，除了制造内卷式焦虑、增大整体的面试成本以外，自认并不能为实际的工作带来太多额外的价值。代码和算法能力，只是岗位能力要求中的一部分，且前端岗位对此并不会很苛刻。

因此，相比于强行“刷穿 LeetCode”，我更青睐于贴合现实问题的场景去准备，刷算法题的作用更多是稍稍累积手感（只关注 Simple / Medium 的难度）。对于一些常用的类库的使用、Web API 等细节，网上许多八股文集锦已嚼的足够碎，随机挑一些重点考察的点，试着用自己的话回答一下，查漏补缺、找找感觉就可以，而不需要刻意去“背诵”（它们真正的价值在于“问题”视角，而非“答案”）。

找工作时看过的一些相对靠谱的资料：

- 贴合前端实际编码场景的 OJ：[BFE.dev](https://bigfrontend.dev/)
- 字节跳动的知识点整理：[前端刷题面试专用](https://bytedance.feishu.cn/base/bascnnAw7K5kti3dyRli0stFA8f?table=tblFc7ZBgMvE0CPU&view=vewJHSwJVd)
- 上文说到的八股文大全：[前端面试题汇总](https://www.yuque.com/cuggz/interview/)

相比于纠结于面经、技巧等，我认为更好的状态是，作为面试者做到真诚地表达自我，公司也真诚地展示自身情况、能力要求等；这样双向交流的过程，在潜移默化中彼此作出选择，就不会有太多的阻力和不必要的内耗。实际体验下来也确实如此，毫无感情出八股题目、手撕算法题等基本让我直接劝退；从简历项目经验视角出发，一起去展开讨论一些话题，再简单写一些业务场景相关的编程题，体验感会更好一些。

## 心得

经过一番自我审视与刷题斗争，最后确定来了 MoeGo，宠物护理是个非常有爱的领域，且预期可以实现相对平衡的工作生活节奏，恰合我意。数周下来，感觉无论老板还是身边同事也特别 Nice，几乎没啥内耗，工作中注重深度本质的思考，解决问题、重视交付质量的导向，体验确实很不错。在适应新工作的同时，也开始逐步重建自己的生活，那些过去没来得及做、没来得及学的事情，终于可以试着把它们一个个推起来了。

准备简历之余，读了刘未鹏的[《我在南大的七年》](http://mindhacks.cn/2009/05/17/seven-years-in-nju/)，想来我自己本科入学至今也第七年了，和作者似乎有些相似的心境，也感受到我自己和作者无论思想还是所在的环境、氛围存在的一些客观差距。印象深刻的是，作者提到自己在研究生期间所经历的“密度很高的学习与思考”，大致也是我近期在尝试并希望达成的状态。

> 我想，虽然有很多人本科就明白自己想做什么，我多花了两年多，总还不算太晚。
> 

现实而言，不知是否大环境下行背景下的市场环境的恶劣，程序员薪资相比其他职业高一些的缘故，能感受到涌入前端开发方向的人越来越多。也隐约意识到作为一名传统意义上的前端工程师，在进一步发展下，个人竞争力方面可能面临的局限。前端开发再往上走，主要在于两个方向：

1. 更强的产品意识、往用户体验方向，更深入积累经验
2. Full-stack 方向，有能力 cover 住从用户到数据库的一整个流程

也在其中几方面梳理下我自己面临的短板：

1. 算法：基础相对薄弱，缺乏训练，面对面试八股题几乎全凭运气
2. 英文：仅停留书面的阅读，口语方面较弱，交流仍有些许障碍，未来若面向出海市场、想要有更广阔的技术视野，这一点是需要克服的
3. Web 开发：进一步发展而言，选择面有点窄，对于基本业务 UI 而言，React / Vue 和其上的开源组件库已解放大部分的人力，且在使用层面已无太大技术挑战（React 18 甚至都卷起了一般不会带来太明显体验差异的 [concurrent 渲染模式](https://reactjs.org/blog/2022/03/29/react-v18.html#what-is-concurrent-react)）；要求精细还原视觉体验、强客户端交互的 UI 开发岗位已相对较少，面临就业市场供过于求的瓶颈，自身不太占优势，逐渐流于“熟练工人”状态
4. 后端开发：对后台业务、数据库、中间件等了解有限，但这是接下来业务开发的重心
5. GitHub：虽然积累了点 Star，有了些许影响力，但是 [没有自己完整且有深度的作品](https://ossinsight.io/analyze/zgq354)，基本是在其他人方案的修修补补扩展，不很踏实

由此得出，接下来我可以发力的几个方向：

1. CS 基础：算法、数据结构等基础填补、肌肉记忆的训练
2. 英语学习：适应英文语境的思考与表达，尤其是听力和口语方面
3. 后端：关注系统设计能力，类似 Nest.js / Laravel / Spring 的 IoC 核心思想、关系数据库、缓存的使用等，可以 hold 住各类计算机与复杂现实业务逻辑结合的中小型业务
4. 前端：跳出纯浏览器，往客户端开发方向延伸，主要关注 React Native 等跨端方案和一点原生开发，目标在于可以设计出相比纯 Web 而言，交互体验更加优良的软件产品
5. GitHub：寻找尚未被完整开垦的细分领域，造点属于自己的轮子

回顾这几个月，虽经历不少无奈，但总的而言算是稳步前进的状态，大的方向依旧还是「平衡」与「专注」，这一次的跳槽，也算往理想的状态又靠近了一些，感谢过去一直在思考和努力的自己。

生命是一场通往幸福的航行，希望当下和未来的自己，可以继续保持一颗平和的内心，面对生活的风浪，可以多一些从容吧。
