这些是我在裸辞和找工作期间的一些笔记。之前是散乱的记录在自己的notion笔记里,还有随意的发表在社交媒体上,这里整理总结了一下。分享的原因是我在其他人,特别是一些youtuber的分享中受益匪浅(Colors of ChloeHussein Nasser, mayuko, Nian Li),希望自己保持透明,保持输出,并分享经验给他人参考。

复盘反思为什么裸辞

写在2022年一月,刚开始裸辞之后的休假。

辞职的原因

选择辞职,主要是三个原因:职业成长方向,工作环境和行业机遇。一家公司待七年在互联网行业算是非常长的了,当然这一路我的工作范围和能力以及薪水都有增长。不过最近一年感觉这个工作给我的成长方向并不完全匹配我的职业规划。我希望更加专注通用性的技术水平提高,但是目前公司发展方向和人员匹配要求我在业务深度,项目管理和人员管理上花更多精力。做管理是职场晋升的一个方向,但并不是唯一选择。我对这个方向不排斥,也积极的踏出舒适圈去尝试。但是我知道自己的内心真正期望的输出模式,不是“管理”或者“领导”,而是“内容输出”和“正面影响”。我想给自己更多机会提升自己的技术能力,时机成熟之后再做选择。第二个原因是我觉得是时候尝试新的环境了,去一家资源更充足体系更成熟的公司继续学习。最后一个原因是现在公司在发展瓶颈期,薪水吸引力不够,我觉得自己的收入和承受的压力以及工作量不匹配,市场上有很多机会,是个换工作的好时机。

为什么裸辞

较大的工作压力让我很难静下心来找新工作,一方面我想找技术要求高的senior角色,这需要我花足够的时间准备技术面试,另一方面我希望有更多选择,各种背景的公司都想面试一下,这样更要求我巨大的精力投入。第二个原因是希望做好旧工作的交接,所以把交接安排的主动权交给老板。最后是这一年真的有点身体心理透支,希望停下来一段时间享受和家人纯粹的相处,好好享受一顿饭,好好读几本书,花时间在健身打扮上,把这两年因为生娃和加班而丢失的生活找回来。

离职的时机

换工作在我今年的计划中,但并没有想要裸辞。第二季度公司团队各种人员变换,项目压力增加,我的压力和焦虑也积累得有点过大。但我做的第一件事不是抱怨和逃避,没有消极怠工,也没有骑驴找马,而是调整自己。压力大半夜失眠的那段时间,我睡不着就直接起床,四五点起来加班,背单词。工作上在资源不足的情况下,我撸起袖子什么都干,和外包团队对接,接手遗留项目做后端开发和优化,开始新项目也做最基本的前端开发。同时带团队、盯项目时间线都没有落下,保证所有项目如期发布。在调整状态两个月后,所有严重的项目问题都解决了(而我神奇的养成了早睡早起的习惯),我才重新审视自己离职的想法。这时候做决定既不是逃避也不是冲动,而是真正觉得应该改变了。我提出之后老板非常理解,甚至是一种你早该尝试改变的态度。最后还是再干了近三个月,上线了一个全新产品功能并等到新上司入职安排交接。

离职的心态

这里聊聊我心态的变化。这个变化我觉得非常重要,值得自己思考反省。在提离职之前,我心里各种焦虑,一方面是工作项目上的压力和对工作内容的排斥,另一方面是我对辞职的畏惧:不知道是否能处理好和老板们的交流以及之后是否能顺利找到新的工作。在这种焦虑下我很被动的工作生活,很难获得乐趣。在终于下定决心和老板完成艰难对话提出离职之后,一下子就豁然开朗了。焦虑缓解了,我突然就有了精力去改善自己的生活:开始坚持刷题,开始减肥健身。我计划中这些事都要在裸辞修整期间才开始做,但是没想到在卸下压力和焦虑后,我完全可以平衡好工作和积极生活。我觉得从提出离职到现在这三个月的心态是我宝贵的财富。对我之后工作心态是很好的参考:当对一件事得失感没有这么强烈时,反而能用积极的态度去面对。工作只是工作而已,不值得你二十四小时为此操心,付出和你的薪酬等价的价值就足够了。关注个人成长,享受生活,探索世界,才会觉得人间值得。

不工作如何自律

写在2022年一月尾,休假几个星期后。

固定每日作息

每天的作息和工作时基本保持不变,只是傍晚多出了亲子时光。之前工作时,特别是没有居家办公的时候,回家基本是七点半到八点,所以晚上没有机会和儿子互动。趁着这段休息的时间,好好的弥补一下。同时保持了每天5到6小时的无打扰学习时间,没有给自己太大压力,毕竟裸辞就是想放松休息一下,但是也足够让自己在准备技术面试的时间线上保持一个合理的进度。最后运动,休闲阅读和自己计划要研究的小九九(健身知识,穿搭学习,生活效率等)都没有落下。同时感谢我伟大的母亲,日常家务和儿子的三餐等她负责了绝大部分,没有她我不可能有这么多自己的时间。

保持block calendar的习惯

上班时,每天第一件事就是看自己的日历,根据每天会议安排计算focus time再安排一天工作。我把这个习惯保留了下来,把高优先级安排都明确的列在了我的个人日历上。我是否严格遵守这个日历呢?老实说,没有职场里职业道德的约束,很难百分百遵循。我觉得自己几个星期以来有做到百分之八九十吧。基本每件事都做了,但是有一定拖延,总是晚个十几分钟半小时才开始。

合理的使用番茄时钟

番茄时钟是一个很流行的提升专注力和学习效率的方法。一般的番茄时钟循环是25分钟专注,5分钟休息。这个时间循环对于专注力连续性要求不高的内容适用,但是需要高专注度的事,比如刷题,不可能在code写到一半的时候打断。所以我会根据不同的内容调整时钟时间。上午看书学习,吸收知识和训练记忆力,使用25分钟循环。下午刷题,我会直接设置到2个小时的专注时间。

设置娱乐休闲软件的使用时常

对自律最大的挑战就是及时享乐分泌的多巴胺。我不玩游戏很偶尔追剧,平时喜欢刷刷某书和某管。于是我限制了自己的使用时间,手机系统都有这个功能,每天固定一个使用时间,到时间了就用不了这个App了。这招还挺好使的。

以上也是对我“躺平”三周的一个回顾。生活很有效率,心态很放松。时间自由的新鲜感还没有完全褪而找工作的压力还没真的来,算是蜜月期。再过几个星期看看自己心态会如何变化吧。

面试准备

技术岗位的面试准备基本就是刷题,学习系统设计,背八股文和演练BQ。资源无非是leetcode,几本书(DDIA,System Design Interview I & II)。我拉了一个notion表来记录刷题进度,前后刷了四百多道题,不过由于我做题真的很菜就不赘述了,更多详情八卦可以移步这个神奇的论坛

关于刷题

不管是否认同技术面试考算法题这个模式,这已经成为中型大型科技公司的标准了。要面试科技公司工程师职位,不得不刷题。关于刷题,我最开始有点像无头苍蝇一样乱刷。后来看了别人的经验分享,找到了一些窍门:系统过一下算法再按算法tag来刷。 我是java选手,看的这两门MOOC:Algorithms, Part IAlgorithms, Part IIAlgorithms这本书, 每复习一个算法类型之后,按tag找到相应题目开始刷, 我参考这个tag总结

这里要好好安利一下Princeton的这门课。第一次学算法是十年前了,当时是看MIT的经典公开课和教材入门的。没有看完,数学渣渣的我有点吃力。毕业找工作时又重刷了一次算法,那次看的就是Princeton的算法课。当时觉得这门课讲得太好了。七年过去了,我把当年的笔记拿出来复习,收获还是很大,并且发现这门课真的是宝藏!

这门课的教授——Prof Sedgewick,顶着一头白发,说话有点顿顿的,声音低沉声调也没有什么起伏,不太引人入胜的样子。仔细学过后才知道,老先生真的把经典算法讲得特别深入浅出。学习红黑树,才知道这个算法就是Sedgewich本人发明的!他从2-3 tree讲起,再延伸到left leaning red black tree的概念。他说正是在讲授这门课的过程中,他重新发现了更加优化的红黑树实现方法,所以更优的算法一定存在的,等着人们去发掘。

我当年买了Sedgewich早期的基于c++写的算法书(因为当时c++还是写得多点)。那本书是他90年代写的,现在对比着看,发现一些经典算法在他的公开课里都有了更优的实现。比如quicksort里的3-way partition,书里用了6个pointer,太晕了。看他在课上的讲解,3个pointer,配合动画,秒懂。红黑树也从2-3-4 tree简化到了2-3 tree。旧书里洋洋洒洒的几大篇复杂解释,在他的公开课中轻轻松松用简洁的动画就讲明白了。Sedgewick本人是网络公开课的推动者。这门课的教材Algorithms在网上有电子版,在持续更新,红黑树这章今年三月是最后更新。我不禁感叹,知识真的是“无价”的。

关于系统设计

准备系统设计面试,基本大家都会推荐DDIA这本书,我较早读过但是读得不精,这次又认真的读了一遍。另外一本是Alex Xu的System Design Interview,这本书我也买了很久了,其中的知识点虽然不深入但是总结归纳得很好。之前我就照着这本书的介绍和参考资源写了一个rate limiter的demo,优化之后写进了生产系统中。今年三月Alex Xu又出版了System Design Interview的第二版,内容更有深度更丰富。DDIA里浅谈了很多数据存储和分布式的概念,但是没有具体的实例。而System design interviewI&II这两本书的deep dive章节,讲了很多基本概念的实际应用。一些经典的系统我参考了书里介绍的设计和一些公司的技术博客分享之后,自己再按自己的想法在白板上画一下。

八股文概念,比如网络数据库等,我用Anki card来整理问题和答案,根据记忆曲线来复习。BQ的准备我陆陆续续的写了十几页的小故事,没事时就自己给自己讲讲,这个没有什么诀窍,是真实的经验积累。这里我不得不感谢我之前有挑战性的工作经历,现在回想起来我在开始带团队时做了很多囧事,经历了都是财富。

System Design Sketch

目标公司

写在三月初开始申请工作之前,我给自己列了一下筛选的条件。

基于自己的偏好,我列出了十家左右的公司。申请方式主要是直接linkedin联系之前有建立connection的Recruiter,找内推以及直接海投。

我的目标公司
备胎公司
申请了被ghost的公司
没有申请的公司
为什么不考虑中资公司

不是说中资/中国公司不好,Lazada,Tencent,ByteDance这些公司有巨大的用户体量,也有非常优秀的工程师文化,如果注重技术能力成长,这些公司绝对是很好的选择。并且薪资待遇都是一流,近年在新加坡建立亚太地区的核心研发中心,发展潜力很强。

只是和我现阶段的求职诉求不符:

其实我感觉这些公司的面试问题在于:没有统一标准,就看聊得好不好。中资公司文化里还是很受中国传统的关系驱动合作方式的影响。这些认知来自glassdoor上的评价,也有基于我的个人之前的工作经验。

面试体验

总结自三月中到四月中面试期间逐步更新的面试笔记。

JP Morgan and Chase

面的第一家。多年没有面试,面之前紧张得觉都睡不好。面完之后才松口气,只能说有点水,都是非常简单的coding和基础问题。而且面试coding也没有个工具,直接让我打开IDE共享屏幕,这也太草率了吧。第二轮技术面面试官最后都想不出题目了,提前结束。最后Recruiter打了好几个电话,问我意向和期望的薪资,我也很诚实的分享了。之后几个星期Recruiter打了几个电话试探我口风,说match不上之前的薪资可以去吗,我也没拒绝啊,回答模棱两可,毕竟我现在待业,能拿个offer先拿着。结果之后Recruiter消失了。好吧,我可以自我安慰是overqualified了吗?

Shopee

Tech interview还挺难。两轮都是先来两道medium题(有高频,也不全是高频)。然后一顿八股文,系统设计问题轰炸。面试官都挺好,比较友善好说话,关于八股文我都是知道就使劲扯,不知道就老实交代。最后一轮面很迷,不知道是面behavioural还是tech,问Recruiter也没有给回复。这轮还挺尴尬,因为圈子小,shopee search的老大早期给我旧厂搭建过search系统,我啥都不敢说,因为他比我更懂我旧厂。我感觉这轮也没什么章法标准,大佬们估计也忙没有时间准备面试,就是想到哪聊哪,看个对眼走个流程。总之整个Shopee面试流程体验还算OK,我自认为表现挺一般,最后说要出offer了结果晾了我两个星期说要加一轮HM面。因为有其他满意的offer就退出了。我觉得他家面试的问题是没有统一标准,比较看面试官个人偏好吧。基于我之前和国内互联网大厂的同事面试,合作,交流的经验,感觉中国互联网公司都有这个特点。这个和美国科技公司大相径庭,公平平等这个在欧美是政治正确。我三轮面试有两轮是中文面的,所以他家文化确实还是很受中国互联网公司文化影响。

Ninja Van

小小一个start up,流程好长呀!先是花近两个小时做了一个online assessment,题目从数据结构,多线程,分布式,系统设计循序渐进,覆盖全面,设计得很用心。我感觉自己做得很好,但是一直没有回音。一个多星期之后Recruiter才联系我,安排正式面试:两场一个半小时的技术面,然后还有culture fit两轮!这小公司好作啊,这么多轮。两轮技术基本都是聊项目经验,系统设计等,只写了一道非常简单的coding题。刷题不行的我聊项目和系统设计完全没问题,说到一些团队管理经验和跨团队沟通经验,面试官更是和我心有戚戚焉,几乎要脱口而出:你太懂我了!只能说我也是startup里摸爬滚打出来的啊。面试体验很不错,问题设计安排都很用心,比shopee面试更有结构性一点,但是难度较低,小公司还是主要看项目经验和解决问题的能力。对于认真的求职者来说,认真规划安排的面试流程更能体现公司对于人的重视和管理能力。他家的面试流程让我对这家公司印象非常好。还是因为接了更好的offer,没有继续面完culture fit。

Grab

赶上娃和我高烧的两周,OA拖到deadline才做。虽然发烧但是我觉得秒OA还是没有问题的,提交OA之后又隔了一个多星期Recruiter才再联系,太晚了就没走后续流程。据说Grab面试内容和欧美科技公司标准流程差不多,coding加system design,喜欢问一些经典的design问题如设计crawler,log system等。

Google

海投没有消息,一个星期后找朋友内推马上被联系了。Tech screening一上来就是一道hard,不过是高频题而我正好刷到,勉强过了。我觉得都是运气,因为我刷题真的很菜,google的tag题我一看这么多hard就没信心刷。但是google面试真的就看做题,Recruiter说面L4可以选择不面system design了,做三轮题加一轮BQ。他家Recruiter给面试反馈还会细节到和你聊为什么用DFS不用BFS,也是难为没有计算机背景的Recruiter们了。面试压力大,拿了另一个满意的offer也提不上兴趣刷hard题了,为了不浪费大家的时间,退出了on site。有个小插曲,和我对接的Recruiter是我朋友圈好友,圈子真小。

Meta

我没有走完流程,fail了一次tech screening,放弃了第二次screening的机会。 只能说天时地利人和都没有占到吧。第一次screening前我高烧了三天(之前娃手足口家里蹲一星期也没有太多精力准备),吃着退烧药勉强把leetcode高频tag刷了两遍以上,面试当天也是退烧药顶着,面完一身大汗衣服全湿了。meta比较变态的是要求45分钟两道bug free,而我最大的问题就是手速慢。都是leetcode题,但是我有一道题没有写完,面完就知道悬了。第二天Recruiter打电话来说差一点点meet bar,可以再安排一次screening。Recruiter应该很想我过,使劲把我的screening往后拖,每次都往后拖两三个星期好给我时间继续刷题。但是拖着拖着就拖黄,因为拿到了比较满意的offer,又对enterprise engineer的职位意向不大,就放弃了。看来刷题菜鸟如我注定进不了科技大厂。

Indeed

这家公司面试体验真的没得挑。因为他家宗旨是“帮人找工作”,所以身体力行地把这找工作这个事做到极致了。开始我还觉得外包tech screening到第三方平台这个事挺掉价的,没有太当回事,也没认真准备就当是面试mock练习了。但是居然体验很好——面试官很专业,流程标准化,而且平台易用高效对面试者友好,随时可以改面试时间,系统会马上匹配新的面试官。我还是延续我一贯的做题手速慢的特点,没有写完全部题,但也过了。过了screening之后他家的流程:Recruiter花一个小时详细的讲解on site安排,辅导面试,交代面试的考核评判标准和出结果时间线。一整天的on site从director opening到五场背靠背面试到closing安排得仔仔细细。每场面试都有一个主面试官和一个shadower面试官,面试官都很专业友善,考得也全面,对算法数据结构的理解和复杂度分析,交流能力,合作能力,项目经验都会涉及到。并且这家公司高度的透明,职位的薪资标准在官网上公开可查。第二天就出了面试结果,他家给了很好的package。在glassdoor上看了看这家公司风评,感觉是个好公司,同时我也很认同他们的公司文化和使命,就接了。

Zendesk

我非常喜欢小而美的产品,这家是我最想去的一家公司,而且听说他们WLB也很好。但是自己太作,Recruiter阶段就翻车了。他家Recruiter给人一种爱来不来的感觉(后来知道应该是这个职位快close了,Recruiter不着急,只是在找备胎)。因为之前和几个大厂的Recruiter聊,他们都主动表示会根据面试者在其他公司的面试流程进度来调整时间,让面试者可以在同一时间段进行面试,有机会比较offer 。于是我很作的询问是否可以根据我的时间线来安排面试,结果人家说这个职位只有一个空位,先到先得。我当然表示完全可以理解,请给我安排!后来Recruiter发来首轮HM面试时间选择,我没仔细读,选了一个一星期后的时间就以为安排上了。其实人家是让我提供所有有空的时间段再安排。结果我哼次哼次准备一通,到时间了发现根本没有安排上。第二天HR发来好人卡,说职位已经被填上了。他家每个组面试是单独的流程,申请多个职位的话需要不同的面试流程。Recruiter也表示如果一个组面试没有过,其他组也可能会考虑,她把我的CV给负责其他职位的同事了,如果有合适的机会再联系。但并没有再收到任何消息。

Stripe

没有面,申请了快一个半月才收到回复,可能是因为我海投没有找内推,对pre-IPO卷厂我还是心有余悸,所以只是碰碰运气。不过还是和Recruiter聊了聊,了解了一些信息:新加坡主要是针对东南亚,泛太平洋地区开发本地化的产品功能,目前开放的职位比较核心,和bank集成以及money movement相关。Stripe在东南亚的扩展算非常成功了,GrabPay也是他家支持的,有产品有技术还有大包裹,目前估值已经950亿了,实实在在的明星独角兽。但是不是我的菜:一个是bar高,面了两个月了,实在是没有力气再面了,千金难买半日闲。另外是感觉做支付会很卷,银行集成,数据安全,金融合规,脏活累活多,运维压力大,不适合我这样的中年妇女。卷厂特质在和Recruiter约谈中已体现:1)他家约聊系统和zendesk用的一样,我一不小心选了公共假期一大早,立马自动确认约上了!(zendesk是一天之内基本不会得到回复的) 2)Recruiter说他们面试官是globally located,只要我时间安排得过来,可以一个星期内走完全部面试流程,牛!

职业规划

在经历自我探索,自省反思之后。作为一个INFP,我的职业目标更加明确:内容创作,成为导师或教育工作者,并对社会产生积极影响。虽然终极目标明确但是短期方向模糊,我决定从保持透明,坚持内容输出和提高沟通交流能力开始做起——比如掏心掏肺地写了这篇文章!