从谷歌离职

距离上次写博客都已经三年半过去了,那会高考的学生都快大学毕业了吧!

这几年发生了太多,足以载入史册的疫情都已经来了又去了;科技行业经历过各种大包跳槽的火热,也经历过裁员潮的寒冬;俄乌冲突,中美摩擦。。。算了我不是一个对于政治太敏感的人,讲讲这些就是感慨下时间过的太快。

回到自己,我去年已经过了30,俨然已经成为了读书时代自己眼中大叔。然而离毕业时的小鲜肉时期,也就仅仅过去了不到10年。毕业晚会上哭成泪人的模样还历历在目,和室友们喝酒撸串聊人生,聊篮球,聊作业的日子好像也没过去多久。现在各奔东西,大家都过的还好吗?虽然2018年我又经历了一次研究生毕业,但似乎在我心里,学生时代的休止符就一直停留在那个2014年的夏天。

这几年,我已经离开了我曾十分向往的谷歌,加入了目前最大的独角兽🦄️之一的Stripe,也经历了又一次的升职,开始带起了团队,算是进入了公司的中层。稍微聊聊这些年来一些想法的改变,以及工作方式的改变吧。这次我也会把它拆分成几个部分吧:

  • 从谷歌离职
  • 在Stripe的成长
  • 对升职的建议

为什么离开谷歌

谷歌曾是我梦想加入的公司,引领科技的潮流,炫酷的工作环境,羡煞旁人的员工福利,简直是女神级别的存在。从2014年害怕挂掉,甚至不敢面试而推掉了好不容易获得的面试机会(参加GCJ得到),到2015年面试时的惜败,最终在美国读书后到了2018年才最终圆梦。

关于在谷歌的工作感受,我前几篇博客聊了不少,感兴趣的可以去考考古。简单来说我在谷歌一共呆了2年,这两年经历了一次升职,从L3->L4。一直在安卓的GMS Core组。大概有以下几点原因,让我选择离开吧。

刚进google,因为是研究生毕业,虽然有3年的工作经验也默认就是entry level。所以钱不会很多。关于各大公司每个level拿多少钱,levels.fyi这个网站还挺准的,有兴趣的可以去了解了解。一个L5(高级工程师)和一个L3的总包收入可能差着100%。所以当时我心里的不平衡感挺强烈的。想想自己那三年业余时间加班加点的学习,在小公司的大包大揽动手实践,所以我自己感觉我那时的技术能力可能和average people6-7年的差不多,早就qualify高级工程师了 (2015年曾经面试一家公司的时候做一个take home project,当时的CTO看了我的代码觉得像是一个工作了10年的人写出来的,最后过了但没去)。所以心里一直痒痒,想着跳出去找找机会。不过一般而言,美国的公司,工作经验小于5年,不太会给你面L5的机会。况且我在谷歌只是L3,没听说过L3跳出去直接能拿L5的。所以我就决定先在谷歌待到L4,再跳出去L5。毕竟18万和36万,差距可是100%啊,生活质量会有质的区别。

机会

我觉得在谷歌干的东西都太螺丝钉了。相比在LeetCode负责整个公司所有的事情。架构上从头搭建K8S分布式集群,业务上设计一个瞬时高吞吐量,可以承载几千上万人的竞赛系统,决策上可以和老板讨论未来的商业和技术方向,有很多的主导权。这种成就感是在谷歌拧螺丝钉带不来的。在谷歌这种大公司,这些不是一个entry level,甚至L5能主导的。起码得到L6-L7级别。而这种平均都得摸爬滚打十几年才能够到。所以我把目标瞄准了小一些的公司。当然我不想去那种太小的,风险太大,同时业务还没成型,用户也不多,很难实践一些分布式的架构。于是我就把目标瞄准了那些中型的,一两千人的公司,这类有以下几点好处:

  • 公司业务基本明确,风险不大,上市概率高。不像去10几人的公司,拿的option兑现的概率很低。
  • 用户量已经够大,会出现很多公司成长中的技术难题,有机会可以自己操刀实践。
  • 钱一般给的比较多
  • 这类公司在成长中,会有较大成功率直接跳级的机会

升职难度

谷歌相比别的公司,升职速度算是慢的。一般从L3到L4需要2年,从L4到L5需要3年。如果待着升职到match我自己的expection,起码得4-5年,我会觉得这么多年都是杀鸡用牛刀。这都还是在比较顺利的情况下。况且在大家都拧螺丝的情况下,我一直感觉有力使不出来。有一腔热血想去做点大的project,影响X用户,但是在当下的环境,实在不知道这个力该往哪使。大家做的都是一些有的没的project。很多project我都怀疑甚至不做都不会有什么大不了。所以你经常会看见谁谁谁做了大半年的project,因为上头的一句话,或者是决策的人换了,或者是优先级的问题,说不做就不做了。然后半年一年白干,对于升职又得从头再来。这种实在是自己的career path完全由上面的人决定的感觉。

我觉得根本原因在于公司发展到了这个阶段,lower hanging fruit基本都被摘光了,所以大家做的事情大部分都是这些有的没的。针对一个小地方,小需求,搞起一个proposal去解决。甚至有些需求是被强行捏造的。说白了就是产品成熟了,没有太多刚需了。太多project都是老板和TL们为了扩大自己的地盘,硬想出来,从而向上面要更多的人。结果最终这些烂project就会被丢给老板们不是很器重的人。才会有这种一有风吹草动就project没了的尴尬。

另外升职还取决于你做了多少。就跟我之前几篇文章里提到的。太多人在你的一个非常小的design或者code change上指手画脚,导致deliver很慢。你想快都快不起来,被各种人block着。所以才会有一直使不上力的感觉。在这种情况下,一年都做不了多少东西。

兴趣

我进谷歌前选的是Infrastructure,所以匹配的组都是Infra。但没想到最终匹配的是一个Android的Infra。就是在Android手机上的一个后台程序,用API给各个app提供谷歌的服务。作为一个果粉,我自己自从2014年后就再没碰过Android,就算那两年在GMS Core,我也没有用Android,连公司发的pixel都没怎么打开过。加上上班做的都是非常螺丝钉的活,我感觉一点兴趣都没有,提不起干劲。想想还是对分布式系统感兴趣。如果我当初去的是google cloud可能会好点?后来想想其实当时可以要求HR再匹配几个别的组聊聊,当时因为毕业第一个offer,又是谷歌,怕他飞了,于是想赶紧match上进去得了。

最终,在面试了几家公司后,我拿了Snapchat,Stripe的offer,都是对应高级工程师的package。实现了在美国2年从entry level到L5的growth。也终于可以有更大的scope和更match的兴趣。下一篇继续聊聊在Stripe的工作。