谈谈我的两次实习经历(Data Science/Backend)

作者:screwforest666

刚刚把研究生最后一节课的最后一个 project 交了,也算是终于有了些自己的时间来反思一下这一年来所走过的路。觉得还是很有必要在我快要忘记之前把两次实习的经历简单说一下,顺便记录自己的心得体会。遥记得我在第一次实习的时候带我的东欧姐姐跟我说她之前在另一个小公司实习并没有拿到 return; 而我算是很幸运,两家都拿到了,但是总觉得自己有做得不足还可以再改进的地方。先前以为自己有过全职的经验,也算是知道社会人情冷暖。但后来才知道短短一年全职并不能说明什么,自己还是有很多需要学习的地方。那就开始说吧。

实习一:数据科学(18.5 – 18.7)

未开始前我以为我去了就是用用 Excel 啊 SQL 啊搞点基本的数据清理就行了,去了才知道原来在我开始前一个月我老板给组里的 principal 发邮件问了有没有什么 intern project 可以给我做,结果只有我 mentor 回话。而她的方向是CV,所以完全没有任何计算机图像知识的我懵懵懂懂的就开始上道了。实习一共是11周,第一周主要是接受各种公司文化培训以及熟悉 project,设置环境。因为公司非常注重数据安全,所以设置环境请求权限就整了挺久的。但上道了以后还好,和 mentor 开会大概知道了这个 project 的进度:已经开始 field testing 了,但因为时间关系当时有很多想法并没有付诸实现,所以希望我可以 poke around 看看能从中得到什么东西。自我感觉其实组里的氛围很好,一点也不 pushy,我听 mentor 的意思其实他们也知道我背景不相关所以没打算说让我做出什么花来,更多的是以学习为主吧。不过我既然来了就肯定不会说光学(mo)习(yu)不弄出成果的,所以一开始我的目标就是要做出点提升。接下来四周我主要是学习已有的代码,尝试复现现有的成果。神经网络有多坑我就不说了,一开始我不能100%复现的时候其实还是有点丧气的。不过后来搞清楚了为什么不能复现以后也就好说了,开始了我的探索之路。后7周我尝试了不同的算法,处理了新的数据,提取了新的特征,自动化了一波脚本,整理了项目有关的文档,以及给 onboarding docs 加了很多细节。最后在我走的时候给领导们做了个汇报,成功的把模型准确度从 86% 提高到 93%。一对一的时候我的直接上司给我评分是 exceed expectation. 不过当时没有马上给 return,因为一是公司没有根据实习情况免面试给 return 的传统(和FB不同),二是当时 hiring freeze 本来也没有多少人头。再次拿到 return 是另一个心酸故事,暂且不表。整体过程还是轻松愉快的,毕竟是我的最爱嘛哈哈哈。

感觉自己在这段实习里做的不错的地方:

主动给上级汇报 – 虽然我 mentor 和直接老板并没有要求,但我每周五都会给他们发一个 briefing. 主要内容不超过两页,里面包含了我这周做了什么、下周要做什么、遇到了什么困境想要讨论、学到了什么。因为知道老板没有时间,所以主体我都是高度概括的,细节都在 appendix 里如果他们想知道的话可以自己去看。后来老板说这个 briefing report 很好,因为在她最后给我的 performance 写总结的时候可以直接调出来每周的 report 量化我的成果。我 mentor 每周和我开会的时候也主要是针对我的【困境】那一部分,而后再给我指明大方向,我再 refine。因为在公司大家都很忙,也不一定有人肯手把手带 intern,所以觉得及时的汇报非常重要,至少 mentor 和直接上司可以把握好你的进度。 即时分享 – 我们 DS group 有一个邮件列表,给里面发东西所有人都会收到(不仅是这个办公室的)。我看到非常值得分享的 DS 的信息就会转发过去,例如 debug Keras。这一点老板也提到了,说她的直接上司看到我身为 intern 却很积极地和大家分享技术相关的信息觉得我很有热情。 主动设立目标 – 就如我上文所说一样,其实本来组里对我并没有什么期望。也不是说他们希望我 rework,但更多的可能是想我可以从这个 project 里体会到数据科学在工业界的应用。但我一开始的时候就不是这么想的,我一直拿 FT 的标准要求自己,觉得需要改进做出来成果。因为我自己给自己设定了要求,mentor 后来发现她不需要手把手带着我把我引领到对的方向,所以给她省了不少功夫。 拍马屁(?)– 实习中期的时候我给招我的 recuirter 发了个私信,大致内容是表示对她的感谢。谁知 recuirter 把我这封信直接转发给 exectuive 了,所以我也算是在上面一战成名吧(虽然这也是我的直接老板告诉我的)。而且在走之前我给每个人都送了一份小礼物+thank you note,因为我觉得从每个人身上我都学到了不少东西,非常感恩。这也在我后来全职 onsite 的时候帮了我不少,大家对我都很热情很好~

当然,也有做得不够好的地方——

不太会推销自己 – 这点可能是华人的共同点?明明做了100分,但是谦虚说成只有90分。尤其是我到最后要给领导 present 的时候,我一张嘴就是 I didn’t do much, just helped… 然后 mentor 马上纠正我:不,你不能说你没做什么,你要夸大你做的成果的 business value。在此真的很感谢我的 mentor,一个华人大姐。她从我进来以后就一直帮助提点我,让我少踩了很多坑。同期另一个白人男实习生就很会推销自己,没事就 present 自己在做的事情给全组的人看,所以他走的时候大家都会记得说“哦这就是那个做了XXX、YYY、ZZZ project 而且经常给人 share 的xxx”。职场上要会 sell your work 很重要,可能你做的事情非常的有 impact,但是不说出来就没人知道了。这个可能也会直接关系到 promotion 吧,但我还没到这一步所以不能妄言。 热情表现不够 – 这点倒不是我老板和我说的,是我听某些同事转告给我的。具体就是我比较喜欢 focus on my work,所以之前 intern 有很多了解公司文化的机会我都没去(本来也是 optional 的)。但是可能有些同事看了就会觉得我只顾我自己并没有表现出来对公司整个文化的接受和热情,在我走的时候问我一些关于公司的常识我也只能答个七七八八。所以这一点其实在我转正面试的时候是有点减分的。

总而言之,DS的实习还是轻松愉快的,除了我不太擅长与同事扯皮以外(因为我个性比较慢热,爱好也比较窄,每次 team building 的时候都插不上话)。不过我们组的人也比较 chill,都是很有个性但是又会与人相处的类型,所以都很照顾我也没让我觉得我被 singled out。然后我就 switch gears 去做网页啦~

实习二:网页后端(18.8 – 19.4)

这个实习其实有点曲折。因为我拿到 offer 的时候已经定了要去第一家公司实习,然后这家原本是希望我暑假开始的。结果我就和未来老板以及HR各种拉锯,最后这家同意了让我先去另一家实习之后再来。不过这也埋下了祸根,后面会提到。8月开始我先是头两周 full time,接下来开学了一周就去两天:周一早上,周五一天,周三我偶尔 wfh。整个寒假除了圣诞我都是 full time 的。春季开学了我是一三五全天都在公司。

刚进去的头一周,我每天都压力山大。因为完全不会前端的东西,当时面我的时候老板问我的偏好我也说了我想做后端。后端是C#,和 Java 基本就是一毛一样但是我很久没写 Java 了。头一周的时候我 push 的自己很紧,希望马上就可以有产出。但好像组里对我的 expectation 是头两周 full time 的时候熟悉一下产品和 code base 就好了,我却硬逼着自己第一周开始就 take tickets :frowning: 当时给我分到一个大叔,算是带我的吧?他比较有耐心,也很熟悉产品了(毕竟做了好多年),所以对我指导也很多。比较惨的是我入职三周后他突然辞职了,理由是想退休(他60+了)。后来我就跟着同样是专精后端的三姐一起干,她技术是过硬的,每次 code review 都能挑出来我PR里的一堆错误。惨的是两个月后她找到了更好的工作也辞职了……然后我就没人带了。18年秋天的时候我被分到的一个 side project 就是 refactoring,把现有库里调用公司自己轮子的代码改写成 entity framework 的标准。期间我也慢慢学了一些 best practice,等到放寒假的时候我这个 project 基本也就做完了。我就问老板有没有新的 project 做,她说她会给我分的;然后就没下文了。期间的插曲是在感恩节的时候上面提到的 DS 公司给我发了 return,这家还没有任何动静,我就主动约了老板一对一讲了这个情况。老板给了我 return,但我最后并没有接。之后她就完全放养我了,也并没有给 project,我只能在每次 sprint planning 的时候主动开口找活干(不然啥也分不到)。最后走的时候也没有 implement big features,估计是因为说要走的时候太早了(18年12月的时候就知道不会继续了但是今年四月才走)所以后来逐渐被边缘化,这个下面我会提到。

在这家公司实习的好处:

极大地提升了我的自学水平 – 诚如我之前所说,其实组里并没有希望我第一周就有产出。但我确实是按照 FT 的标准要求自己,所以第一周我配环境的时候就想哭了但还是坚持了下去。C#一开始不会,我只能有问题都搜 stackoverflow。到第二周的时候我开始慢慢的有了概念,改起来也得心应手了。兼职到寒假的时候我已经对整个 web project 有了很清晰的概念,尤其是后端知道如何 navigate,后端的变化会如何在前端展现出来。之前虽然自己看的懂一点JS,但是用的很少,更别说是在生产环境里了。组里的前端是 Angular (1!!!) + Vue + React 混合,偶尔我还能找到上古 JQuery。这些我一开始都不懂,但是慢慢看着看着就会了。这方面的技术问题我觉得是可以自己克服的,所以就没有总是去骚扰同事。到现在我不能说我是 full stack 大牛,但是 .Net 的后端感觉还是比较舒服的(设计还在慢慢学orz)也能听懂同事的一些技术讨论了,所以感觉几个月 web 开发从无到有还是挺自豪的。 宽松友好的环境 – 公司不大,但是 dev 自己有栋楼。dev 们并不是无口,大部分都很热情开朗,如果问对问题的话都很乐意帮忙。我第一周就能产出 code 让一开始觉得我好像傻傻的带我的大叔甚是惊讶hhh 跟所有科技企一样,弹性工作是标配啦,每个月一次 tech talk 每周五公司包饭开 company wide meeting 感觉彼此之间都知道在干什么,就很暖心。认真干活的话会被大牛赞赏,我走之前很欣赏的一个 senior 就说觉得跟我共事很放心,这种信任的感觉还是给我很大的鼓舞的。 多线程工作 – 跟之前不同,我不再被分到一个单独的 project 上;有时候我在做一个 ticket,另一个我之前跟进的 ticket 又会分过来,我得学会 prioritize 确定这两个 tickets 之间的先后顺序。

但是不好的也非常明显:joy:

与老板的关系 – 这点真是重中之重啊。我觉得这也是导致我这份实习不是这么成功的一个原因之一。前面说了,本来我应该18年暑假开始的,但因为我个人的原因这份被顺延了。我觉得可能那时老板对我就有些意见了吧。接下来进组以后她并没有和我制定定期 1:1,而是说只要有需要我找她就好了(而之前DS实习的时候每个月1:1都有的,偶尔我还会和老板一起去买咖啡)。进组两周后我从朋友处打听到别的组缺 DS 的人头,就过去和那个组的头聊了两句。那边的头对我很满意,打算把我挖过来,可是我当时并没有和我老板提过这件事。也就是说:老板从另一个组的头口中听说了我要被挖过去的事。当时组里刚走了带我的大叔,人手不是很够,所以她给我发了封 email 问我怎么回事。我很委婉的回复说我现在是希望呆在这个组的,只是看到那边也有 need 然后我的 skill set 比较吻合,就想顺便帮个忙。我后来想想,其实这是职场大忌——换组啥的不要在还没站稳脚跟的时候就开始行动。老板后来把我留在本组,但基本就没怎么管我了。先前还有三姐,她走后我就是组里唯一的外国人了(其他的都是白人)。老板本身忙以外我和她的世界除了工作也没什么交集,所以每次1:1都是我在说她在边上微笑鼓励,我总是没有得到具体哪方面应该改进的 feedback。在我12月说我要走了以后我们只有一次1:1,还是我强烈要求的,但是她和组里新来的实习生都有1:1。因为这些个事情我觉得我和老板之间的隔阂比较深,应该说是本来就不亲密之后就更生分了。最后感觉自己基本就是个隐形人,不开口的话总是分不到活没事做。所以还是那句:要跟对人,搞好和直接上司的关系。新来的实习生们都有分配到 mentor,所以开会时候就算他们不说话 mentor 也会撑他们。而我就只能 self promoting,但是因为个性的关系我感觉还是推销的自己不够好,在组里逐渐被边缘化。你不出声别人真的不知道你在想什么的啊,千万别像我一样最后 suffer in silence 了 >< 跟组员的关系 – 我觉得可能还是我自己想太多,但是作为一个 only minority 在组里如果自己的爱好和老美又没有什么共同点的话,那其实日常不会太好过。我挺喜欢我的同事们的,但是我们就是聊不到一起去:sob::sob::sob:他们讲一些动画片啊游戏的梗我都听不懂,只能尴尬陪笑。时间长了大家自然也就不会带你玩儿了。组里转正的另一个实习生就非常外向,然后梗都能接住还能抛出去,一来一回的就成为了组里的活宝。感觉这点的话只能靠自己去培养相近的兴趣爱好了,当然也会有人说做自己就好啦管他们干嘛,但是我觉得每周见40个小时当然是希望生活上也能有些交流的。这方面我确实是做得不够。 还是那句,不够主动 – 在这家我比之前还不主动:sob:例如我的PR在那挂了很久都没人 review,我试图 push 其他 dev push 了两三次以后如果他们没有回复我也就放弃了。所以直到我走之前还有两个 PR 没有人 review(因为改动比较大),而它们已经挂在 sprint 上四个月了:neutral_face: 因为自己性格慢热的关系和组外的人沟通也不够多,但是在走之前的时候情况有所改善(和其他 intern 倒是玩的挺好的),就觉得还是自己心魔的关系比较怕丢脸吧。

总之我还是非常非常喜欢这8个月的实习的,让我看到原来我也有做 web dev 的可能性。就是在实习的时候自己踩了一些坑,吃了一些苦头,没有意识到职场上除了技术以外与人沟通也是一门大学问。之前总觉得自己只是个 intern 可以置身事外,但马上就要开始全职了又要开始刀光剑影了(特大误)。以后希望自己能顺利从职场菜鸟进阶成为老手吧,毕竟工作也是生命中非常重要的一部分,做出成绩以外如何与他人合作互利共赢(却也要维护好自己的利益)是一门非常高深的学问。道阻且长,且行且珍惜。还有两个月的假期,但愿接下来的全职旅程一切都好啦~

1 Like

所以你回国了还是继续找新的工作? 听听看