
我做了不应该做的事情。我从 Stripe 辞职了,而且没有找好下家。
在离开之前,我深思熟虑地考虑了如何离职。离职的想法既令人恐惧又令人振奋,这出乎我的意料。我发现自己半夜醒来,思考很多问题。我把这些长篇的思绪写成了一篇内部博客文章。我反复修改,读给妻子听,她帮助我把这些内容精炼成我真正关心的东西:更真实地讲述我们的故事。
现在,我想将我的故事更广泛地分享出去。为什么?因为也许有人正在孤独地挣扎。
我害怕公开分享这些内容。我担心这会让人怎么看待我。我已经把这个帖子搁置了几个月,一直在质疑自己的动机。但到了某个时候,你只能按下“不管它了”这个按钮。
我重视诚实。见鬼,我核心价值观之一就是“谦逊的诚实”。我想这就是一种体现吧。
以下是我内部分享的内容,未经任何编辑:
大家好,我是 Jon。我在 Stripe 工作了将近四年。我的最后一天将是 8 月 30 日星期五。最近我越来越被真实写作所吸引。我希望能够向你们分享我在 Stripe 的经历,这些故事不会出现在邮件中。让我们从头说起。
那是俄勒冈州波特兰市家中办公室的一个夏日下午。我坐在书桌前仔细检查我的 IDE 设置,确保在即将到来的电话面试中展现出最好的一面。TypeScript 配置好了吗?完成了。安装了最小的测试框架吗?嗯哼。Tmux 能用吗?可以。终端颜色显示得低调而雅致吗?就像孔雀一样。
我看着时钟慢慢接近下午 3 点,手心已经开始出汗。我紧张得要命。我已经在软件工程领域取得了成功的职业生涯,差不多有十年的时间。我发起了并推动了全公司向 Kubernetes 的迁移。我编写了一个被数百名工程师使用的组件库。当我的前公司被 AT&T 收购时,我获得了最高的留任奖金包。然而,在面试前夕,这一切似乎都不重要了。我即将接受严格的评判,非常害怕被认为能力不足。
我对 Stripe 的印象非常高。我认为它是一家杰出的公司,注重工艺、细节和工程卓越。每当在 Hacker News 上看到推出的新产品时,我都会兴奋不已。我听过 Patrick 在播客上的讲话,敬仰他作为行业领袖的远见。用“崇敬”这个词来形容再合适不过了。
带着这些错综复杂的感觉,我迎来了 3 点钟。心跳得如此强烈,我甚至能感觉到它在我的脑袋里跳动。我尝试深呼吸,但并没有帮助。我的脑子里不断回顾每一个细节。“我会在 30 秒后加入,这样他知道我准时了但不是太急切。”我加入了通话,面试官也随后加入。
他自我介绍后,我们开始了电话面试的惯常仪式。我告诉他我已经设置好了自己的环境,并共享了我的屏幕。“他一定会注意到我精心设置的编程环境。”我想。
他给了我一个 coderpad 链接。我开始阅读题目。我已经感到思维像糖浆一样缓慢。表面上看,这个问题似乎相当直接。它展示了一个简单的数据结构,要求根据一组约束条件进行过滤。“没问题!”我想。
我启动了 VIM 并开始工作。“既然他们对质量如此重视,我应该确保类型定义无懈可击。”我从类型建模开始。“嗯,这个问题需要动态键,所以我需要一个索引类型。感谢上帝我不用查资料就能记得怎么做。不想显得软弱。”
尽管腋下已经湿透,事情进展还是比较顺利。我默默地怨恨妻子单方面放弃使用抗汗剂的原因是化学物质。
我找到一个合理的点来运行代码。保存文件后,我的小 fsnotify 脚本检测到文件更改,运行了 TypeScript 检查,然后执行了我的代码。
错误。糟了。
当我仔细阅读错误时,意识到自己并不立即知道解决方法。一团黑暗逐渐笼罩了我的思绪边缘。我手忙脚乱地尝试了几分钟,试图正确解决问题。被困住了,被自己想表现得有能力的需要束缚住了。我能感受到自己的思维在不同的想法之间飞快跳跃,试图找到出路。最终,我看了看时间,发现面试已经进行了一段时间。我必须找到一个泄压阀,以防止整个事情失控。
我做了不可想象的事情。在代码中添加了一个 //@ts-ignore 注释以绕过编译器。
“啊哈哈,如果这是真实的代码,我当然会解决这个问题。为了节省时间,我先忽略这个错误继续前进。”我说。
我继续沿着越来越危险的道路走向解决问题。又一个错误。再一个。更多的忽略注释。糟了糟了糟了。
那一刻,我已经几乎完全不在状态了。我掉进了一个自我的意识黑洞,感觉这威胁到了我的存在。
我知道代码已经接近完成,但我的思维已经消失了。我完蛋了,我也知道这一点。他友好地结束了面试,问我是否有问题。我结结巴巴地问了一些问题,但我知道结果已经定了。
不合格。失败。
我们结束了通话,我把头埋在手里,但只有一会儿。一个想法浮现在脑海中。如果我能迅速让代码运行起来,并找到办法发给他呢?
我切换到 Chrome,谷歌了他的名字。唯一能找到的是他的 Twitter 账号。那时我已经没有什么可失去的了,所以解决这个问题变得轻而易举。几分钟内,我整理了一份包含工作的代码的公共 Gist,并给他发了一条私信:
不必回复我。我只是讨厌像那样留下未解决的问题。代码还不是完美的,但我至少想联系你并发送给你。再次感谢!
我紧张地点击了发送按钮,沮丧地离开了电脑。几天后,我收到了预料中的邮件。
拒绝。
最终,六个月后,我鼓起勇气再次尝试面试。我得到了这份工作。我非常高兴。我对能在 Stripe 得到工作感到非常自豪。我甚至做了一个简单的 Web 动画,与同事分享我的下一个去处。
我是新成立的 JS 基础设施团队的第一个成员。我努力工作,试图证明自己。花了很长时间我才找到一个能够明确展示业务价值的项目。在找到那个项目之前,我一直在其他方面挣扎:写作。
刚来到 Stripe 时,写作对我来说很困难。在我之前工作的较小公司中,我从未真正写过严肃的项目提案。我的写作技能显得极其不足,随着每天阅读那些精心撰写的邮件,这种感觉更加强烈。我试图鼓起勇气分享一份费尽心思的文档链接时,胸中总会有一种下沉的感觉。更糟的是,看到未完成文档上其他人的头像标志。让不完善的工作被看到让我感到害怕。我并不希望别人知道我陷入了困境。我也不希望他们知道他们的意见对我来说有多重要。
稍后再回到写作的话题。
大约一年后,我在 Stripe 找到了第一个真正有影响力的项目。我孜孜不倦地努力将 Dashboard 开发迁移到一个新的 JS 打包工具上。开发速度提高了约 10 倍。这是一个巨大的成功。
我记得朋友在 Slack 上告诉我,我发布的邮件成为了 Patrick 在周五炉边谈话中的一个标签。那时我因为忙着工作而没有参加。得到亿万富翁的认可?幸福极了。想到 Patrick 注意到我,感觉无比美好。终于,我在梦想中的公司证明了自己。我飘飘欲仙。
直到我与老板的下一次一对一会议。她向我提出了一些关于沟通和项目管理的担忧。她和其他人收集的反馈觉得我没有很好地拉其他工程师参与到项目中。她谈到了对成果的自豪感,但这并不能弥补我不够理想的手段。
绩效评估时,我得到了部分符合期望(PME)。
“我知道在这么成功的项目之后,你可能会觉得这个评价很难接受。我想向你保证,只要你解决围绕项目管理和保持高质量交付的反馈,下一轮评估就会有所改善。”老板在另一个一对一会议中对我说。
电话结束后,我爬进衣柜,默默哭泣。这是我为数不多让自己这样做的时刻之一。我感到羞耻和屈辱。
我告诉了那些把我推荐给 Stripe 的朋友们关于我的评分,他们都很震惊。他们给了我很温暖的话语,但这一切都感觉很虚伪。每个人都向我保证,PME 是一种正常现象,并且他们确信我会振作起来。这仍然让我感到痛苦。更糟糕的是,因为这件事影响如此之深而感到沮丧。“该死的,Jon, shrugged it off and get back to work(耸耸肩继续工作吧)” 我这样告诉自己。
我从团队中的一位老朋友那里找到了共鸣。我们一起共事过很长时间,曾在同一家公司工作过。我们曾在实体办公室一起吃午饭多年。我对他说出了自己在回归正轨方面所遇到的困难,让自己稍微表露出了一些脆弱。我发现我们坦率的对话给了我一点生活的动力。
我信任他胜过信任我的老板。我知道,无论我在工作中表现如何,他都会关心我。有他在谷歌文档旁边与我一起工作感到非常鼓舞。我们一起迅速制定了一份我们坚信的 JS 包管理项目下一阶段的提案。
有了他的支持,我感到不那么害怕向老板展示这份提案了。我向她展示了并寻求反馈。我能直观地感觉到她并不感兴趣。随着时间的推移,我逐渐明白了她的真正想法。她认为我们应该暂时搁置这个项目,转而处理其他更为紧迫的事情,但她不愿意直接说出口。最终,我搁置了项目提案,转而投入到另一个 JS 模块化项目中。她在公开场合赞扬了我的决定。这段经历让我感到头晕目眩。尽管如此,我还是埋头开始新项目的工作。
事后看来,这次转变是正确的选择。我不知道为什么我的老板当时没有直言不讳。我从未直接与她谈过这个问题。我们的相似之处比不同之处多。
她被提升到了一个更显眼的位置,而我也换了一位新的管理者。我非常喜欢我的新经理。他一开始就做了件表明他可能是一位不同类型的管理者的事情——他寻求大家的脆弱性表达。
在他加入团队的早期会议上,他对团队说:“在今天的会议中,我想让我们尝试以不同的方式介绍自己。如果大家愿意的话,我希望我们在工作环境中能比平时多表现出10%的脆弱。”我记得当时胸口涌起了一股焦虑和兴奋的感觉。我坐在那里思考自己要分享什么。我决定超过10%。我分享了几年前我的婚姻几乎破裂的经历以及当时的痛苦。有些同事也分享了他们在工作环境中从未听过的更深层次的事情。这让人感到尴尬,但也很美好。
每当回想起在 Stripe 最美好的时刻时,这个场景总是浮现在我的脑海中。那些美好时刻并不是我的项目成功,也不是 Patrick 提到我所发送的邮件。而是我能够更深入地了解和认识我的同事们。
时间流逝,我的新项目再次取得了巨大的成功。评审时间到来时,我得到了“超越期望”的评价。这让我感到非常惊讶,而且是好的那种。更令人惊讶的是,这种因评分带来的动力很快消失了。能够因为表现获得奖励固然感觉良好,但我越来越意识到自己对认可的重视程度在减少。
又过了一段时间,抑郁悄然而至。我在生活的各个方面都越来越缺乏动力。即便是玩游戏(我通常的消遣方式),我都提不起劲来。有些晚上,我甚至会坐在那里盯着一面墙发呆。我的睡眠质量急剧下降。
我惊呆了。我不记得自己成年后曾有过抑郁症。以前我也曾陷入低谷,但这次感觉不同。年轻时我曾经历过类似的情况,但时间不是可以治愈一切伤痛吗?显然对我来说不是这样。面对一个无形的敌人,我感到越来越无助。
我开始注意到,在我工作的“冲刺周”结束后,我们的待办事项列表往往会比开始时还要长。觉得自己辜负了团队的信任,让我更加沮丧。这种感觉深入到了一个我觉得无法控制的地方。我试图减少干扰,DNS 屏蔽了 Hacker News 和 Twitter,不再阅读谷歌新闻。这些措施起初帮助了一点,但最终也都失败了。虽然我设法远离了这些网站,但我依然感到沮丧。
这非常困难,因为我真的喜欢我的团队和我正在做的工作。偶尔,我的大脑会感到一丝滋润。我能够短暂地进入心流状态。代码、文档和对棘手问题的 Slack 回复会流畅地从我这里流出。这种情况变得越来越少,我也意识到了这一点。所有的小策略都失败了,我必须采取更严肃的行动。
我做了最不可想象的事情:告诉我的团队我患有抑郁症,并请了一段时间的假。我还记得开会前那种身体上的感觉。我的胃翻江倒海,感到恶心。“我真的要这么做吗?我真的这么软弱吗?”这些思绪在我脑海中不断盘旋。到了那个时候,另一种可能性已经开始生根。也许,软弱隐藏着通往我所寻找的道路。
我的团队非常支持我。我从他们身上感受到了如此多的关怀和理解,以至于这是我第二次因为工作中的事情流下眼泪。这一次,我不必躲进壁橱里。
我回到了工作岗位。几个月过去了,直到最近两周。我又发现自己无法好好睡觉和休息。到现在我已经足够了解这个周期,知道再次获得解脱和活力只会是短暂的。我面临着一个既让我兴奋又让我恐惧的选择。是时候迈步向前,不知接下来会如何了。
我将以一首今年一直困扰着我的诗作为结尾。这首诗出自已故的约翰·奥唐奈的著作《祝福彼此之间的空间》:
时间的头脑很难读懂。
我们永远无法预测它将带来什么,
甚至从所有已经逝去的事物中,
我们也无法说出它最终会变成什么样的形式;
因为时间秘密地汇聚着它的瞬间。
常常,我们只有在心中积蓄了某种力量,
这种力量让我们对自己目前的状态感到不安时,
才知道是我们该改变的时候了。
也许我们所做的工作已经失去了灵魂,
或者曾经属于我们的爱情
已经无法唤醒我们内心的任何生机。
我们在这片灰色的无尽虚无中漂泊,
直到站在一个我们知道
必须跨过才能重新活过来的门槛上。
愿我们有勇气迈出那一步,
走向召唤我们的未知;
信任那里等待我们的是一段更富有的生活,
我们不会失去任何东西,
而是那些已经死去的东西;
感受到内心深处的坚定,
知道那些即将诞生的,
将超越我们曾经被困住的地方,
在那些空白的时间里,
我们的灵魂渴望已经被消磨殆尽。
谢谢你们听我讲述我的故事。
