从国内的996,到美国的朝9晚5,真的这么惬意吗?
小齐说:
在来美国之前,她在北京的一家公司工作;这个暑假,她在亚马逊 AWS 组做后端开发的实习。那么在美国工作的感受到底怎样呢?让我们一起来看吧~
先恭喜她已经拿到了 return offer!
先介绍下自己的背景吧:
国内本科 cs,之后在北京某 startup 工作了近一年,现在马里兰读软件工程,这个暑假远程链接到西雅图的亚马逊 AWS 组实习。
实习中最满意的是什么呢?
组员们几乎完美,技术强并且非常乐于助人。
工作了 1-15 年的 SDE 都有,工作了一年的 SDE 已经很有想法可以提出建设性的不同意见;工作了十多年的也还是对技术很有热情,很愿意帮助新人(我)。
比如某天下午 5 点我在群里问 git 的蠢问题, 组内大佬竟然愿意和我视频通话帮忙解决。
(小齐说,5 点没关系的啦,我们组的 intern 晚上 8 点还问我问题。。)
mentor 很好。
她也是组内唯一的女 SDE,真的无论在技术指导还是心理指导上都帮我超级多。
(小齐说,对于每个实习生,都会有一个指定的 mentor 来带,最终也会给实习生打分。从 mentor 的角度来说,mentor 是大家自愿报名的,也是升职时的一个重要指标,所以是互惠互利的。)
我们组的 WLB 还不错的。
虽然我自己的不行,但是感觉大家还是请假很容易,也都按时下班。
❝WLB: work life balance
❞
实习中最不满意的是什么?
刚开始真的好难,真的好累。
感觉在这儿朝九晚五比国内 startup 早 10 晚 10 还累 😂
但因为 mentor 和组员都帮我很多,并且不断告诉我这是因为大公司的 learning curve 长,新人正常的,也就坚持下来了。
具体说说实习的难点
我在第 6 周 mid-point check 的时候,发现自己竟然还几乎没写啥代码,真心挺焦虑的。
原因大概是搭建 infrastructure,理解 design document 的 components 都花了我太多时间。
感觉当时有一种被代码库淹没的快要窒息的感觉,就是感觉在一个很浑浊的河里游泳,偶尔 mentor 的帮助下能踩到地,稍微吸一口气,但大多数时候根本看不清方向,不知道朝哪里努力。
当时甚至都觉得我的职业规划不一定对,我可能不适合码一辈子代码。。
还好 mentor 在 1:1 中都给了我很多鼓励,翻译后的原话也给其他新人做一些参考:
❝我当时也很难受,问了很多人,所有人都告诉我这很正常,不用焦虑。但是我学了那么多都没有学进去,真的没有办法不焦虑。
❞
所以我现在只想告诉你,你这些焦虑我曾经也经历过。
然后真的就像别人说的,3 个月后我就发现一切都好了。
相信你也是,我不期待你不焦虑,但我希望你知道 it's normal. No one will look down on you.
(小齐说,这个 mentor 真的太暖了!小齐刚入职时也是这种感觉,被大量的代码和文档淹没,可惜当时没有人指点,只能自己硬啃下来,啃完了也就发现,不过如此。)
实习的感受
实习真的不一定比国内的 996 轻松,毕竟我之前也是在北京工作过一年。
我觉得主要是以下 4 个原因:
1) remote intern: virtual 让本来的 social 放松变得更难。
2) 英语环境不适应: 我刚开始开一小时的会真的就会受不了了。
3) 大公司 learning curve 长:探索而不得,很费精力。
在实习初期我就是每天中午一定要瘫一小时,不然下午喝咖啡都工作不了。下班后也是先躺尸一小时,不然吃饭都觉得没力气,周末也是整天的躺尸。
对比原来在北京工作的一年(早 10 晚 10,另外来回路上需要 2h),周末服务器崩了会需要去自愿加班,基本可以算是 996,但这样 11 点到宿舍了我还会去夜跑,周末还老去徒步,跳舞练拳啥的,可见至少没有实习这么累的。
4) 大公司的衡量方式可以更加 push。
我觉得这是好的,就是它通过好的机制和工具,让你在工作的时候效率更高,这样你就能既有 work life balance,同时公司也不亏有效益。
但我原来在的国内 startup,虽然我们组内氛围也很好,我也不磨洋工,但真的没有被挤压的需要这么专注;而在亚马逊期待我每天 8 小时内完成的任务,都是需要我狂喝咖啡那样的专注后才能在 8 小时内完成的。
(这里小齐点赞,在美国大厂一般时间都很灵活,只要你高效的产出,工作几个小时都没人管,毕竟大家每天都要开 stand up 汇报进度的,想划水也没那么容易。)
给学弟学妹的建议
不要害怕问问题。
其实我在入职的第一天的 training 上就被强调了"There's no silly question in Amazon",但是心里依然有一些阻碍。
因为在大学的 cs 学习,包括我之前的国内 startup 工作经验里,我早已学会了 Learning by Googling.
"言传"似乎从来不是 cs 领域 prefered 的学习方式,大量的开源平台有足够的资源让你找到答案,再恶心的软件问题,似乎花个半天一天把 google 到的所有方法试一下几乎都能找到答案。 但在亚麻,至少是我们组的 back-end dev,documentation 真的太少了,internal 的 exception 也实在太多太 weird 了,我几乎没有在内部搜索平台上找到我报的 error 的 solution(关键就是和开源平台一样能搜到很多建议,然而都么得用)。
比如我曾经在周末花了一整天 debug 一个 error,把内部搜索平台上建议的 solution 递归都试了,结果还是不行,然后周一早上 mentor 花了 10min 就解决了,告诉我那个 error 直接忽视 override 即可。
(小齐说,这里我也深有体会。从大学就开始自学,似乎已经丧失了问问题的兴趣,喜欢任何事情都先去搜索,这确实是非常好的习惯。但是在大厂里,很多工具是自己的搭建的,可能还不完善,会有各种奇怪的 error 还没来得及解决,所以刚开始适当的问问题是需要的。后来随着经验的积累,也就不需要问别人了。
这里推荐一下这本书,How To Ask Questions The Smart Way,也在我的好文分享群里分享过,想加群的小伙伴后台回复「进群」即可。
http://catb.org/~esr/faqs/smart-questions.html
如果很长时间都没有太多进展,不要怀疑自己。只是大公司的 learning curve 很长 尤其对于后端开发。
我的 learning curve 巨长,很可能是因为我的 intern project 和大组已有代码关联太多。
而这一点不具备普遍性。比如我们大组的另一位 intern,做独立的前端 feature,在第 4 周就有 deliverable。和其他同地区的 intern 交流的时候,我也发现大家基本是做和大组的工作相对独立的一个前端项目,只有我纯后端。
学会 feel comfortable with disagreements,被否定了尽量不要觉得受伤或者怀疑自己。
亚麻有一个 leadership principle 叫 "Disagree and Commit"。
感觉这是中美的文化不同,像我一开始花了很多精力终于写了一版的 design doc, 结果发上去老队员立刻一堆修改建议 comment,改了七八版。
我当时当然很感激大家关注我的 project,但有点怀疑自己是不是做不太好这个事儿。
在这一点是也很感谢一位队友,comment 了超多次后我还改不对后 还私戳我希望我不要 feel hurt,也很愿意为他的 comment 提供一些 background knowledge guidance.
(小齐说,这就是我们常说的不要玻璃心嘛。职场里大家做事都是对事不对人的,cr 里被 comment 很多对新人来说是学习提高的好机会。同时,去 comment 别人的 cr,提供建设性的意见,也是工作的重要部分。)
每朵花都有它绽放的时间,尽量努力就好。
我最后写 intern review doc 的时候,发现因为我中间推翻了一版本的 design,我最后真正 work 的所有代码都是在第 8.5 周-第 11 周写成的。当然那也意味着疯狂爆肝,身体不适,情绪不适都喝咖啡继续弄。
好像从第八周开始,我发现遇到奇怪的 bug,我大概知道可以去看啥代码 for reference 了,那些 mentor 可以花 10min 解决的问题,我不再需要花 1 天还解决不了,我花 2h 也就能整了。
尤其是到第 12 周的 final demo 前 3h 我的整个 project 终于都跑通的时候,那个成就感,酸爽感,真的是不可言说。爆炸开心幸福满足。
付出有多少,做成了就有多爽,这都是对应的啦。这两天陆续收到组内外小伙伴的很多肯定,再康康这段时间写的那么多好看的代码,真心觉得 anyway it's worth it!实习结束我也顺利拿到了 return offer,非常感谢亚麻带给我的成长~
好啦,以上就是所有分享啦,如果你喜欢这篇文章,不要忘记点赞哦!也欢迎留言告诉小齐,这样我就会去找更多小伙伴来分享在各个大厂的工作体验~