一段幸运的亚麻实习经历

avatar 366562
tpdhjc
8109
20
今天被manager告知拿到return offer了,记录一下这段幸运的实习。
找实习
我是去年11月初才海投的简历,那时候什么都不懂也不太注重找工,是看到周围的同学说亚麻oa投了就发于是就跟风投了一下简历。海投的同学都很快就收到oa了,但我有些找内推的同学反而一直没收到任何消息,还有直接被简历拒的。当时的想法是第一学期先刷题上课打好基础等春招再投简历找实习,这是很sb的行为!切忌。所以整个秋招就只投了一家亚麻,还好收到oa后还是很认真准备,亚麻的oa地里都有原题所以过的没什么难度,提前都做一遍就好了。最后是一轮的vo,当时收到vo invitation的时候已经是十二月了,正好是寒假的时候,本来寒假还约了朋友去环球的,收到invitation后就鸽了,在家疯狂看面经从easy到hard的高频题都过了一遍。当时觉得挺有底的了就算是遇到hard也不一定写不出来,没想到。。面试官一上来问了我一个fizz buzz g.co。我懵逼了一下然后照写了,写完他说只是warm up。然后。。正式的题目是two sum。。当时看地里说尽量先写brute-force再improve然后就这样写了,写完让分析了一下时间空间复杂度就结束了。面完感觉凉透了,因为这个题并不能体现出算法实力啥的。面试前一天在地里还看到说亚麻intern开始waitlist了,所以就算过了也是waitlist还不一定能转正。当下就准备move on了,开始投别的intern。但当时已经是一月中旬了,投的时候发现大厂早就没坑了,小厂很多是白嫖oa然后就没消息的。所以一定要早投不要拖到所谓的春招!后来到了一月底的时候收到邮件说我过面试了,现在在waitlist中,很多人发邮件问是否能转正,什么时候能转正之类的问题,得到回复都是 不知道,等着就完事了。然后就是漫长的等待,等到了大概四月的时候吧,突然收到了hr的邮件说我简历上的一个项目有一个组比较感兴趣,想和我聊一下。突然又看见了希望,本来想再准备一下算法题的但是那时候作业比较多而且时间也就两三天,就没准备了。然后那天是组里的hiring manager对着我的简历一个一个项目过了一遍,问的很详细还有很多follow up,相当于bq了。就这样问完以后过了不到一周hr通知我说我被捞起来了!那时候特别高兴,从waitlist出来真是太不容易了。

实习前期
今年五月中旬开始的实习,因为是manager捞出来的所以我就直接去了他的组,是一个device org的组,在湾区那边。本来还想去湾区见识见识的,谁知道遇上了covid-19只能继续呆在小村里wfh了。实习前收到了公司寄来的电脑和显示器,作为一个从来不用显示器的人只想说真香。然后实习就开始了,一开始给我安排的项目是一个不太需要coding的项目,和manager对我简历感兴趣的那个项目比较相关。我的mentor是组里唯一负责这方面的人,manager觉得需要更多的人来做这部分所以就把我安排过去了。我一开始觉得没什么,但做了两周后发现一是我不太懂相关的技术,虽然之前做过有些关联的项目,但也仅仅是有所了解,掌握的很少。第二是这些技术不是很general,如果想当general sde的话这些技术的帮助不大,可能只会写少量的C++代码,大部分时候都是在做和coding无关的事情。 于是我就和mentor和manager表达了我的concern,然后提出想换一个项目。还好我的manager和mentor都非常理解我,提供了一个project list,并告诉我不用想太多,按兴趣选择就行,于是我就挑了一个我最感兴趣的project。这个是组里一个applied scientist的项目,我的mentor对这方面几乎没有了解,所以我当时比较担心的一是我自己能不能handle,毕竟不是我mentor的话也不好整天问问题,二是会不会影响我的mentor,因为之前在地里看到说带intern是对promote有帮助的,我后来问了mentor和manager他们都说不影响因为我mentor已经是L5了之前也带过intern,我就放心选这个项目了。后来review的时候还因为这个事被manager说have backbone,是一个strength哈哈。

实习中期
确定project后就开始design了。非常幸运的是这个applied scientist是中国人L,很认真负责,尽管我不是他的intern他也每周和我有一次固定的meeting,平时问问题也很耐心而且交流起来还是中文方便许多,很多英文说半天没说清楚的事情中文两三句就明白了。以及之后的cr也是很及时地帮我看,给意见,讨论思路,真的帮了我很多。刚开始的时候因为时间比较多,整体来说是很放松的,因为我在东部,基本就是1点上班然后7点下班的样子,结果就是一个design doc写了一周没写完。。也导致了后期的加班。我们组里每个人的事情分得比较开,基本上每个人负责的都是很不同的事情,所以design doc基本就是我和L的想法,也没有和customer交流过。这是错误的!后面再说。Design doc确定下来后manager觉得主要负责cr和feedback的都是L,所以就把我的mentor换成了L,这也是一个幸运的地方,mentor了解你的项目是非常重要的,其实每周mentor和manager开会的时候都会track你的进度,我的manager很少直接问我做了什么,除了standup主要就是从mentor那了解了。还有就是customer meeting的时候也能帮你挡很多事情,后面说。但!刚开始没多久我就被安排了一个和项目无关bug fix task。我一开始是不太愿意的,这个task看起来简单但实际上很花时间去搞清楚整个系统是怎么work的然后还得大改. 但其实这里manager是捞了我一把。这个过程中我熟悉了组里用的框架,后来做project的时也快了许多。我的project是python的这个是C++的,所以同时这个task还增加了deliverable diversity 和 dive deep, feedback的时候manager提供的关于dive deep的data point就是这个。花了两周左右解决了这个task后,时间已经到一半了,这时其实才开始focus我的project。但是!这个时候manager突然杀出来问这个design doc有没有和customer沟通过,我和L都没想过这个事于是就赶紧schedule了一个meeting去收集意见。我当时还很不解为什么一开始不早说,都到mid point了才提出来,开了会又得改design又得浪费时间。后来才知道manager这是又捞了我一把。和customer第一次开会的时候被怼得很惨烈。。先是公开处刑了design doc,然后不同组的customer一个接一个把需求抛出来,有些根本不搭噶的也说一通,我是听懵了,一场下来基本没出声,连听都听不懂,还好是L帮我挡了很多问题,也告诉我design不用改,就按之前的做。因为这个project的scope巨大,他们的很多requirement都和我做的部分是无关的。最后除了原来的project外也还实现了一个P0的stretch goal,给customer obssession和deliverable增加了不少分量。在亚麻真的要很注意customer,后来我写self review和presentation也是一口一个customer了。

实习后期
开完会后就真正的开始implementation了,这部分倒不是很难,但我比较懒不太注重code style。在学校的时候因为扣分扣得很严所以会认真写,但是工作的时候好像cr也没人管code style,也比较注重deliver result所以就基本不写comment之类的。还好后来和L 1:1的时候他给了我这个feedback我就马上改了,尽管这样manager最后还是对这个点印象比较深刻,feedback的时候还说了一下没有insist on highest standard但可以理解因为bias for action。原先定的project其实很快就做完了,并不难只是需要点时间fine tune,但也遇到了一些别的问题。在新功能加入后之前的一些design的limit会严重影响performance, 当时已经是倒数第三周了,于是就只能加班加点加了一个mechanism去解决这个问题。我觉得这里是最难的,不仅需要把原来的逻辑完全弄清楚,还得想办法考虑各种corner cases,还得想办法解决并实现,测试,时间还很紧。就像之前说的,基本上project的deliverable都是在最后一个月,如果遇到了什么难以解决的问题可能就完成不了那return肯定是凉了。最好还是能把时间规划好别堆到最后吧。然后倒数第二周就是做stretch goal,就是之前说的customer的需求。有了之前的基础这个倒是不难,几天就做好了,然后就是把design doc什么的完善一下,准备presentation之类的了。最后一周就是各种demo了。

总结
整个实习过程可以说是很幸运的,去了一个好组,manager和mentor都很好。manager捞我这三次真是直接把我捞上岸了。个人觉得实习成功与否manager和mentor得占80%。如果遇上了好的manager和mentor会帮你争取return offer的,不出什么大错,自己不划水的话应该都是没什么问题的。当然听说亚麻组之间差距很大,所以以上所有都是个人经历,不能代表任何组或亚麻。我最后的feedback问题有两点,一是code style,二是communication。第一个问题好解决,第二个确实是一个weakness。很多时候我都说不清楚我做了什么,怎么做的,为什么要做之类的问题,最后和mentor聊天的时候他也建议我要提高一下这方面。优点是deliver results,个人感觉我效率还是比较高的(除了划水那段时间),特别是后期熟悉了框架后也是能很快地解决各种问题了。还有就是dive deep, have backboon和bias for actions了。比较可惜的是和其他组员除了前mentor平时几乎没什么联系,wfh后想问个问题都得schedule meeting,工作交流都变得很困难,更没有工作外的交流了。
  • 46
20条回复