距上一篇裸辞和找工作笔记已经过去三年多了。在以为找到”理想的工作”之后又经历了一次裁员,兜兜转转还是来到了裸辞那年最想去的白月光公司,遇到了神仙技术团队。

三年里从裸辞、裁员、躺平,到重返职场、遇见神仙团队。经历了毒文化的内耗,也享受高质量团队的纯粹。工作与生活的平衡、成长与安稳的选择、家庭与自我的取舍,都是不断变化的命题。我一直在反思记录这些经历。回归个人博客,把这些记录整理分享出来。

裁员!重返职场

关于裁员的反思 / 2023.04

科技公司裁员潮还是波及到了自己,也不能说完全意料之外。从 startup 跳到 corporation 之后,对于这公司里人员之冗余、跨地区交流之低效、技术更新换代之缓慢,简直惊掉我下巴。但是钱给得的确慷慨,大部分凡夫俗子如我,又怎么会和钱过不去呢。局限于微小的 scope,忍受落后的技术栈,一边吐槽一边和各种牛鬼蛇神的领导及队友斗智斗勇。如果公司不让我走,我也肯定不挪窝。

但是公司还是理智的,这一波裁得算是合理。也许我的想法有点反社会,但是 Elon Musk 关于 Twitter 裁员的理论我真的觉得有道理。如果在科技公司小团队里充满热情地、自我驱动地卷过,可能会理解他的意思。

写代码有的时候的确是 one man work, one genius man’s work。人多反而不成事。我也很庆幸,我在一个非常积极健康的技术环境里完成了从初级码农到 tech lead 的成长。

被裁员之后,我突然感到一身轻松,仿佛迎来了一个悠长的假期。之所以没有太大压力,主要有几个原因。首先,先生并不在互联网行业,虽然他的公司也有小范围的裁员,但他目前的工作非常稳定,而且正处于上升阶段。其次,我们一直保持着相对节俭的生活态度,合理规划家庭理财,保持较高的储蓄率,负债率也不高。最近换房时,我们也把预算控制在一个人贷款额度之内,因此即使只有一个人的收入,也足以负担家庭开支和贷款,短期内我暂时失业,家庭的经济压力也不大。年初我还对家人的保险进行了梳理和升级,基本的医疗和重疾险都已完善,即使没有公司集体险的保障,也没有太多担忧。我也一直坚持学习,享受阅读,对技术保持着最初的热情,也相信自己依然具备竞争力。

在这十个月里,我还算是有些收获。首先是深入了解了大厂里的做事方式,包括如何撰写文档、阅读代码、有效的社交以及如何礼貌撕逼。也见识了较大规模的 Microservice 和 Service-mesh 的搭建过程,积累了一些实践经验。在产品开发方面,学习了数据驱动的决策方式,尤其是在 2C 产品开发中收集使用数据的重要性。同时也接触并掌握了一些新的Toolings,提升了工作效率。工作不忙,我也有时间读一些软件开发经典,如 DDD、Clean Architecture 和 Clean Code。最重要的是,这段经历让我对自己的技术能力有了极大的信心。

一年前跳槽面试准备得还算充分,所以眼下只是刷了些高频算法和复习了常见的系统设计,背了背之前整理的八股文。裁员补偿还没有拿完,一个月后面了几家公司,拿到了第一个 offer。现金包裹和职位与之前相当,非现金部分缩水。公司是去年跳槽时心中的白月光,虽然经济下行,去年的 dream company 现在看着也没有这么香了,但是聊胜于无啊。接着大大小小的公司也继续面着,现在这行情入职了都不保证稳定。科技行业会被AI替代吗?谁知道呢。但是技术人真的是很纯粹的一群人,正是他们创造了AI,我还是乐意继续做一个纯粹的技术人。

中年职场人的仰卧起坐模式 / 2023.05

被裁了之后不久拿了个新工作offer,要到下半年才开工。期间又继续面了好几个职位,都惨烈地在后面几轮被拒了。看来现在的大环境下,就业市场竞争确实很激烈。

面试期间陪妈妈化疗住院几天,然后倒霉娃发烧两周又得了川崎病,住院三天。资深陪诊陪床是我没错了,感觉要把家安在医院了。全家的医疗保险我也算是研究透了并用在刀刃上了。就这样,找工作也摆烂了。这么多要打发的时间,又上了门网课看了看技术书,不过大多数时间还是花在了看闲书上,并且把之前看过的所有书都整理了一番。

昨天五点多起来跑步了。已经大半年没有晨跑了,在细雨的清晨跑步太太太爽了,难得的 me-time。结果跑一半,老公一个电话把我拉回现实:娃醒了要找我让我快回去。最气的是我急忙跑回去了,娃已经又睡着了。

35岁是个尴尬的年龄。要卷也有点卷不动了,不是不想卷,而是家庭的责任太多,我做不到不管不顾的洒脱。但是要躺平也很难,因为摆脱不掉中产的消费习惯了,不是说奢侈的生活,只是我们习以为常的事物:好学区的大房子,私立医院医疗资源,舒适的家庭旅行,经济不紧绷的日常生活习惯——我们很难做到放弃这些,消费降级谈何容易。

感谢难得的三个月假期让我可以心安理得地躺躺。想起去年我也是躺了四个多月。其实我们也是有选择的,但是生活推波助澜,完全躺平对我来说还是奢望。我可能只能继续这样“仰卧起坐”吧。

回归职场前一周 / 2023.07

躺了三个月,终于回去搬砖了。

其实也不是躺得很平,三个月基本每天带娃做饭。感觉体力劳动更累,伴随精神内耗。

上周收到了一个邮件邀请,是 Google HR 组织的 Women in Tech 的 networking 活动。犹豫了很久要不要参加,觉得是个机会调整一下状态,为下周回职场搬砖做准备。但是活动前一天是儿子和妈妈的复查,不知道第二天有没有时间和心情去——就是这么巧被医生预约在了同一天,直接两家医院无缝衔接,一天两次接受医生审判还是要颗大心脏。最后我还是注册了。之前协助过我面试流程、仍保持联系的 HR 短信说很高兴能再见面。我心里也想:希望可以啊。幸运的是复查都是好消息。和老公交代好第二天一定不要加班,按时回来和娃外公交接。终于,换了件像样的衣服出门了。

活动中居然碰见了前司我非常感激仰慕的 mentor。入职前司时她带着我上手,技术能力和领导力都很强。那时她正怀着孕,我们都是远程交流。终于她产假完要回来时,整个 office 集体被裁,大家变成前同事了之后她还一直给我后来的面试准备提供了很多信息和建议,我们始终没有在线下见上面。直到这天这个活动。

关于职场女性领导力的话题,仍然是熟悉的那些:visibility, imposter syndrome, risk-averse, work-life-balance。这次竟没有人聊起 work-life-balance,随便闲聊中就遇到好几个二娃妈。估计能在公共假期前夜出来 networking 的职场妈都是端水大师,不然也出不来。

学生时代我也是 Sheryl Sandberg 的迷妹,觉得这就是成功女性的样子。后来在一个很健康的职场环境里成长,自己和身边的女性都被很平等地对待,而且 startup 里只关心成不成事,没有太多功夫聊领导力、爬梯子、多元化等很虚的话题。我慢慢觉得没有必要强调女性的特殊性,为什么没有男性领导力的讨论呢,just get things done。

后来了解并经历了成熟的 Tech 公司文化——如果要在成熟企业里爬梯子,那领导力,细化到女性领导力就是不可避免的话题。在场的很多人是 Google HR 邀请的,很多都是 FAANG 或 tech 独角兽大厂的背景,对于讨论中的 visibility, sponsorship, navigate the organization, IC/mgt track 这些词都司空见惯。突然一个前排的小女生举手,问 IC 是什么意思啊?大家恍惚一下,才意识到这个词也挺Tech的。

选择 IC 还是管理,一年前我还在纠结,现在似乎对自己的认知更清晰了一点点。这个认知来自同事推荐的一本小说——The Unicorn Project。里面的女主角 Maxine:传统行业高科技转型的资深研发,业余时间参与开源项目开发,并在社区学校里义务教小朋友写程序。如果再写写技术博客,然后能在这些角色里轻松横跳的话,简直就是我理想人生的完美人设!当年带我入行的,是《黑客与画家》《大教堂与集市》,不是大包裹和技术领导力啊。

毒文化 vs. 神仙团队

前公司文化的好与坏 / 2024.02

去年下半年终于进了一个正常的开发团队了。反思才发觉前司所在团队有毒(大公司不同团队文化差别很大,所以没有上升到公司,仅仅吐槽小团队)。我硬着头皮干了大半年,身在其中拿着高薪真不觉得有这么毒,还信誓旦旦觉得自己有能力影响团队。

💀 组内文化

表面上和和气气,大家都表现得很友好。但是私下有不同的小团体。具体就不展开了。我比较欣赏的一个专心搞技术的同事,在我离职时给我说的原话:我又要单独和xx团队斗智斗勇了。

非常的绩效驱动。写不上 performance review 的事几乎没人做。performance review 之前两个星期组里没人干活,都在绞尽脑汁写 self review。

还有很多莫名其妙的会。老板建议我和小组其他五个人每周 1-on-1。还要和其他组 TL 1-on-1,还要和某些组 Manager 1-on-1。还有一些 guild,working group 的会等等。90%都是无效会议。

小组里还有明显每周只工作十几小时的划水怪和没两年经验但是觉得自己什么都懂的杠精,相处起来心累到不行。

管事的大老板不懂技术,说一些基本的微服务概念和测试策略,完全理解不到。他只看数据。于是我后期工作就是写了脚本把大组里每个”质量不达标”(Sonar数据不好看的)的服务抓出来,生成 JIRA 以供他去催每个组提升”质量”。

💀 工程质量

小组单独维护的唯一一个服务就是调用一堆 API 而已,没有缓存没有数据库没有消息队列,简单到发指。和其他团队共同维护的一个应用也非常老旧,居然连基本的前后端分离都没有,API 层极度混乱难以维护。

整个大组后面的一堆微服务也非常混乱,没有统一的数据模型,同一个 domain 模型在不必要的消息队列里各种传递。AB 测试 if-else 在代码里乱飞,千行代码的函数不少,别说设计模式基本的数据抽象都做不到,处处是深坑。

代码质量,用新加入的同事原话:职业生涯没有见过这么丑陋的屎山代码,为了交付功能只能在上面继续踩几脚给屎踩实了。

测试更是梦魇!有一个外包的测试军队,每个小改动都要交给几乎没有什么 context 的外包团队手动测。组里的 QA 一部分工作就是给这些 test monkey 分发任务。还有一部分任务就是给每个小功能写 E2E 测试——最不稳定的浏览器测试。(前面说了没有前后端分离,没有API spec!)QA 连基本的 test pyramid 的概念都没有,维护标准的 ice cream cone 测例结构。CI 就没有怎么绿过。年底冲业绩 QA 终于大费力气一顿删减把 CI 搞绿了,还好好邀功了一下。

💀 产品开发

开发成熟的 2C 产品真的挺无聊的,就是一堆 A/B test,一个 button 的样式,一段文字描述都可以搞个严肃的 A/B 测试,吹出花来。稍微复杂点勉强需要 API 调用,两个星期的活结果我们组两个划水怪可以搞半年才搞出来。


当然也不是全盘否定,公司文化也有正向的方面。例如,公司非常注重技术领导力,一二线的 People Manager 基本上都有资深的工程师背景。公司非常重视包容性和多元化,不仅有不少女性技术领导,也有少数裔高层,并且在小团队搭建时会有意识地保证这样的多元化。团队还将 Work-Life Balance 写进了 OKR,并且执行得非常到位,比如实行无限年假政策,六点以后办公室基本上就没人了,非工作时间也不用担心工作相关的邮件和消息。

另外让我觉得工作仍有乐趣的还有:隔壁小组认真的做技术的小弟,他试图以一己之力去推动大组工程文化改变却被边缘化,每次和他聊一圈都很有启发。给我很多指导的 mentor,一个非常优秀的女性程序员,她能周旋于复杂的团队文化之中并且深挖出混乱的架构中的机会,推动了复杂产品的落地和逐步的架构优化。一群能聊到一块去的饭搭子,每次一起午餐和泡咖啡都能聊很多很有意思的话题,离职之后也偶尔约饭更新彼此近况。

程序员梦寐以求的神仙团队 / 2024.05

接上面的吐槽。我也知道很多大型复杂软件也是差不多的问题,屎山雕花不过是很多程序员的日常。但没有对比就没有伤害,新的团队相比起来就像一股春风。聊聊现在的神仙团队,和之前完全相反的体验:

☘️ 极少的会议

这个公司几乎不开会!刚开始我觉得可能因为刚入职,还没有踩上节奏。但是大半年过去了,发现尽量减少无效会议的文化在这里被实践到了极致。作为 IC 会议出奇的少,每周会议时间不超过3小时,每天大把的 focus time。工作效率奇高,心情也舒畅。

☘️ 极高的代码质量

写代码和 review 代码就像绣花一样,非常认真细致。Unit Test 覆盖率不到100%都不好意思让别人来 review。对于一直在又快又糙的 startup 写码的我还需要慢慢纠正适应,头几次 PR review 的 nit 太多也让我不得不慢下来先做好 self-review。对于产品开发,能有时间和精力来反复推敲讨论代码细节,最后得到精简、正确、易读、易维护的实现,是种难得的奢侈。

维护极高代码质量的结果是:工程质量非常高,oncall 几乎没有告警,躺着拿加班费。代码库非常易读易维护,新人上手快,增改功能也非常轻松。

☘️ 没有QA

吐槽过之前的团队有一群外包的 test monkey 来支持人工测试。现在公司就压根没有 QA engineer 这个职位。有一些工程师的职责会以开发自动化测试工具,测试平台和推动跨团队复杂功能的测试为主,但他们的 title 还是 software engineer,和其他 software engineer 职位和晋升路线无差别。产品开发团队里大家轮着来履行 QA 部分职责,但是基本是每个人自己负责自己开发内容的所有测试。

团队里每个人能力足够强,代码 review 足够认真,有稳定易用的测试环境,可靠的 CICD,自动化测试也是标准的金字塔结构。加上前面的点:100%的 unit test 覆盖率,严格的 code review,极高的代码质量,所向无敌。

☘️ 文档文化

技术文档流程也非常优秀。早期的设计文档没有标准格式,confluence wiki,gdoc,ppt,开一个 PR 或者 issue,只要能把问题讲清楚并且易于大家交流讨论,怎么高效怎么来。但是一旦确定方案并实现了,技术文档遵循:简略,版本化,代码化的原则来写。通过代码化的UML图,经过严格代码审核 merge 进 repo,文档本身就是 code 的一部分。


当然,弊端也是存在的。首先,由于做事认真严谨,开发节奏必然会比较慢,这也意味着成长的速度相对较慢。其次,公司的技术基建、工程流程和开发工具都非常完善,因此新加入的工程师面临的挑战性工作并不多,只要按部就班就能完成任务,想要做得脱颖而出就更为困难。公司支持远程工作并减少会议,这虽然提高了效率,但也带来了人与人之间互动机会的减少。对于i人来说,建立与他人的联系、获取信息和资源就变得更加困难。

总的来说,这样的环境非常适合初入职场的年轻人,他们可以在这里体验到教科书式的软件工程质量和流程,从而建立起正确的认知。同时,这里也适合那些不太激进、保持健康“躺平”心态并追求WLB的老码农。但不太适合那些希望在软硬能力和薪资方面实现快速成长的 senior+ 工程师,这类人才更适合去技术和组织文化更为复杂的大厂锻炼。对于想要从零开始搭建技术框架或产品、希望拓宽技术以外视野的技术人员来说,这里也不是最佳选择,他们更适合去规模较小的创业公司发展。

盲目卷到理性躺:打工人心态的转变

从 Lean in 到 Lazy Girl Jobs / 2024.02

继 quiet quitting 之后,Lazy girl jobs 这个词又掀起了一阵 hype。

想想十年前,Sheryl Sandberg 的 Lean in 观点大行其道。年轻女孩被鼓励要向前一步,坐到(谈判)桌上,不到最后一刻(怀孕生娃)不要退出。Lazy Girl Jobs 反其道而行之,鼓励远程工作,鼓励弹性工作时间,强调工作生活平衡。

不得不说疫情改变了很多人对工作的态度。经历了裸辞和裁员我也对工作有了新的态度。

以前我的一天

早上八点起床匆匆收拾出门,一小时通勤时间(路上刷手机,偶尔看书或者手机写文章),公司楼下打包奶茶烤面包当早饭。一进公司就开始边处理工作边吃饭,一天工作满满当当,每天莫名的很忙(现在想不出在忙碌什么)。几乎每天都是晚饭时间发现早上的面包还没吃完——于是接着吃。一周有一两天会加班到九点以后打车回家,其余时间基本也是天黑以后才走出公司大门,经常跳过晚饭。偶尔不加班的时候,可能去跑个步或游个泳,弹弹琴唱个歌,没心情就躺尸刷手机。每天刷手机到十二点一点睡觉。

现在我的一天

早上五点起床,五点到七点完全自由的 me-time。看每天心情,之前一段时间减肥坚持跑步,现在运动上懈怠了。早上自由学习时间我一般会看书,上课,写博客,心血来潮加会班。总之每天早上坐在书桌前不像躺着床上那样,完全不想玩手机。七点到八点搞定娃,八点多到九点半出门慢悠悠的吃个早饭(是的,每天一个多小时吃早饭)。回到家九点半十点开始一天工作。现在工作会议很少,经常一天都没有会,可以高效地集中精力看文档,码代码,测试和部署。傍晚六点多娃幼儿园回来了,一家人一起围着餐桌认认真真的吃晚饭。晚饭后陪娃玩到十点左右一起睡觉。

程序媛在家工作的一天 / 2024.10

爸妈回国了,我也开始紧锣密鼓的安排找 helper、收拾储藏室。Helper 到位之前,我又要顶上了。记录一下工作、带娃、做家务的忙碌一天,怎么忙里偷闲、享受生活和工作。

⏰ 630 自然醒。轻手轻脚起来,今天起得不算早时间不多,读读邮件里的 newsletter。分享一个 blog 订阅:interconnected,作者 Kevin Xu。美籍华人,有公共事业背景,对中美政治颇有见解,观点中立,又在科技行业做投研并购多年,他的文章总是在更高维度视角来分析科技行业的热点时事。

⏰ 700 - 800: 陪儿子早饭(我不吃,因为我要去吃好吃的不带他)继续读点东西

⏰ 800 - 810: 送熊孩子去幼儿园。出门就像打仗,必须音高八度喊他刷牙洗脸穿衣穿鞋,忍受他的心不在焉和嬉皮笑脸。

⏰ 810 - 930: me-time!这周 oncall,即便如此背着电脑也要出门享受一个慢早餐!很久没去 Tiong Bahru Bakery,坐公交慢悠悠的去吃顿早餐。路上继续读书,最近看完了《额尔古纳河右岸》,略失望。

⏰ 1000 - 1200: 搬砖。周一没会,几点开始干活也比较随意。Sprint 也临近结束,该做工作也做得差不多了,没来及做的就摆烂了。中途把脏衣服扔洗衣机。

⏰ 1200 - 1330: 随便吃点,买菜备菜。晾衣服。

⏰ 1400 - 1730: 继续搬砖。最近老板看我好说话,让我带offshore团队。这个就很 tricky,不能什么都让他们做,因为质量实在是堪忧;也不能什么都揽下来,自己工作量翻几倍。有 oncall 的任务,一下午工作紧凑。

⏰ 1730 - 1810: 煮饭,做几个快手菜。通常是在巴刹切一溜猪肩肉,切成肉丝分袋冻起来。每天就是肉丝炒xx的搭配。熊孩子要吃炸鸡,空气炸锅来帮忙。做饭时来点 podcast,最近一直听 CNA Money Talk,很多适合新加坡本地人的理财建议。

⏰ 1820 - 1840: 出门接娃前晚饭摆好。接娃,让他随便跑跑玩玩,放放电。

⏰ 1900 - 1930: 吃饭,看电视。

⏰ 1930 - 2000: 洗碗(洗碗机开工),擦厨房。最爱新家的厨房,不擦干净就不爽,等 helper 来了第一件事就是教她收拾厨房。

⏰ 2000 - 2100: 这个点偶尔处理一些没搞定的工作,大部分时间就躺平玩手机。虚度时光有益于身心健康,积攒多于不被生活琐碎消耗殆尽的能量,把多的一点点留给自己。

⏰ 2100 - 2230: 娃放风回来。洗澡,全家人一起吃水果聊天,亲子共读,睡觉!

三十年科技从业者的人生智慧 / 2025.04

最近参加公司 Tech Sharing 活动,听了一位在科技行业工作三十年的美国同事分享他的职场经历和人生经验,感触颇深。

他九十年代中期从音乐专业“转码”,九十年代末互联网爆发时加入初创公司,后来被雅虎收购,一夜之间成为“大厂人”。在雅虎工作十四年,见证了这家昔日巨头的兴衰。四十多岁时财务相对自由,转投一家处于上升期的中型科技公司,继续实现人生价值,七年间一直担任 senior manager。

科技行业的“轮回”

他回顾九十年代硅谷互联网爆发期,那个时代只要不畏惧计算机的人几乎都选择进入高科技行业,主要因为丰厚的经济回报。类似地,2010年后移动互联网兴起,“转码”成为热门话题,科技薪资大幅提升。2020年疫情推动远程办公和线上活动,互联网科技迎来新高潮。直到2022年,随着传统经济复苏,科技行业因过度招聘、GenAI技术爆发及向低成本地区转移,迎来裁员潮。

他谈到雅虎后期,最后一任 CEO 玛丽莎·梅耶尔大力推动移动互联网发展,给每位员工免费配备智能手机,推动移动互联网理念。那时很多人还习惯用全键盘的黑莓手机。如今,类似的变革正在发生:公司大力推广 GenAI 工具,配备各种 Copilot 优化工作流程,开展 AI 培训。顶尖科技从业者看到了 AI 改变生活和工作的潜力,就像当年移动互联网一样。

职场中爬梯?

三十年职场经历让他不得不与高层打交道,见证了许多人为了职业成功不得不做出取舍,放弃生活中的其他重要事物。他认为,职场晋升并非唯一选择。自己从最早的 Pearl 开发和 IT 运维起步,经历互联网、移动互联网、云计算、大数据、人工智能等技术浪潮,三十年后依然带领团队做 AI 产品基础建设。技术栈迭代无数次,但他始终站在技术前沿。科技发展虽可能取代传统工作,但也带来新机遇,唯有拥抱变化、持续进步,才能不被淘汰。

对金钱的态度

他分享了自己的金钱观。在硅谷,理性消费(比如开一辆高性价比的燃油车)有时会显得格格不入。他提到基础教育中缺乏 financial literacy,庆幸自己家庭教育中重视这部分。从九十年代起,他遵循 Vanguard 的投资理念,选择低费率的股债平衡基金,坚持定投,无论市场涨跌,穿越了2000年互联网泡沫和2008年金融危机两个动荡周期。他谦虚地总结:Fruitful, worked for me。

职业道德思考

他直言批评移动互联网的两大弊端:无用的手机 App 和无意义的短视频。这也是他离开雅虎后,决定不再从事消费者应用领域工作的原因——财务自由让他有权选择更有意义的方向。

Buy Me A Coffee