“到什么年龄干什么事”–“到了预期寿命要不要去下个葬啊?”

今天我们组全公司唯二 staff engineer 聊到他都五十岁了,平时作为队友聊项目聊技术聊爱好聊器材,他专业 fermentation,平时还在公司动不动发个自酿酒 sour dough foodie channel 里答答疑啥的,所以完全没有意识到这个年龄差。

组里估计跟我差不多大但前两年才转行的校友,声音丝滑每次公司开会他有 presentation chat 里都是一堆叫他去做 podcast 的迷妹迷弟。

一个佛系温柔白须白发大哥刚转了 manager,笑起来甜甜的,Team virtual out 散步还给我们视频直播了他去骑自行车。

另一个跟我一样佛系内向(我第一次见这么腼腆的胡子白男)的 engineer 进组最久但是天天划水(同为划水小能手我暗自惺惺相惜),每次 team lunch 都直播忙着哄娃,本来住 SF 疫情一开始就全家搬 half moon bay 去了。

前 manager 现在升职去当 director 了,当初招完我就去放产假了,之前老婆因为在公共健康行业被 county 紧急争调去上班了 manager 带娃新生女儿天天开会玩命尖叫,老婆现在放假回来了也是常常乱入开会背景给小孩拿尿布并把老板赶得满屋子跑。

公司为数不多的面过我的女 eng 现在转 manager 的俄罗斯姐姐也是半路出家转 eng,此外还是个专业火棍舞表演者。对,就是拿着俩火炬甩来甩去那种。

前东家一 PM,五十多岁才转行过来当初级 PM 的,完全不卖老装懂,经常虚心问问题。老婆是日本人,他有一次在办公室接起电话,一五十多岁白男就开始讲日语了,场面十分违和。

另一前东家 PM,温柔加穿衣和胡子造型精致,我就差默认是 gay 了结果闲聊得知人家是(老婆)生了小孩才来大公司 settle down 转行当 PM 的,之前当过冲浪摄影师、野生动物摄影师、去非洲 volunteer 了几年、回 LA 搞电影、开电影产业相关 startup 等等。讲完:what about you? 我:😮我:我,我毕业就当码农了…

前东家还有一 marketing analyst,一见面就觉得 fabulous 气场爆表在我心中像是接地气版 Adam Lambert,常年顶着一头(染的)白发,之前吐槽刚从纽约过来的时候还对穿衣有点追求,结果穿紧身皮裤上班被 HR 约谈了(……),于是我见到的时候已经是天天大裤衩夏威夷衬衫人字拖来了😂我走之前又转回去纽约了。组里一半 LGBTQ 我们其他俩在他面前一站简直就是行走的垚。

就算是这边的 peer 中国码农里,也有在国内工作到 30+ 的商科 les 情侣先供 A 出来转码 A 工作了再供 B 出来读书然后 settle down 美滋滋远离全压雅洲内卷逼婚中心的;有当了一阵建筑师的妹子被我忽悠半路出家当了码农负责赚钱养家老婆负责继续当建筑师貌美如花的。(咦华人码农我举的例子怎么都是 les)

我再一听国内同学同是 tech 行业招人一看年龄太大直接简历 pass 的,不禁一阵寒战。

年龄歧视的问题是,一切的时间线都是规划好的,大家往一个方向走,你不按部就班,自然就会落后。几岁毕业,几岁升离 entry level,几岁当上 senior,跳几次槽拿到多大的包,婚要几岁结,房要多少钱在什么区,娃要啥时候生有没有生的资本,几岁资产要到几个 M……可以焦虑的事情太多了。

而当年解锁了跳出这套按部就班道路的心态之后,人生真的海阔天空(当然,前提是认真审视哪些是真的客观环境限制哪些是自己想象出的枷锁)。不想刷题跳槽?原地划水做完 minimum社畜活儿完事。大公司致郁?瞎 JB 面点小公司 window shopping 一圈走人,放低点要求已经骑驴找马真的卖方市场。想到处玩买新电子产品新衣新包?反正不养娃省下几个亿,买就是了,又没有人要跟你比 30 岁 FIRE,玩几年干几年何妨。想有副业/探索下新兴趣又怕本职 day job 压力大?一天上班 8小时除去吃喝拉撒睡觉时几小时,不还有那么多时间嘛,不上赶着升职(要么怎么说 FB toxic 呢)有不行随时走人的觉悟 8 小时做完 day job 绰绰有余。

郁郁寡欢的时候还是得看看自己其实有多少 option。当很多人发现自己其实已经被 privilege 包围了却给自己了一堆枷锁之后,即便不冲破这条既定路线光是知道有选择已经足够了。


人搁那儿讲客观条件之外的个人选择怕人误读结尾都强调 privilege 了,有的男的上来就是一副镰刀心“你们不懂这是历史进程”。有了 ego 没什么不可以,全世界就你最懂,每天不 mansplaining 仿佛没吃饭似的不舒服。


如果喜欢本文的话,欢迎在 Patreon 给我打赏顺便解锁一下小 perks(不喜欢月费的话页面最下方可以 make custom pledge 输入自定义金额 (ง •̀_•́)ง)。Patreon 里提供诸如 1:1 聊天/职业咨询和博客选题投票等金主特权,如果想多聊几毛钱欢迎来成为金主:Become a Patron!

在 startup 干了半年,与我过去几年大厂 FANG 工作体验有何不同?

在早上 promise 了大家今天要摸鱼的鞭策下提前完成了今天的 minimum 活儿,可以顺利写写我在大小厂当普通码农的不同工作体验供大家参考了。以前在大厂各自的体验写过很多篇了就不赘述,本文仅关注大小厂横向对比。对以前大厂经历感兴趣的话可以参考文末附录里我以前写的日志。

(Heavily 中夹英 please X out before we disgust each other. 另外我在一亩三分地和知乎都有号,之前有人盗帖已经被 Warald 亲自打脸抄送我然后把盗文者删贴扣分了,所以请某些人洁身自好,沦为跟营销号一样没节操。人都在美国了就别玩天朝贴吧那套了。)

一点我的背景便于理解:本身对写码没什么热爱,半码农专业完全是高考志愿报的不咋地调剂的专业,直到大四上学期申学校的时候还不想去码农专业,申了一半码农项目一开始的动机纯粹是为了“本专业保底”,后来在论坛上耳濡目染多了给自己洗脑“反正不爱上班哪行不是不高兴,不如选个钱多/身份容易的职业不高兴”,就乐呵乐呵的去技校读码农专业了。后来的工作经历期间也不乏转 management track 机会,但我一向我这么讨厌跟人打交道和没野心,还是老老实实当 engineer 吧。

毕业阴差阳错懒得刷题顺理成章地进了 FANG 里垫底的血汗工厂就没再面试了。混了几年忘了初心又嫌钱少路远,换了 FANG 里另一家血汗,一来就碰上坑爹 manager 导致一直觉得跟整个公司气场不合。呆了俩组混了一年半载觉得再不换换环境就要被 depression 逼疯了,遂在几家小到中型(100~1000 人)startup 里纠结一番选了个钱最少人最少单口碑和产品皆不错的 startup,现在干了快到半年。赶上疫情,其实就去了公司一个月,剩下时间全在家办工。

如上文所说,工作对我来说唯一的目的就是糊口,一点爬梯欲望都没有。世界上可能没有几个丁克比我更铁(regardless of sex orientation)不需要为养娃筹钱,没有奢侈品爱好顶多买买平价电子产品和游戏,也毫无职业上的野心。因此,以下工作体验也均以此中职业目标/工作风格为前提。我只干过三家公司五六个组,经验难免有局限,为了简洁提到“大厂”与“Startup”也是个人经验,不一定适用于所有大厂与 startup。

工作内容

大厂:

无论是刚毕业 entry level 还是后来 lead 项目和小团队,或是去新组 ramp up,我呆过的两家大厂都给我感觉有很多 overhead,实际写码时间远不如现在的小公司多。这些 overhead 包括但不限于:

  • 项目前期撕逼扯皮 scope、resource、design、planing——由于大厂“水份”多,划水的时间也多,经常出现前期厌班拖拖拉拉没写,deadline 前一两天赶工到吐血的情况。
  • 中期跟其他组或职能 cross function 合作。同样,好的 manager/PM/TPM 和组织架构可以有效提升这个部分的效率,但同样可遇不可求。像我在 Why I quit 你脸那篇里提到过不止一个例子:你自己读代码要三周还不一定对合作组三天就能解决的问题全靠对方愿意帮你的意愿、合作组没有人知道代码内容、前期 manager/PM 没协商好项目做到一半才发现 assumption 是错的等等。
  • 开发过程中由于庞大代码库、services、规范和框架所造成的不可避免的 slowdown,如 environment setup、configuration、dependency migration 出现的问题等等。不同公司和组用的工具不同、文档质量不同可能有所影响,但我呆过的两家都各有各的好与坏。
  • 真正的 operation load,毕竟用户多代码量大,光 debug/monitor 工具就一堆够令人迷惑的了。在此点名批评 FB,跟亚麻的 oncall 效率完全不是一个数量级。
  • 整体划水时间较多,很多时候这种“明明有事做甚至明确知道怎么做且没有被 blocked 的情况下就是不想开始,宁愿花水浪费时间,想说再划一下就去工作结果从早划到晚划也没划好活儿也没干还搞到很晚没有 work life balance“的情况其实并不快乐。好的 manager/PM/TPM 可以有效缓解这种情况,但能不能碰到全看运气,且随着工作经验和能力范围所涉及的 scope 增多,难免会要自己解决这些问题。

因此实际上写代码,或者说个人觉得真正在“干活儿”的时间可能只占全部工作内容的一小部分。Design doc 虽然也是产出,但跟写码完全是两种效率感。更何况根据公司风格不同很可能 design doc 也没什么好写或者写出来没什么提升。

Startup:

明显感受到大半时间在写码。原因可能有以下几条:

  • 产品小迭代快,虽然不一定有大厂完善的 continuous deployment framework,但代码基本简单直接达成目标,不懂的问题在组里一问也能很快得到答复。
  • 人少,各人在干嘛 standup 和 sprint board 一目了然,有需要出活儿 peer pressure,也不像大厂一样大家对互相内容没那么了解能假装复杂。当然,划水也不如大厂容易。
  • 少去了中间层的 planing 和 resource 扯皮,一个东西做不做经常来个大客户、一个 PM 跟 EM 拍板就能决定做不做或 priority。Tech 方面全公司就那么几个元老码农、每个职能就那么一个组,决定会很快被做出。
  • 没有 setup overhead,开发与测试简单,直接原生语言测试工具+直接改数据库。记忆犹新我第一个要写一个新 test class 心中一惊心想以前在大公司这直接是能从 small 变成 medium 的活儿,谁知道上手一些根本没有多少东西需要 setup/mock,几十分钟搞定。setup 新的 repo 基本上也是随手 clone 下来照 readme run 几行命令就能跑了,如果 readme outdated 发相关组/support,work hours 一小时内得到回复,就算要修复也很少超过一天的。
  • 没有组间扯皮,有也是俩 manager/engineer 开个半小时会解决。engineer 之间的问题要么手把手解决,要么立刻甩来应该从哪开始看的链接。

另外,小厂虽然总用户量比大厂小许多,但代码对产品的影响直接了许多。成就感比在大厂明显太多了。

待遇福利

跟翘楚很多湾区大厂如 FB 自然是没法比(专门写 FB 那篇聊的比较多)。base 在一个数量级,但少了 RSU。佛系稳扎稳打小公司 senior level 跟去 FANG 比不算纸钱应该有 30%~50% 的 pay cut,我面的独角兽/pre-ipo 的规模稍微大一些的算上纸钱(因为变现可能性更大)也可能有 0%~20% pay cut 。食堂只有一个且质量一般,零食也不多。医保跟 401K 都比大厂差很多。发财的潜力而言我们也是一个细分市场,我不认为会也不是为了暴富来的。总体而言,并不适合拖家带口或想早日靠工资财务自由的人。当然 remote options 是另一个考虑方向。Hot startup 可能福利更好一些,但我没有具体了解。

为了积累经验刷简历 leadership,就看个人奋斗方向和努力了。比如我是冲着比大厂“有意思”的工作内容和好一点的工作体验来的,组里都是老司机,也没什么升职压力,毕竟全公司就俩 staff engineer 元老,就没什么好刷的了。但比较有职业规划想要奋斗的我觉得也肉眼可见机会多一些,毕竟呆个一两年就成了组里元老,向管理方向发展,主动提出 initiative 等 impact 都比较大。当然我才刚来,还不知道将来这段经历放在简历上会有什么影响吃不吃香,目前日常来搭讪的 recruiter 也依然是熟脸大厂和 startup 都有,给开的 title 跟过去也暂时没什么变化。

另外我司平时就不 sponsor H1b(可 transfer)和绿卡,这就排除掉很大一部分人了。很多湾区 startup 虽然也 sponsor h1b+绿卡,但终究还是变数比较多。为求最快最稳妥拿身份肯定还是大厂好。(当然,今年这情况也实在是没什么好选的了)

Work life balance

正面影响,前面提到过了就不展开讲了

  • 迭代快,合作效率高,实际出活儿率高
  • 支持 Remote
  • 少 overhead
  • Deadline 较为灵活

负面影响

  • 人少活儿清楚,划水不方便
  • 因为效率高带来的实际工作量增加

今年情况特殊,大多数时间居家办公,具体工作量也不好跟以前比较。目前的状况是因为居家办公所以工时变长了(但大厂的友邻似乎也是这样),目前为止虽然也有厌班,但世界出活儿率高带来的成就感正反馈也多。整体感觉前面提到的“无效划水”变少,没有升职压力和 peer pressure 等等,但对工作时间自控力要求较高。

公司文化

大厂毕竟一下几万号人,虽然风格不同,但多多少少会有不少 bureaucy 和 transparency 问题。文化活动也因为人多而少了份参与感。我在大厂 5 年基本除了 pride parade 和必须去的 happy hour 和全手之外没参加过什么没 swag 的活动。

小厂人少就自带优势了,公司组织活动一样是发在 channel/calendar 上,但少了在汪洋大海里筛选的步骤,you can’t miss anything,感兴趣的直接去参加。volunteer 之类的公益活动当然不比大厂更多,但因为人少 visibility 高感觉很容易参与。各种 channel 也因为整体人少而多了很多亲切感,比如之前发现有人开了个 slack channel 举办居家 vlog 活动员工自己拍展示 wfh 生活。

每周公司全手直接公布销售额,大订单,客户 feedback 等,今年情况特殊还公布了财务状况(预算等),公司动向也基本上是一有确定消息就告诉大家。 engineer demo visibility 也高,我在大厂 5 年也没 demo 过几次,startup 来了几个月当着全公司 demo 过两次了,而且都是特小的 feature。Hackthon 参加了一次也拿了奖。

公司有 channel 日常 share user success story、有趣的 use case、customer feedback、消息等。比如有一次我就偶然看到我们公司还有南极客户,用我们的软件扫了南极冰川。干了这么些年码农第一次有 making the world a better place 的感觉。

另外不知道是我现在这个公司本来就有远程文化还是小公司特有,直接 zoom/slack call sync/pair coding 解决问题,虽然社恐有电话压力,但很多时候确实效率高了很多。(我刚来第一个项目卡住了就跟 VP of engineering pair coding 结果他秒解决搞得我又觉得快被 fire 了半天)比起来之前在 FB 跟别的组踢皮球给我留下心理阴影真是太大了。

不算今年情况特殊,我们公司之前就非常 remote friendly,大概有一半员工是 remote,除了在美国各地外还有诸如波兰、南非等地。有这种 option 不禁有了又自由一些了的幻觉。

Verdict

整体而言我个人纯工作幸福感还是提高了的,不后悔当初从大厂辞职。当然也会偶尔怀念一下这次没签的大厂和其他规模大一些的 pre-ipo 的钱,但想想其实好像多要那么些钱除了心理安慰好像其实也没什么用。当然,这种事情没法 A/B test,个人侧重点也不同,没有绝对高下。像我这样不是为了暴富或者热爱的事业的情怀,而是为了有自由选择的 peace of mind 幻觉以及纯想换环境而降薪去小厂的应该也不是特别有代表性。Just saying,单单能开阔一下思路发现自己有能接受的选择这一点就已经很幸运了,更何况我还开拓了新的长期目标思路(pursue indie game dev),虽然不确定跟来了小厂有没有直接联系。

在大厂决定辞职之前最后有段时间特别痛苦的时候被人一语道破:好的开端不应该让人的路越走越窄(更详细的讨论)。我这次的职业选择应该就是在践行这一点吧。如果能给哪怕千分之一的读者相似的启发,那这篇文也算没白写了。



如果喜欢本文的话,欢迎在 Patreon 给我打赏顺便解锁一下小 perks(不喜欢月费的话页面最下方可以 make custom pledge 输入自定义金额 (ง •̀_•́)ง)。Patreon 里提供诸如 1:1 聊天/职业咨询和博客选题投票等金主特权,如果想多聊几毛钱欢迎来成为金主:Become a Patron!

附录

Growth mindset (aka I literally spent 1 hour ranting youtube)

(Heavily 中夹英 please X out before we disgust each other.)(又一个本来想写短广播结果废话太多索性变日志稍微正式一点的结果)(但是全是 engineer 半瓶子醋感想非学术探讨,旨在给业外友邻拓宽思路,没读过 MBA 也没读过 marketing,请勿以我为准)

虽然因为 manager 糟糕也对本身职业发展毫无正面作用浪费我一年时间,对 FB 第一个组印象极为恶劣也日常吐槽,也因此对做 growth 为一个职业没啥好印象,自己赶紧转方向不说还逢人就劝退。但不得不说那一年很多边角料软知识,尤其是多少培养了一点的 growth mindset,所以之后对使用、学习其他互联网产品乃至分析现实问题都感到受益。

小变化,大 impact

比如经常听人说“XX 这么小的因素不会有什么影响,因为买得起还是买得起买不起本来就买不起”就会多想一步,毕竟做 growth 时候一个 button 蓝色变绿色或者一行字变大俩号这么细微的变化,都可能带来百分之十几甚至几十的流量/转化率,基数一大影响相当可观。自己设计产品、做 feature 甚至从别的产品上学、评测时候也会变得非常 aware 这方面影响。

比较 subtle 的例子又比如我们之前 VR 广告想说机身图片对 VR 没啥表现力,花了半天功夫做了一套 video feed promotion 等着收 impact,结果 CTR 反而大幅下降,最后分析了半天觉得应该是视频广告本身消耗时间比图片长且 interuptive(跟 feed 里看到图片比),感兴趣又没有感兴趣到立即下单的一部分观众点进去看完之后就当 consume 了一个内容,出来就 move on 了。

能简勿繁

另一个很容易被没有 growth mindset 的人忽略的重要概念是 conversion funnel。其实这东西早在还没 growth 这个概念的时候就已经是营销学一个经典概念了。讲人话:

网上随便找的图

广义上来说,达到产品提供者实际想要的目的,每多一步都流失一部分用户。没流失的用户占上一步用户总量就是 conversion rate。很多时候发现码农搞出来一大堆精密严谨功能多的系统然后洋洋自得,其实 steps 太多,每个 step 重点太不集中实际效率并不高(我写文废话太多其实也有这个毛病)。

拿到传统实物消费领域,为什么 Amazon 要弄一键下单,为什么第三方点上网站光是加了 Amazon 的 logo/商品链接就能提百分之十几的销量(Trust me this was the first task I got as a growth engineer),为什么苹果敢在 in app purchase 收 30% 的重税但服务提供商还是不情不愿的花大量人力物力财力 intergrate (Trust me this was one of my biggest projects)?就是因为多一步填信用卡数据的 friction 增加转化率就会大幅下降,更不用说大家都不愿意自己的信息被到处存在不熟悉的第三方网站上了。

在互联网领域,对广告卖家而言 funnel 可能到用户看了广告下单才结束,对平台可能是用户从看到这个东西到看了/点了广告就算成功。你在网上每多进一个网页/对话框,都是一个又可能造成流失的 step。再细看到具体组目标也不尽相同,自然有不同 funnel steps。 playback growth 可能是你点进去看了这个视频超过 30 秒就是 funnel 尽头,survey growth 可能是回答完所有问题点了提交并且提交信息“有效”是成功。

How you present it matters

然后根据每一步的呈现形式和内容不同,每一步的转化率又有很大优化空间。比如这两年网络条件允许了,只要能放视频的平台都开始在 feed 上 autoplay 了。为什么?比原来的要“点进视频”少了一个步骤啊?本来因为 thumbnail 制作不佳、标题起的不好,甚至是单纯懒得点而错过的视频,现在因为 autoplay 转化率可能都会提升了。

不同形式比如常见的 non-interruptive 广告/通知形式如 megaphone/banner (在界面顶端一小条那种,通常没有图或者有很小的图,可以点 X 去掉),乃至贴片广告,好处是不干扰用户继续使用主体功能,另外因为不干扰所以被 dismiss 的几率低一些,所以增加了实际 impression。坏处是不吸引注意力,impression 可能是无效的,转化率可能比较低。如下图(”Pinned poll“那个部分是一个 megaphone)

对应的常见 interruptive 广告如 popup diaglog, interstitial 等一整页不点不让继续的(YouTube 推广自己的 premium 非常,非常爱用这一套,我从来没见过有 service 敢如此滥用 interstitial。我们之前都是非常重要的通知才敢用,一般也不会轻易批这个 budget)。好处当然是用户不点不能继续,所以转化率可能会高一些。坏处是破坏了服务本身的主体用途,非常影响用户体验。可能 premium 转化率高一点点,但牺牲的是 playback time, ads impression, etc,很多时候愤怒的用户干脆直接退出了。 如右图。

网上随便找的图


其他的 interruptive 形式还有视频里的广告。这个是平台/创作者本身赚钱的方式,只好忍了。(但是 YouTube 最近广告越来越 aggressive 了,以前一般四五秒跳过,现在多变成十几秒跳过就算了,不能跳过的还越来越多了,还甚至有几分钟乃至几十分钟的广告欺负你懒得点,甚至如果有两个广告第一个跳过你错过了点的话第二个跳过又要十几秒)(用户的主流平台不在桌面端,手机 app、电视等等多得是,so please don’t mention ad blocker like you think all people only use one device again. Also not all people like to take advantage of content creator)

就拿我刚才吐槽的这个 YouTube survey 来说,真是一个教科书级的差 UX + growth 101 what you shouldn’t do 教学:

  1. 最直观的,对用户、内容制作者甚至广告商而言,“不点 survey 不给看视频”,甚至不给看视频前面的广告,这都是直接的利益损失。周围全是能 Autopay,点一下就能去看全部的视频/广告,这个把 thumbnail 变小,挤占标题空间导致折叠更多(英文本来就非常不适合行宽过小),还要多点好多下才能看。
  2. Survey 本身 UX 非常差:视频本身 indicator 都只有“like/dislike“两个纬度,加上被动 context 顶多再有“忽略”和“屏蔽“这一个 survey of recomendation 居然初始就有 6 个选项?别急还没完,选了”not sure“的话之后还有 follow up question 给 5 个选项问你为啥 not sure。行吧行吧我不看了还不行吗?讲真我还是第一次看到敢在 feed 里插 inline survey 给这么多选项的。
  3. 一般这种 survey dismiss 也是衡量效果的重要数据。但是图里这个 UX 做的(整个视频套在一个 survey module 里这个形式),就怎么说呢,我确实很难想象 dismiss 的对象是 survey only(but the video itself is included inside of it!) 还是整个 module.

类比一下,你打客服、结束视频通话等偶尔会在结尾收到一个 survey。虽然转化率低了点很多人不做 survey,但好歹用户的主要目标已经达成了。How about customer service force you to do a survey on waiting time or menu experience before they help you out??? 比如 messenger 现在视频结尾给你个 dialogue survey 都嫌烦开始转通话完之后发个 message 一样的 survey 了,你管还真是反其道而行之。

我对这个 survey bad UX 甚至 bad for itself 投入产出比奇低过于愤怒,以至于我怀疑是不是 survey 组 KPI 不够快要被开了去跪着求别的组给加的。没有这个东西就不会有我今天这篇 rant。


当然,大多数人还是没必要通过当 growth engineer 这个大坑来 gain such mindset. 有空可以自己报个公司免费那种 growth 101 之类的培训课去上上,对改变看世界的角度还蛮有帮助的。感觉很多 backend engineer 乃至业外普通用户还是太瞧不上或者 over simplify 这些犄角旮旯的苍蝇肉了。


如果喜欢本文的话,欢迎在 Patreon 给我打赏顺便解锁一下小 perks(不喜欢月费的话页面最下方可以 make custom pledge 输入自定义金额 (ง •̀_•́)ง)。Patreon 里提供诸如 1:1 聊天/职业咨询和博客选题投票等金主特权,如果想多聊几毛钱欢迎来成为金主:Become a Patron!

What’s next:我又双叒叕裸辞了,又名 Why I quit 你脸【下】

上篇尝试较为普适地讨论 FB 作为一个工作选择的优缺点(当然肯定难免主观),下篇就纯粹是个人在过去的四个月里怎样完全改变了心态、做出决定以及重新出发了。

我在一亩三分地和知乎都有号,之前有人盗帖已经被 Warald 亲自打脸抄送我然后把盗文者删贴扣分了,所以请某些人洁身自好,沦为跟营销号一样没节操。人都在美国了就别玩天朝贴吧那套了。

另外大量中英夹杂预警,不爽请提前退出不用留言告诉我了(Honestly why are you still reading my post)。

上篇: Personal experience at Facebook, the good, the bad, and the ugly

2. 个人辞职原因和过程

2.1 Worst manager I’ve ever had.

因为这个非常看运气,所以没有放在前一个章节作为 FB 的通用缺点,但是确实也是我不良体验的一部分。在我不长不短的职业生涯里因为 reorg,换组,项目变动等前后经历过五六个 manager,我在 FB 第一个 manager 绝对是 worst of them all,也大概是 FB 给我造成不良第一印象并最终导致我没有把这里当成长期职业发展之地的主要原因。

这条画饼广播只是该 manager 不靠谱的冰山一角。TLDR:先不过脑子言之确凿地画一个饼,你烙完那个饼临时甩你一个他没蒸完的馍,你做完馍,发工资的时候说饼不够大没得发,馍主要是他做的不能给你工资,但是今年烙个更小的饼和馍肯定给把工资补齐。我:去年说好的饼不够大,今年做个小的就给发工资了?manager:抱歉 I lied 我当初根本没准备给你发工资,就是为了让你把馍蒸了才说有工资的,今年工资也还没申请呢,你先做了……

我听到这就二话不说的放弃沉没成本赶紧换组了,有多远跑多远。—— 后来其他没走的组员被 fuck up 得更惨,浪费了整整一年时间。

很久之后我又听说了该 manager 让我更万万没想到的地方: 该 manager 跟我组干活最努力 impact 最大的组员说,他 impact 不够大(WTF,贵组去年 90% 的 metrics 都是人家 drive 的),都是他(manager)争取来才勉强没给 meet most (meet all expectation 下面一个 rating,基本上连拿两三次就进 PIP 了),要是再不更加努力干活儿下个 half 就要给 meet most 了。

MFW

再后来可靠线报发现该 manager 在四个衡量标准都是高 rating 的情况下给另一人 overall 打了 meet all。么坑手下要是小公司管理层要给节省开支还能理解,作为一个钱不是自己出,手下 grow 越多自己越成功的大公司 manager 这么搞的目的到底是什么,全组人都看不懂这个操作。

再后来听前组员说该 manager 画的饼一个都没实现,整个组大半年屁事没干各种被 block,还在用我当年烙的那个饼苟延残喘。幸亏我跑得早(那半年组里走了六个人,我是第二个。最后坑爹 manager 自己也换组 + 转回 IC 了)。

2.2 下半年因为各种原因引起的抑郁 & feel trapped

个人工作内容本身在八月风风火火的项目 plan 阶段和 PSC 发布全公司划水了几周之后进入了瓶颈期,一是手头项目提不起兴趣,二是之前已完结的项目有一些新的锅出现,三是不紧急但务必在本年度完成的项目拖拖拉拉迟迟不想开始,结果就是新仇旧恨一并袭来,虽然 workload 不重但是轻微 burnout,重度厌班。

因为厌班,从进 FB 第一年就盘绕在心头的想跳槽念头就又浮现了出来。关注我的友邻都知道,我一向对 FB 印象不佳,但是跳槽一直停留在键盘侠阶段,一直被被懒得刷题再凑合一下好了、马上 Fremont office 要扩张了转过去就有完美通勤了、虽然没有湾区情节也没有职业野心但是好歹混到心目中的 terminal level/package 再出去浪等因素所无限期搁置。有了念头就开始频繁上 blind/一亩三分地,被”只能比包比爬梯速度“的 toxic 氛围影响更重,觉得自己除了头三年在亚麻进展顺利之外来了 FB 之后巨大 setback 浪费生命丧失动力恶性循环,加上提不起兴致刷题,feel trapped。

员工跳楼事件发生在九月中旬。一开始觉得对自己影响不大只是为其惋惜,后来随着事件发酵和个人情绪变化,也读了一些 blind 帖子和跟同僚交流,越来越觉得对普通人,至少是对我来说再重要的工作也没有自己的幸福快乐重要,而现在 feel trapped 的环境成了我堆积不如意的垃圾桶。

十月正值我爸妈来我家,跟他们尤其是我妈思想和生活的矛盾,以及被限制的自由和被挤压的个人空间让我 feel even more trapped。虽然是美其名曰来给我做饭,实际上不开车没法买菜,他们太抠门带出去买菜也不买够(当然是我付钱),而且只有两样拿手食物其他跟我家属平时做的没法比,某一天我看到晚饭是凉拌黄瓜+凉拌洋葱+稀饭的时候真是欲哭无泪。给买东西都拒绝回来又拿我们买给自己的东西。跟家属、我妈三方会谈再次证明我妈毫无逻辑自己兜圈子且唯我独尊无法交流后,我妈更是趁我不在经常精神上 bully 家属,最终导致我们精神上、经济上、生活质量上都大幅下降,且平时调节情绪的方法(如睡觉、打游戏、看电影、写东西等)都没有空间和时间来实施。

因为各个方面有感觉无处可逃的压力我陷入了前所未有的 depression。说是前所未有因为我的自我调节能力还算不错,之前再不开心睡几天哭几次就把一切忘到脑后了,而这次没有调节空间情绪约积越糟。

当时的心态完全就是非常想打破现有生活状态,想一个人去四季分明但长冬天寒地冻人烟稀少开一小段车才到一个小镇上班的地方住一年,下班天已黑但为时尚早,靠上学时候擅长的炒个菜拌一周的面和亚米方便垃圾食品过活,每天定时看电影游戏看书睡觉,周末去小镇破图书馆泡半天,再开车拍拍百无聊赖的荒草地,晚上提着一袋水果和菜回家。再去特别繁华人间烟火的城市一年,或许新加坡或许东京或许曼谷或许上海,住离上班步行十分钟的公寓,下班独自坐在喜爱的小店吃过饭,不紧不慢穿过霓虹灯光回家,过一样的生活。觉得打怪升级拿包抱团的人生格外没劲。

2.3 触底反弹

在群里友邻推荐了《Feeling Good》,至今这本书我只读了不到 1/10,但是帮助最大的部分是自查了精神健康状况发现自己 moderate depression(虽然名字听起来无害但下一个等级就是立刻要就医的 severe depression 了),开始正视问题,意识到很多问题 is just in my mind。于是火速约了公司 therapist。

在这期间因为跟家属冷战所以多了些独处时间,自我调节过程中意识到之前阻止我辞职的想法都是自我禁锢。以前一直很钦佩有勇气从大厂降薪去做自己喜欢做的事或者搬去别的地方改变 life style 的人,觉得”降薪“这件事情怀很足。这次波动突然意识到其实 TC/package 这种东西,你不生孩子,不在宇宙中心买房的话,除了你自己和 blind/一亩三分地/知乎/你爸妈那帮比包攀比狂魔之外,who TM care…以前总觉得“降薪”去干嘛需要很大情怀,现在发现不是啊,也可能是大厂真的呆着太无聊了。不执着要去 TC 高的大厂不用刷题的话随时向走就走,看开了这点之后就觉得多了好多 options。

引用友邻的回复:比较好的起点不应该是让人的路越走越窄。我,一个学业职业上几乎没走弯路直线走向最优解,骨灰铁丁克,刚好还暂时碰运气落在能在几乎任何地方工作的行业的人,人生选择的自由度太大了,以前的 feel trapped 全是自己给自己打造的牢笼。In another word, I failed in this system. But why should I care?

Therapist 第一次见面作用最大,我自己花了几天闷头想才找出来的出路在 45 分钟的 session 里通过我的简短描述居然就被他精准定位了问题。肯定了问题初步表达了辞职能带来的解脱得到 therapist 认同也增加了我很多信心。

此时家属很适时地来跟我和解,交换了以上想法然后一起 figure out solution,比如房子租出去不被 commute 禁锢,买个 truck camper 去国家公园她当 ranger 我 remote 写代码或者搞搞 side project 弄个小游戏啥的,住腻了就换下一个地方。而且经济和职业上想想,以我现在的状况只要码农业不垮我们其实没有本质上的 financial risk,缺钱了随时还是回大厂当社畜,码农业垮的话 all in 湾区反而更大风险。抛开了自己设的限制条件整个人海阔天空,甚至有点 bipolar 似的对未来激动了起来。我跟 Therapist 分享了这个进展,虽然不知道是不是鼓励性塞糖,但他一个劲夸我们解决问题方式成熟。

决定辞职也不只盯着一定要刷题的大厂之后顿时觉得海阔天空,刷了几十道 leetcode easy 之后就约了一些面试也都轻松拿到 onsite,window shopping 公司的时候又有了对生活新选项久违的激动,探了探市场行情发现能去的地方都不错之后就不假思索地拿完一期股票 vest 趁着 thanks giving 辞职了。manager 和 skip 也都表示理解(之前有多多少少通过气,跟之前那个我一说转组就暗地里使绊子的坑爹 manager 真是天壤之别),还说过几个月改变主意的话随时回来

last day 交完手机电脑 badge 出门开车回家路上听的歌都不是歌,是 BGM。

3. What’s next

3.1 面试准备

开始面试那阵因为心里没底所以完全 overbooked 了面试,比上班还忙,经常同时跟 N 个公司约时间、面试,代码比上班过去半年写的还多。反正上班已经是划水状态了,倒是没有太大冲突。从开始约面试到签 offer,calendar 基本是这个状态持续了两个月。

这次用 notion 做了个 tracking board 来记录各公司的状态(engineering – road map 那个 template 改的),从初选公司到 track 面试进度到 offer collection 动态追踪,效果不错供大家参考。

每个卡片打开的 detail view,用 priority 来 track 阶段(刚勾搭上的时候就是下一步 action 要多快做,开始面试了之后低中高就是 HR call – phone screen – onsite 等等),comment track 具体事件时间点,due date track 下一步时间+notification.

总共不同阶段面了 24 家公司,其中大部分是 SF 的 startup,小到几十人大到上千人 pre-ipo 的都有。大公司只面了 Amazon 和 Netflix。下面只捡一些比较有趣的说:

3.2 Interviews & offers

Amazon 我是一直不排除回去试试的,但心理定位只接受 L6,毕竟时隔将近两年再同 level 回去除了涨几万块工资外职业上意义不大。同时 fairly confident 拿 L5 offer,万不得已可以拿来 compete/保底。结果看了看职位,在湾区一众并不 fit 的 Alexa 和 lab126 L6 opening 里看到一个 job description 像我简历一样非常 fit 的职位,再一看组名字严重怀疑是以前在的组,找前同事内部系统一看 HM 果然是以前的 skip manager,一时意难平(I’m pretty sure it’s 回忆滤镜),深夜给 ex-manager 写了封声情并茂的搭讪信,追忆了一下年华,自己都快被感动了,可能是我写的最好的 cover letter(毕竟这个玩意码农找工作不怎么用得到)。大纲如下:

嘿,好久不见,最近过得怎么样。
最近看到你的消息,又想起了你。
看到你的理想对象还是我。
曾经分别的理由现在都已没了踪迹。(说人话:commute 和 compensation 都能解决了)
So call me maybe?

当然因为是升级面试 manager 也一点情面没给,还是走的全套面试流程。这应该也是唯一一家面试体验普普通通但比较想去的了。可惜 onsite 面砸了一轮 coding,最后只给了 L5。钱比我现在也就涨了不到 20%,虽然现金而言还是比小公司高不少但 defeat 我最初想要换个生活方式的 purpose,遂早早拒了。


Netflix 纯粹是冲着钱(现金)多去的,之前去了的朋友说体验也没传说中那么差,于是推了一个很 match 的组。他家据说各组面试体验完全不同,我面的这个题不难,但是先一轮 HM 考察 culture deck 背的熟不熟,然后才有电面。onsite 七轮,且前四轮面得差中午直接走人不用面下午。吃完午饭看到下一个面试官进来松了一口气,因为 refer 我的朋友说没见过面了全部七轮还没拿到 offer 的。下午基本上是各种 manager 问 behavior question,感觉面试官问题都准备的不是很充分全程尬聊。

整体面试体验一般,但是 HM 感觉很 push。他随口问到如果给了 offer 我要什么时候来上班,我说二月吧,他大惊,问为什么要二月不是还有两个月吗?我心想那需要 H1b transfer 的人你还不是要等,凭啥我能快入职倒非要我尽快入职了。我说要 vacation 啊,你们有紧急项目急着要人吗?HM 说那倒没有,就是露出一脸不理解为什么有人会想要 vacation 不立刻来上班。最后我俩各自假装入职时间好商量,不欢而散。

因为感恩节前前后后拖了一周才给结果,还不是同个 recruiter 而是其 manager,曰选了别人了,但是面试满意,建议面别的组。再联系之前 recruiter 突然变得比较冷淡,之前说有 opening 的组都没有了。refer 我的朋友说可能是内部 transfer 更快把坑占了,不然也不会拖那么久。我倒是觉得像找借口默拒,加之我对 HM 的恶劣印象于是懒得跟他们继续墨迹了。


著名养老公司 salesforce 我本来完全没考虑,朋友的朋友最近去了其旗下子产品 Quip 说钱多,别的朋友也说钱多活少 work life balance 好,加之之前在 FB 用 quip 印象不错于是就去试试,结果 work life balance 好名不虚传,说了有其他家 pending offer 和 onsite 让加快面试流程,还是 11 月中旬就跟我说只能排 12 月之后的电面。别家都面完了让尽快 onsite,我给了几个时间点他们直接选了我给的一周之后最晚的一天。到最后我决定去别家了就直接把 onsite cancel 了。move 如此 slow 也是真的 WLB 好的体现之一吧。


这次因为是冲着工作体验去的,所以基本没有面根本不想去的公司,里面最不想去的大概是主动来联系我的某 pre-ipo 东亚电商。电面流程挺拖沓,也是来来回回好几次横贯一个半月才 onsite,加之对东亚公司文化整体存疑就兴趣不是特别高。拖到晚期给 verbal offer 的时候得知我已经有 compete offer 了倒是非常快一口气很干脆的给了我这次见到最大的包(虽然是纸钱但是 cash 部分也在顶端),而且直接 Email 形式,不拖泥带水,且把 option value 解释地非常清楚。可惜我意已决就很快拒了,倒是不经意实现了这次不为五斗米折腰的初衷。


早期拿的 offer 留了两家中小型(二百多人)startup 还征求过大家意见,给的非常早,但直到最后我也没有明确取舍。Recruiting 那家产品不错,面试见到的人也觉得十分靠谱,也一开始就给了 fair offer。最后拒他家的原因是我实在拖太久了他们 recruiting 坐不住了催了我,我本来在四家里选其中比较想去面的超棒的一家还没出结果(下文中的 C),最后纠结了半天就把有死线的这家忍痛割爱了。


最后 narrow down 到三家,TLDR:

A:工作体验好(refer 的人+blind 前员工评论 + glassdoor review)、人实在(面完 head of HR 直接把我叫过去说我知道我们穷,但是千万不要 low ball 自己,想要什么数字尽管说出来我们去争取,一下跟疯狂 low ball 的大公司形成鲜明对比感动涕零)、产品比较感兴趣、支持真 remote work、整体环境和员工比较 chill、钱较少、公司规模小风险较大。

B:钱多(光现金顶我现在 TC)、产品 making the world a better place、面试体验一般、短期前景不明、组的内容无趣。

C:面试体验超棒、manager 组员看起来人很好、组的内容还算有趣、但是公司产品有点 evil、pre-IPO 风险较小。

经历了三天的纠结,几乎每小时内心倾向都在变。最后决定还是回归不为五斗米折腰的初心(honestly 如果想要钱的话留在 FB 或者其他大公司就好了),要改变就改地彻底一些,决定 go with A。最后拍 板前再不要脸地多要一次钱,没经验的 recruiter handle 不了(其实一开始就是一问三不知要跟 boss 请示)把我甩给 VP,跟 VP 聊了一下涨了一点点钱,当即签了。

即便这是我拿的 offer 里钱最少的一家。

3.3 What’s next

以往参加聚会大家互相更新动态,去的都是大公司所以往往一两句话结束话题。这次我至少跟不同人重复了五遍”我去了一个做 XXX 的小公司“”虽然……但是……因为……“”对要回 SF 上班了“。

倒是最近房租随着房价水涨船高,把家里房子租出去变得更划算了。之前兴致勃勃地计划住进 truck camper,倒了要具体考虑实施的阶段还是非常怯场。应该还会先通勤几个月看看情况,不行就多 remote.

无论之前多纠结,决定一旦做出,整个人都未来可期了。定了二月初的 start date,剩下的这一个月就决定在家里好吃懒做打游戏躺尸。

总算在年底上赶着完成了要换工作的年度目标,还意料之外潇洒了一回脱离了键盘洒脱,跟毫无进展的过去几年相比也算是收获颇丰,迈出了人生新的一步。以往听别人说”做了某某情怀选择过了一阵子连滚带爬被现实打败回来“的故事我听起来从来都不觉得是浪费时间,而是觉得没什么 consequences 地过了更宽的人生很羡慕,现在终于能实践了(虽然还是暂时在湾区)。

其实主要高兴的还是有一个月假期可以在家里躺尸了。

相关阅读:


如果喜欢本文的话,欢迎在 Patreon 给我打赏顺便解锁一下小 perks(不喜欢月费的话页面最下方可以 make custom pledge 输入自定义金额 (ง •̀_•́)ง)。Patreon 里提供诸如 1:1 聊天/职业咨询和博客选题投票等金主特权,如果想多聊几毛钱欢迎来成为金主:Become a Patron!

我又双叒叕裸辞了,又名Why I quit 你脸,一:Personal experience at Facebook, the good, the bad, and the ugly

标题有点 click bait,跟上次的真裸辞相比这次下家找得八九不离十了算是半裸辞,另外辞职也不全是脸家的问题。不过终于决定了下家去哪之后也算展开了人生新篇章,可以把承诺给大家的(Who cares)年终居家旅行上班划水必备良品总结一下了,自己整装待发的同时希望也娱乐一下大家。

我在一亩三分地和知乎都有号,之前有人盗帖已经被 Warald 亲自打脸抄送我然后把盗文者删贴扣分了,所以请某些人洁身自好,沦为跟营销号一样没节操。人都在美国了就别玩天朝贴吧那套了。

另外大量中英夹杂预警,不爽请提前退出不用留言告诉我了(Honestly why are you still reading my post)。

原计划一篇发,写完发现快一万字了读起来不方便,分成三篇:

提纲:

  1. Personal experience at Facebook, the good, the bad, and the ugly.
  2. 个人辞职原因和过程。
  3. What’s next

本文为第一部分。TLDR: Just get into FB (or better, Google) first and then figure out from there. 万一喜欢皆大欢喜,不喜欢想跳走也非常容易


虽然平时在豆瓣上面没少黑你脸(见工作吐槽合集豆列,和“出道”日志就大黑你脸 ),但毋庸置疑 FB 作为一个工作选择优点还是很多的(我承认先写优点部分原因是被友邻指出我再吐槽你脸快要成为豆瓣低配版王垠了,没有垠神的技术还得了垠神的病,which I’m trying to avoid)。

1.1 The good

1.1.1 钱

普通小公司因为有明显 pay cut(Senior 及以上级别 up to or more than 50%),因此在此只比较 FANG 及同级别大公司。钱的优势不是指同 level 比较,而是同样年资、水平的普通人(非大牛)在工作几到十几年,在脸家可能招聘 bar/升职更容易(以下 level 仅针对 IC,individual contributor,不包含 PM,EM 等管理岗)。如 E4 远比狗家 T4 容易,E5 远比 T5 和 Amazon L6 容易,E6 – E7 比狗家 L6、7 常见,更不用说 Amazon 的 L7 了。E3 – E5 的情况基本确认属实,往上仅凭个人观测和道听途说,仅供参考。level.fyi 上有所体现,但现实里 zoom in 到普通人 level 里,差距可能比看起来更大。

拿脸家 E4 – 狗家 T4 – Amazon L5(SDE II) 来说:

  • 脸家 more like ”能独立干活有一点工作经验的社招最低 level“,给的包比较标准不至于太掉价,但不是 terminal level,有升职时间压力,基本上 new grad 全 meet 从 E3 – E5 标准升职时间线应该是三到三年半,再慢有被 PIP 风险。社招基本 1 – 5 年经验常见 E4,上次甚至在见到一个 8 年经验的在有 compete offer 的情况下被 down level 到 E4 的,给的包可能还没人家在别处拿到的一半,也是没自知之明。
  • Amazon 是能独立 deliver 在组范围内有影响力的大 project,但 range 也比较广,见过很多有一到三年甚至接近四年工作经验的人被 down level 到 L4 (SDE I)的,也见过许多靠谱实干的中年码农(七八年以上甚至十几年工作经验)的 SDE II,这两年有钱了给的 comp range 也比较大,基本加上 signon 勉强跟上脸狗两家,脸内部也是把 high level SDE II match 到 E5。L6 (SDE III,Sr SDE)前些年 bar 比较高,地里出了个 4.5 年升的前所未闻的大神,如果有人能在亚麻呆那么久的话从 new grad 到 L6 花六七年算是比较正常的时间,一直 L5 也不会有升职压力。这些年 bar 稍有降低,从外面招 5 年经验的也不在少数。
  • 狗家则是疯狂 low ball down level,很多两三年工作经验优秀的码农都是冲着情怀和“进去马上升职”的饼 T3 进去的(当然也有面试出色拿到 T4 甚至 T5 的)。

虽然三家衡量标准不同但是 comp band 基本一致,这就造成了职业早期去脸家很可能在钱上就赢在了起跑线(据说狗家 refresher 多,但我没有特别关注过具体数据)。脸家的理论是我们 move fast 所以我们的人成长速度快,事实如何就见仁见智了。

1.1.2 福利

见识短浅的我只经历过著名血汗工厂的洗礼,这次找工作也大概瞥了一眼小公司的福利,对比起来 FB 真是对员工慷慨得很。开始对 FB 有 grudge 的时候也经常戏称 FB 是拿钱买幸福感。

先从我之前 take for granted 的医保来说,很多小公司是不 cover 员工本人月费的,甚至 frugal 著称的 Amazon 也不;Onsite mental health support 和 medical center 很多小公司当然也没有资源去做,更不要说免费 25 次 therapy 了;意外死亡险公司免费 cover 到 2X 还是 3X base,作为对比,我这次面的小公司有才 cover 70k 的——对,死了才给 70k;公司免费 cover 全球旅游保险,不管是 business 还是 personal trip;可以用来 gym membership、滑雪票或者 massage 的 wellness reimbursement 很多公司都有就不说了。

园区设施周到到 ridiculous——网红楼顶空中花园、鲜蔬现榨摊、种类丰富的零食、免费冰淇淋、奶茶、gym、boulder 就不说了,还有街机厅、音乐室、木工间、印刷馆、手工坊、献血点,人工免费的自行车店,收费修车、干洗、理发、牙医、massage、SPA……在在各个 campus 之间有内部 on demand 专车接送往返服务。真是牢牢把员工套在园区,生活服务一条龙,甚至园区本上都是个不错的旅游景点。

电子产品配件有免费 vending machine,电池鼠标 touchpad 这种东西直接自取。公司 Amazon business 账户办公用品、书什么的一定金额以下自动 approve。每四年还有 300 刀耳机 credit,前两年人手一副免费 QC35.

很多服务也有折扣,turbo tax 税后报销, 50% 的 headspace subscription,免费的 financial times subscription 等等。先前还有免费 lyft code,后来为了省钱取消了,改成发 corp commuter/parking card 了,也有每月几百块额度。

1.1.3 镀金

不需要镀金的大牛请跳过本段。对很多人来说,鄙视”工作这么多年了能炫耀的还只有学校/第一份工作的公司“在网上说起来轻松,工作了年发现很多人的高光时刻还真就那些了,如果对其他路线没有绝对激情的话走 easier path 并不可耻。

说来好笑,有个朋友吐槽他以前在某养老公司,social 圈里的人都爱理不理,进了 FB 之后立刻被积极 social。之前亚麻在简历上已经很好投了,但脸家更甚,部分小公司甚至会担心你 over qualify(面试都不给的很少,不过这种公司你八成也不会去)。甚至在 blind 上讲同样的话的仿佛你 credibility 都高了一些(对比起来目睹了很多 Amazon 的人被揶,大家也知道 blind 上大家多喜欢 troll 的,哪怕是严肃话题)。

所以非大牛 new grad 有选择的话,还是建议在职业早期进有名大公司远多过有些哪怕当时看起来 prestigious 的小公司,除非认定了那个公司是千载难逢的下一个 FB 能让你暴富。想要追求情怀等简历镀好金多几年经验什么地方都能投进去再去不迟。我工作短短几年已经见到好多当年逼格高的公司跌落神坛了(比如 evernote)。有经验的 recruiter 可能知道当年谁家 bar 高,但是市场上没有经验也不懂业务的 recruiter 多得是。过了几年你当年的 startup 不幸没有成为下一个 FB 甚至 Uber 的话,这些水 recruiter 眼里你的简历含金量打折扣。跟进名校镀金一样,进 FANG 盖了两三年的戳受益十几年。

1.1.4 内网

Workplace (一个类似 Facebook 功能的内网)用来工作是一大毒瘤,用来干其他的真是宝藏。包括——最详细真实无私的理财、职业经验,最好用靠谱的二手交易平台(多次货还没交钱就打来了),同事为你精选的最好看的猫狗视频和各种 meme 等等。我辞职的时候最怀念的不是福利不是经历而是内网。

1.1.5 Autonomy

虽然不敢保证每个人都有时间做 20% project,但是我见闻的组大多数都没有 micro management. 我第一个组没有 standup, 每天在工作组里 update + weekly meeting sync,后来大家甚至连 update 都不写了。第二个只有 weekly sync,到后来甚至 sync 也偷偷取消了。 self-driven 的人可能如鱼得水。

1.1.6 internal mobility

我换过一次组,基本上是 manager 挽留失败发现我去意已绝之后,我跟对面 manager 碰个头,俩 manager 碰个头就换了。IC 转 manager 应该也较为容易。不同职位转岗也见过(别的职位转 PM 等等)。

1.2 The bad

众所周知,大公司的组间差距很大,所以不排除我运气不好碰到许多问题,也不排除有些人碰到良师益友组。以下问题 case by case。

1.2.1 Messy code base and shitty code

我 Bootcamp 的时候发现整个 FB 还是 monolith 的时候震惊了,无法想象一个工程师数千(可能上万?)的互联网公司还是这样运作的。我这次在面的小到只有 200 多人的公司都要么已经有 micro services,要么正在 refactor/service split。这次求职一个面试官面完 system design 答完无题可问之后闲聊问我 FB 各个 service 之间用什么 protocol,我说是 monolith 之后他震惊了半天反复跟我确认了两次 I meant what I said。

有人认为(这么大规模的) monolith 也有好处,比如(更正,此段 pending monolith vs monorepo 的区别,我本意是吐槽 monolith 但是被友邻提示好像瞎子摸象了?)可以自由地去别的组别的产品的 code 里改代码(/更正完),take ownership. That’s not my understanding of ownership though. 我认知中的 ownership 是在你的职责或者能力范围内积极工作、帮别人解决问题、self driven、不甩锅,不是医生在前线夺过士兵的枪扰乱战术去送死,不是园丁为了剪草坪而把你种在地上的菜铲掉,不是 loan agent 拿了你的 downpay 私自换了套抽成更高的房子卖给你。

然而现实里这不是一个几十人的 startup,任何东西都有一大堆 context。But here people have to go around changing other people’s code without actually understand their code,更没有责任维护,one time hack and workaround are everywhere, 久而久之代码质量越来越差,连自己组都不知道很多部分怎么 work.

由 monolith 和没有 design 及 documentation 联合产生的问题是很多 service 没有 well structured or even stable API,顶多算一堆随手乱放的 functions。功能模糊,命名混乱,参数拆东墙补西墙,deprecation and migration 随处可见,只能一次又一次地”亡羊补牢“式 code quality 项目中大规模反复造 impact 互相消磨”升级“到新的一套轮回中。

Teams consistently migrate, update and deprecate things without communicating to either their upstream, downstream or each other. 本来经常维护、improve 代码是好事,但在没有 API doc,没有 context ,没有 timeline and milestone 协调下各自为政对整体效率是巨大的灾难。我见到过不止一次,正确的 document 给出完全错误的答案;大量 API 无法分辨新旧程度,也没有 guideline,用的时候没头苍蝇般瞎找或者在 Q&A group 里搜有没有人问过 hope for the best,push 的时候没有人 review;因为以为早就协商好的项目 dependency team 暗中 migrate API 导致 client team 发出去了 code review 才发现代码作废;Upstream partially migrated schema 导致中间层旧 code 在原地,按新方法写出来的跟旧 code 不兼容,且无法手动 fallback 旧方法,最后用更 hacky 的方法绕过本来是为了提升代码质量的 migration。

有一次我在 work group 发帖->ping -> cut ticket 了别的组一周,每次都反复被甩锅说不是他们的问题,为了 unblock 自己我去 office hour,A 告诉我啊这个问题我们已经在上个 release 修复了,我问哪个 commit 修复的,曰不知道。我回去查了所有 commit history 找到 suspect,问 diff 作者 B,作者说哈?I have no idea what does the code do。又 ping approve 那个 diff 的 eng C,C 说我不知道那个 diff 干嘛的,你问 reviewer D 他更熟. D:哦是吗?修复了?我:×%&……#¥……%

还有一次我要加一个新 logger,居然发现全公司的 logger 不分组不分功能全都在一个大 directory 里,然后下面的 sub folder 是按首字母命名的。比如 GoodDayLogger 会在 /go 目录下,BadDayLogger 在 /ba 目录下。When I saw it my face was like

bootcamp 的时候因为 package 太大公司发我的电脑甚至 index 不了 bootcamp Android project。

1.2.2 System design isn’t a thing

我先开始以为是组的问题,于是在内网找重要 infra 组的 design doc,结果找到一张白板手写照片:)这还是好的情况,大多数组根本没有。

我又以为是我 level 的问题(meanwhile 几年前 new grad 的时候进 Amazon 几个月就有受益良多的 design review 了),参加了多次 tech discussion meeting 之后发现,不,我常接触到各 level 的项目都没有 design。我两天瞎凑出来的 tech notes 已经比组里我参考的所有 doc 都系统化了。其他亚麻前同事也碰到过类似情况。

甚至有想跳槽的同事跟我表达怕面试时候在 FB 的项目拿不出去手,不会 system design 题的担忧。虽然我用 Tushar Roy 安慰了他说突击就好,但是实际面试中还是发现 past experience 轮在 FB 的项目真的需要多层次加工才能说。高 level 可能有复杂的项目(which I haven’t seen a single proper design doc),但同样的 entry level 亚麻和狗家的码农有 design review 和学习的机会可能更多。

1.2.3 Test coverage is surprisingly low

我听过不止一个人跟我说入职几年没写过 test。We just push the code and hope for the best. 虽然大多数 engineer 不喜欢写 test,虽然把 test 从个体 engineer 工作中分离出来是 test infra/process 成熟的表现,虽然 setup test run test 比在 Amazon 方便好几条街,但是在无需为 test 负责的情况下终究有很多没有 test coverage 的海量新 code 被生产——既没人知道 test coverage 百分比也没有 test 来测试被新写出来或者已经在运行的逻辑。加上糟糕的 oncall metrics, tools, alarms , documentation and triage,用户抱怨的边角 broken feature 再由客服层层传递踢皮球接到对的组手上往往几周已经过去了。

1.2.3 管理、维护机制成谜

多次发现以为已经协调好的组间协作等发 code review 给对方的时候对方甚至不知道这个项目的存在;Launch 了之后又要反复跟 marketing/legal 扯皮;甚至做好了个只管执行的 email 项目,准备发送之前跟我 PM double check did legal sign off for GDPR?My PM was like, what’s GDPR? 过了两星期告诉我,还是先 hold off 吧,要 legal review。所以我要不是 happen to hear about GDPR complains from my friends at other companies we would be in deep shit now???

换了个组有 TPM 了想说话这下不会出现项目协调问题了吧。结果 TPM 除了在每半年的 plan meeting 上带着大家 review 一下要做什么项目之外就没见过人了。

另一个槽点是用 workplace 工作,每天早上看各组和关注的人综合 newsfeed 或者专门打开各个组看 post,日常工作可能来源于 post,task, direct IM ping,email,基本无法 track 的 workplace/intern notification……这里还夹杂着其他非工作内容群组,如 meme 群猫狗群生活窍门群公司福利群。There’s no proper backlog grooming, sprint planing, milestone tracking。

我某个组的 dashboard/tool 多到一个 wiki 都写不下,那个 wiki 内部还有多层不同级嵌套,连组内的人都找不到应该用的东西在哪,更别说别的组的人来找资料了。

单就 oncall 就有若干个 tool 来 monitor metric/set and trigger alarm/find logs/file ticket,每一个都难用的要死,更别说光每个组的 runbook 就有三四套,根本不知道哪个是新的。 我就抱怨过:

亚麻出了问题:打开 sev tool,描一眼关键词通常已经找到原因,不行的话搜关键词,找到问题 p90 = 5s, p99 = 5min. Ticket 里条理清晰实时更新 root cause, solution, ETA。大问题过几天参加批斗大会,metrics/root cause/future task/ownership 一目了然。

你脸出了问题:打开 sev tool,描一眼关键词,没有一个 sev 把 end impact 写着,搜关键词搜 affected area,找不到。搜 work group,找到有人提了相同的问题,在下面 +1. 过一阵子等相应组 oncall 回应,然后有人说 shouldn’t this be a sev,然后才开一个完全看不懂关键词的 sev。找到相应 sev 50% 靠相应 tool 里的弹框提示,50% 靠消息灵通人士把 sev 发到群里。 点进去 Sev 里不是相关组的人完全看不懂到底发生了什么,只能等老司机段子手们总结 TLDR。

1.2.4 急功近利

我切实听到过”This project won’t have any impact this half so let’s put it back in backlog”,即便所有人都知道哪怕一年内这个项目对全组和用户大有好处. 我 manager 在所有 eng 都觉得 plan A 好很多的情况下为了省两周的时间,跟我们争了两周应该用 hacky plan B(黑人问号)。

adhoc 地帮助别人最多获得几个 thanksbot,对个人 PSC 帮助甚微,很忙的 infra/internal tools team 有没有 support,support 质量如何完全看你挨个试出来的 POC 心情,甚至有时候 dedicated POC 也一问三不知。

宏观上来说,几个不同组做 slightly different 的东西,不完善旧的提高效率而是做完就扔着重新做一个的情况屡屡发生。往好了说这是我们 try and fail and learn,往坏了说是各组甚至各人反复造轮子,反正从 1 到 2 哪有从 0 – 1 写在 performance review 上好看。

1.2.5 Performance review related

因为横向对比经验较少(只有亚麻一家),此处只主观觉得 FB 的 PSC 问题很多。

全公司弥漫着最高目标是 PSC rating / 升职的气氛,应该跟年轻人们的升职 timeline 也有一定关系。这一点跟上面急功近利那一条也直接有联系。对比起来亚麻可能因为 band 较宽也没有 timeline,整体氛围中比较明显的目标还是 deliver project。

过于强调 impact,比如一个 engineering wise complicated or valuable 的项目,如果最终用户数据不好,是会反映在 IC 的 PSC 结果上的。理论上来说这是为了让每个人都 drive for the most impact,但是现实中做什么项目、项目走什么方向对初级的 engineer 来说根本 out of their hands。美其名曰失败的实验也是宝贵 lessons learned,但现实中没看到具体体现,做出来东西数字不好被用“impact”不够卡了 PSC rating 的还是屡见不鲜。

每半年一次的 PSC 声势浩大,跟 FB 有交流的外厂人员都能察觉到 nothing get’s done two weeks before 7/1 and 1/1(后者本来就 holiday 还能忍)。这是理想状况,实际中 PSC 前后几个月全公司基本都生产力低下。

一个评价系统本身的问题是,四个评价的方向平均要求的教条标准。Engineering Excellence, People, Impact, Direction,看起来跟其他公司没什么两样,但是执行过程中 got carried away too far。如 People 本意是 better coordination, communication, mentorship, recruiting 等等,在实际执行过程中则变成半强制面试、带 intern/bootcamp mentor。公司缩招和 recruiting training pipeline 黑箱管理混乱把这个标准的良好初衷变得进退两难—— 一方面面试官被告知没有那么多面试机会,一方面继续拿面试数量当作 performance 的一部分。跟我同期入职的几个人 end up 在 reverse shadow 里排超过一年,meanwhile 被用 people impact 不足来卡升职/rating even though they did a ton of XFN work and got excellent peer feedback during PSC。然后这个所谓的 pipeline 并不像该司其他处处 over engineer 连发 tshirt 都有 self check tool 一样,是人工/邮箱 inquiry 并且得不到具体数据, 完全不透明,无论是 IC 还是 EM 多少次催都没用, 写全了 availability 也得不到面试(Bootcamp、intern 或多或少有类似状况)。作为对比,亚麻完全不面试也不带 intern 的 L6 都大把存在,喜欢面试的哪怕 L5 也可以自己去向 bar raiser 方向发展,想要 mentorship 的要到 intern 也不难(个人观察),几个考量标准有部分达到下一级标准就有 strong case,术业有专攻。

1.3 Verdict

综合下来,I’m not so sure should I recommend this place to average new grad or not. 一方面职业早期升职迅速的环境确实在物质,心理乃至社交圈上好处良多,被公司照顾的妥妥贴贴没有签证、绿卡、刷题压力也确实是个 relief,另一方面急功近利和 bad engineering practice everywhere 又让人怀疑普通 new grad 能得到多少真正的职业”成长“。不过转念一想,you can learn that shit anytime anywhere,还是不要跟钱过不去了。早早镀金再去追求理想/幸福也是个挺好的选择。

我当初也是抱着“反正不爱上班,不如去个钱多的地方上班”的心态选了码农这条路,也跳到了 FB。但是此基础上自身有了更多选择权之后发现老老实实当合格社畜的能力还是没有想象中的容易的。所以,才有了这次断断续续一年多的不如意之后的重新选择。

相关阅读:


如果喜欢本文的话,欢迎在 Patreon 给我打赏顺便解锁一下小 perks(不喜欢月费的话页面最下方可以 make custom pledge 输入自定义金额 (ง •̀_•́)ง)。Patreon 里提供诸如 1:1 聊天/职业咨询和博客选题投票等金主特权,如果想多聊几毛钱欢迎来成为金主:Become a Patron!