从mentor角度聊一下北美大公司实习如何不踩坑

原创: Amyzen
这个夏天被分配到两个实习生,实习项目是在3个月时间搭建一个新的service。

之前总听人问:

怎样才能实习拿到return?

或者

感觉项目做出来了,为什么没return?

我写了很多代码为什么没有拿return offer?

写两个完实习生的feedback,整理一下实习可能的坑和加分的项目,蓝色是简洁版。

《一》实习生小a

我给的评价是超出预期,原因有以下几点:

- 按时完成给的每一个大小项目。

- 独立性很强。 当项目有一定不确定的地方时候,他会自己首先在公司内网上查wiki, 自己看组里的code和一些包的源码。仍然有不理解的地方,才会问mentor。 因为我自己本身还有自己的sprint task,带实习生只是算我额外的task, 所以有时候我自己的项目也很忙的时候, 他的独立性就给我省了很多时间。同时因为他问问题前都自己先查过资料, 所以他问的问题,也都是些mentor愿意回答的问题,而不是当伸手党。

- 每次都多做一步。 实习生每两周周一会给大老板汇报一次进度。 我通常周五下午5点会给他们的demo提一点建议, 因为不想让他们加班才能完成,所以我通常是说如果这几个小改进6点前能完成会比较好,如果需要超过1个小时就下次再做也行。

他每次都能把我说的建议做出来, 虽然不是技术上不是很难, 我也说了不是必须的,但实习生每次都愿意花自己额外的时间并且把optional的建议做了,还是让我很惊喜。

- 非常愿意帮助其他的实习生。

《二》实习生小b

我非常的后悔当时面试debrif时帮他争取了这个实习名额。不考虑retrun offer的原因是以下几点:

- 不愿意做简单项目。

这我第一次对b感到失望的地方。 其中给b的一个项目是加log,虽然看起来很简单,但对我们整个service却又非常重要。

b在被分配到加log的项目的那一周都很消极, 一周只加了2行log。他觉得这个在技术上没有很难度,并不开心,他用很慢的进度让我感到他并不不想做这个task。

作为mentor,即使是很小的项目也是希望实习生能按时完成的。

那一周我不得不反复给b讲解查log对排查故障的重要性。同时跟其他的实习生mentor聊了一下,也有其他实习生是因为每次完成项目和写代码都太慢而最后没拿到return offer的栗子。

提前和mentor沟通好这个预计完成时间很重要。mentor在分配项目的时候即使没有明说,心里通常会对完成时间又一个预计。

技术上的简单并不代表不重要。 不歧视并能积极完成即使是自己认为很简单项目。

简单项目也可以是加分项。 比如加log看起来很简单, 但如果能花时间多做一步,比如把已有的code的edge case自己都在复查并对error handling可能可以改进的地方提出自己的改进,这是加分的。

- 依赖mentor debug

小a在实习的最后阶段一次提交了code reveiw后对我说:你可能要仔细review我的这个代码,可能会有很多问题,因为我还没有test过。

这是第二次对小b失望。

我们通常是所有的code reviw提交时必须保证code change是被test过的,可能是unit test 可能是integration test。提交code review代表提交者能保证是deployment ready的代码 -这一点在小b最开始实习的时候就告诉告诉过他。

小b在实习快结束的时候还不记得要写test,仍然很依赖mentor和其他组员去帮他找bug,有时候review他的代码非常的花时间,有时候几乎自己想重写一遍。

认真对待每一次code review,mentor提出的意见包括组里的coding convention,争取不需要mentor重复多遍。

对于对test有要求的公司,一定保证提交的代码是自己有信心的,尽可能的用各种方法自己测试过的,而不是在实习快结束时还依赖mentor来debug。

- 对新技术和新知识没有好奇心。

小b的另一个task,我给了他一个例子来照葫芦画瓢。 例子里面有metrics。小b最后的提交的code review中直接copy了例子中的metric, 包括例子中的bug小b也原封不动对的一起copy了。

小b对我说:我直接用了例子,因为我不懂metric, 不知道怎么改,改哪里。

当时内心一万匹XX🐎奔过。公司内部有非常多的wiki可以查,metic的源码和api都是可以自己学习的。

对于公司代码和学校代码不一样的地方,保持好奇心,自己学习时不懂的地方,提出问题,都是mentor很欢迎的。

小b的这三点,前两点中更多是一个实习生的态度,我会开始考虑不给return offer,毕竟技术都可以学,但如果主观态度都八字不合,mentor是不太可能愿意招进来做同事的。

2 Likes

特别认同你这篇分享!

很多实习生总是心气很高,不愿意做简单的Case,难的Case又不多学习,过度依赖mentor/supervisor,没有足够的上进心。这往往是现在实习生的一个通病。

简单的Case可以累积经历,甚至找出更好的一些方法论。难的Case自己钻研过后再去跟Supervisor讨论,节省时间也可能产生出新的Ideas。

近几年的Fresh Graduates,还有一个通病是不愿意进小公司,但自身能力又没到大公司的门槛,于是心不甘情不愿地在小公司混日子。

如果换个想法,大公司的人肯定没时间手把手带你,在小公司可以直接跟高管们接触,从他们身上学到很多优点,多交流、多累积点行业人脉。

摆正心态后,透过实习拿到转正或是更好的机会,肯定轻松许多

非常认同作者的观点。很多时候,我们的工作都是以小见大,如果连一行简单的代码、一个标点符号、一个字母都不屑于去做好。曾经也在非科技公司做管理层很长一段时间,最喜欢就是那些有细节控的员工,他们会很负责任地追踪每一个平凡又细小的工作任务,让我觉得很安心。慢慢地,大cases也会过渡到他们手里。

另外,每个人都想进大厂,大厂竞争异常激烈,内卷非常严重;也不是每一个人都是名校毕业生,如果想实现梦想,建议“曲线”进厂,例如先在小公司积累1-3年经验再跳。君不见大多大厂的职位都mention“3年以上相关经验“。脚踏实地,一步一步走出来吧。