小齐说:
在来美国之前,她在北京的一家公司工作;这个暑假,她在亚马逊 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/sma...
- 如果很长时间都没有太多进展,不要怀疑自己。只是大公司的 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,非常感谢亚麻带给我的成长~
好啦,以上就是所有分享啦,如果你喜欢这篇文章,不要忘记点赞哦!也欢迎留言告诉小齐,这样我就会去找更多小伙伴来分享在各个大厂的工作体验~
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。