亚麻2019 summer SDE实习经历

8月初刚刚结束亚麻实习,身心俱疲的同时又小有成就感,真的学到很多,离开的时候还有点难过。今年亚麻的return政策是第一轮默认回原组,如果想换组就需要先拒掉offer然后进waitlist等match,不保证match成功。对回原组并不是很抗拒但是跟身边人聊了之后发现亚麻待遇真是不咋地,还是决定参加秋招试试其他公司(又要开始痛苦的刷题= =)。下面说说实习的情况
吃/住/行/:不管饭,中午一般是楼下餐厅和周围food truck。住宿有补贴,自己租房。可以申请公交卡,西雅图的公共交通免费坐,打车停车等等每月有报销额度

Team:一个全是data engineer, data scientist的组(作为SDE很崩溃),全是印度人,第一天team lunch没几句话能听懂,印度口音听多了真的上头。组里大部分人在印度,算上我5个人在Seattle,每两周有一次team meeting,大晚上9-10点开的那种,大家都很认真积极的在做事。实习四周后升职走了一个,休假了一个,很长一段时间就剩我,mentor,manager,daily meeting就我们仨。support我项目的组在印度也都是印度人,大家都很nice,都很帮助我。我mentor对我要做的东西一窍不通,只能给予精神上的支持。。。基本有问题都是和manager讨论的,总的来说,manager对我的项目非常了解,也非常支持和配合我的工作。碰见我一个人吃饭觉得我太孤独了还专门领着我去隔壁组把我介绍给其他intern。跟他提出想找个sde帮忙解决问题,就亲自带着我去找一个sde troubleshooting,最后presentation还亲自帮我改ppt…真的是非常感动。有一个远在夏威夷的technical mentor给我code review, 虽然回复的不及时(实习快结束才发现他是L6),但是也解答了我一些问题,非常专业,并且最后写了非常strong的feedback。

Schedule:1-3周配环境、了解组里的业务和自己的proj,4-11周做项目,11-12周final presentation和wrap up

coding:一定一定一定要一开始就确定format,naming,structure等等要求。我就是一开始没问这个,第一次cr改了10版。及时follow up/push你的code reviewer,不然会严重delay后续的cr。最好每一条comment都回复,接受建议表示感谢后面会改,不接受说清楚原因,要把自己的思考和沟通的过程反映在里面。犯过的错误后续不要再犯,code review不仅是个review的过程还是一个反映improvement的过程。

WLB: 实习前半段还比较轻松,朝9晚5,晚上休息周末出去玩。因为第6周有midterm review,第5周周末加了班。第8周开始变得很忙,因为有feature实现不了身边又没个能帮忙的人,还有一些新提出的requirement要弄。9、10周下班比之前晚,周末都有加班,第11周周五internal presentation,整个第11周晚上都在加班,最累的一周。第12周划水,午饭出去磨叽两个小时2333。全职的人平均每周一天work from home,偶尔请假。

1 on 1: 和manager的weekly 1:1 我一般是先和他汇报一下项目进展,碰到的问题,然后说一下这一周的计划,闲聊几句,最后问一问有没有什么需要我改进的地方/是不是在拿return的right track上。manager在第四周的时候说我一直在接受他和我mentor的想法,应该提出一些自己的idea。于是我从第5周开始就比较积极的参与讨论给出自己的想法(真的是需要非常用力的思考),其他时候他的feedback都是doing great。在和bar raiser开会前一周的meeting上我直接问他如何评价我的表现,他说他会recommend。

其他:

  1. 项目开始之初确定好milestone和重要的requirement并且最好不要改。像我final presentation前一天还被要求implement新feature真的是要命
  2. 可以找个地方简单记录自己每天干了什么,这样方便最后写documentation和self-review
  3. 中间一度被另一个组block,发邮件,发chime对方都不回,就汇报给了manager让manager去催,效果非常好
  4. make progress/deliver result,每天daily meeting都update新的进展,让他们知道你做了什么尝试了哪些方法克服了哪些困难。实现一个问题的方法如果有很多种,可以很快的试一下,看哪个能达到效果,mentor最后说这一点很bias for action
  5. 多和mentor、manager沟通,安排daily/weekly meeting,表达自己的concern,比如遇到的问题,被block了,需要帮助之类的。像我很担心bar raiser会拿code review的次数和unit test说事,就把这一点跟他们都说了,他们说不用担心会帮我解释(这一点因组因项目而异…)
  6. 提出并坚持自己的想法(最好是建设性的有点儿价值的想法…),项目有个feature要实现user authorization,manager提出了一个简单但是不够"高级"的方法,我坚持用一个更权威、正确的方法并且最后实现了,这个feature最后很受好评。. check 1point3acres for more.
  7. 和跟自己项目有关系的人保持联系,沟通进展和问问题等等。最后peer review除了mentor还需要另外2-3个人来写。
  8. 和办公室的人好好相处,最好别只埋头干活。早上morning,how are u一下,走廊碰见微笑打个招呼,周五了have a good weekend。和mentor、manager可以周一的时候聊一聊weekend,快假期了聊一聊去哪儿玩等等。和几个印度人打过一次乒乓球感觉自己是个假的中国人打的太垃圾了…
  9. Presentation除了技术上的东西还要强调自己克服了哪些challenge,项目的impact是什么,显得自己做的东西很厉害的样子

总的来说,亚麻很适合新手获得第一场工作经历,intern努力完成自己的project是最重要的,多思考,多沟通,不懂就问,有些不是必须的要求能实现最好还是实现了。关于分组和project的质量需要运气,印度人也不是都像传说中的那么不好,尽自己最大努力做到问心无愧就好了。祝每个在亚麻实习的人都能成功return,横扫其他公司offer!