Skip to main content

今夜我决定裸辞

 发信人: helpme (名虚胖字满肥), 信区: JobHunting
标  题: 被胡萝卜厂PIP后,今夜我决定裸辞(ZZ)
发信站: BBS 未名空间站 (Mon Sep 27 15:26:29 2021, 美东)



PIP对我来说,一直是存在于网上的传说,我从来没有想到它会真正落到我的头上。我
曾经天真的以为作为一个IC,只要按时保证质量完成任务,我哪怕没有promotion也不
会被PIP,残酷的事实证明我是错的。

毕业后在两个大厂先后工作了共十年,在去年holiday season空闲的时候动了换个环境
的念头,就在各个热门独角兽公司面试了一圈收获了几个offer,最终选择了胡萝卜厂
。选择的原因很简单:他家给的钱真多,base大家都半斤八两不去说了,RSU一给就是
2M,是现在大厂3倍多呢,更何况pre-IPO公司还存在可能的想象空间。

签完offer进去以后,才从网上看到所谓的clawback政策,再看看自己offer上确实也
有,不过如果一年内能上市这个政策等于没有。

就像歌里面唱的:“开始总是分分钟妙不可言”。最初在胡萝卜厂的2个月,还是过得
很开心的。内部的文档一点都不比大厂差,同事亲切友善充满活力而且乐于助人,
manager也通情达理可以沟通,组内气氛其乐融融。工作时间是比一般大厂多的多,和
国内996没啥区别,不过也能接受,毕竟是hot startup么,我庆幸自己做出了正确的选
择。

随着迅速扩招,我们部门reorg后空降来了一个印度阿三经理,一切随之改变。

首先的改变就是不再有经理对你工作的认可。胡萝卜厂deadline一直很紧,作为迅速发
展期的公司我能理解。但是之前manager都会对你每项成果给点口头kudos啥的,现在就
只剩下无完没了的催促,最多给你个点头默许。更离谱的是,阿三经理在明知工作量的
情况下还经常把说好的deadline继续提前。其次就是组内气氛的改变,原先和蔼可亲的
同事们开始变得有点暴躁。我的理解是大家压力都增大了,没有时间和心思花在帮助别
人身上了。新加入的同事出现2-3个月内就离职的情况,在我还没来得及深入了解他们
的时候,他们就从Slack上消失了。

在八月底九月初的时候,有一个重要的featue从RFD到上线只给了一个多月。我每天加
班加点9天内(不是9个工作日)merge了18个PR,总算按时提交。我松了一口气觉得终
于可以安心过一个周末了,阿三经理突然在周五下午5:30临时安排一个1-on-1,接着
对我来说就是天崩地裂的一幕。

阿三经理只字不提我的辛苦成果,上来就说你的表现低于expectation,我正式给你PIP
,原因如下,一二三……在我大脑空白还没来得及为自己辩白的时候,他就说我给你一
个月时间希望看到你的提高,我会把正式邮件发给你,希望你仔细阅读。

那封邮件内容更是让我炸裂,邮件是标准PIP格式的邮件,只字不提我的工作成果。信
的第一部分是列举我罪状,我随便挑2个有代表性的:
1)一个PR里面有18次commit,这是工作没有责任心的表现;
我日,公司里面大把PR如此吧?需求来回改动,review comments需要address。再说最
早不是你说的尽快把PR push出来先让大家看看,然后再慢慢改的么?

2)xx项目上你没有ownership;
这个项目连个需求文档都没。从需求整理到设计实现上线都是我一手操办,我搞不懂啥
叫做有ownership了?诸如此类,总而言之就是欲加之罪何患无辞。里面没有一个是我
工作的失误。

信的第二部分是对PIP项目的要求:要求我在一个月内完成以下3个重大项目,而必须0
bugs。这根本就是mission impossible,别的不说,从业这些年我就没见过哪位大神敢
保证自己code是0 bugs的。

信的第三部分是对没有达到预期目标的后果。明确指明up to and including
termination。

那整个周末我啥事没干,就光顾着搜罗证据写反驳信了。接下来的日子就是一层层上告
从skip manager到HRBP,结果都没有得到很正面的支持。HRBP甚至说我不是唯一一个
PIP,公司里面这事司空见惯,至少有5%。最后Director出来和稀泥说,你看这个阿三
说的也不是全没道理,你确实可以做得更好提高么。至于后面的要求的稍微有些不合理
,你看要不就完成一个项目,做得好些我们就算PIP过关了。我自己估算了一下那个项
目,稍微加班加点一下还是可以赶的出来的,基本上还算正常要求,就忍气吞声先答应
了。

周五晚上9点,我干完本周最后一个PR,4岁的儿子要睡觉了,嚷着我给他讲睡前故事。
我心不在焉一边盘算着周末怎么抽点时间在local做测试,周一啥时候上staging测试,
一边抽出一本图画书讲里面一个故事。图画上画的是给驴子头前面挂一个胡萝卜,催它
干活。我心头一动,这个胡萝卜不就是公司的符号么……

哄儿子上床后,我越来越觉得自己就是故事里面那头驴。挂在我面前的胡萝卜,就是那
个纸面价值2M的股票。我在这里干得那么辛苦却得不到任何承认,还莫名其妙接受人生
第一次PIP,每天接受那个印度阿三的呼来喝去,我图啥?

我和老婆商量裸辞的事情,她坚决支持。家里她管帐,给我看账本我们不算股票账户,
账户现金还有40多万,家里目前最大的开销房贷还剩36万没还清,应付一家人生活开销
几年应该没有问题。已经有了绿卡,也不存在任何身份问题。这2M的RSU,第一我不确
定我能不能拿到;其次就算能拿到,拜登新税法出台后,估计至少一半也是替美国政府
做贡献。到了我手里,能改变我的生活么?不能,那点钱最多是湾区第二套房子的首付。

想明白这点,我连夜发了辞职信。如果我连2M的RSU都可以舍弃,那么这里没有任何值
得我眷恋的地方。辞职以后该怎么样,我现在第一个想到的就是带着孩子回国一段时间
。因为疫情,孩子的爷爷奶奶外公外婆已经2年多没看到他了。现在不上班的话隔离时
间对我来说就不是问题了。中国至少还能访问leetcode,隔离期间刷刷题回来找下一份
工作,应该不至于太难。

Comments

Popular posts from this blog

CKA Simulator Kubernetes 1.22

  https://killer.sh Pre Setup Once you've gained access to your terminal it might be wise to spend ~1 minute to setup your environment. You could set these: alias k = kubectl                         # will already be pre-configured export do = "--dry-run=client -o yaml"     # k get pod x $do export now = "--force --grace-period 0"   # k delete pod x $now Vim To make vim use 2 spaces for a tab edit ~/.vimrc to contain: set tabstop=2 set expandtab set shiftwidth=2 More setup suggestions are in the tips section .     Question 1 | Contexts Task weight: 1%   You have access to multiple clusters from your main terminal through kubectl contexts. Write all those context names into /opt/course/1/contexts . Next write a command to display the current context into /opt/course/1/context_default_kubectl.sh , the command should use kubectl . Finally write a second command doing the same thing into ...

OWASP Top 10 Threats and Mitigations Exam - Single Select

Last updated 4 Aug 11 Course Title: OWASP Top 10 Threats and Mitigation Exam Questions - Single Select 1) Which of the following consequences is most likely to occur due to an injection attack? Spoofing Cross-site request forgery Denial of service   Correct Insecure direct object references 2) Your application is created using a language that does not support a clear distinction between code and data. Which vulnerability is most likely to occur in your application? Injection   Correct Insecure direct object references Failure to restrict URL access Insufficient transport layer protection 3) Which of the following scenarios is most likely to cause an injection attack? Unvalidated input is embedded in an instruction stream.   Correct Unvalidated input can be distinguished from valid instructions. A Web application does not validate a client’s access to a resource. A Web action performs an operation on behalf of the user without checkin...