从start-up到狗家的个人感悟和经验分享

avatar 193571
anmour
12870
28
楼主去年疫情期间跳槽到了狗家,不知不觉已经超过了一年,在此给大家分享一下自己的一些感悟和经验,仅供参考(有米的捧个米场😂)。

  • 个人背景

PhD方向虽然是在IEOR下面,但做的其实偏biomedical engineering,平时主要做仿真和跑实验,跟CS/ML没有半毛钱关系,唯一写过的几行代码还是有一门课一个次作业,用C++写了几行,差点没有当场去世。所幸PhDD的老板不care我选什么课,所以就自己去选了几门跟machine learning / data mining / statistical learning相关的课,做了几个project,滥竽充数写到了简历里。当本科很多同学master毕业,一个个去了脸狗麻的时候,除了羡慕嫉妒恨也只能留下悔恨的泪水,而且也一直很挣扎,因为很明确自己不想去当发考题,不想去当薄厚,但又下不了决心转码,所以毕业的时候,站在了人生的三岔路口,满眼都是迷茫。

  • NG找工
PhD期间没有实习过,毕业的时候才知道现实的残酷,投跟自己research相关的职位,要么简历拒,要么一听要sponsorship立马拜拜。也海投了很多DS、SDE的职位,除了几个小公司给了OA,基本做完就再也没有下文。前前后后可能一共投了500多封简历,没有一个熬到onsite,这才意识到,没有CS的背景找工作简直是举步维艰。

事情的转机是有一天突然邮箱里出现了一封从来不记得自己申请过的一个公司的邮件,说要约面试,而且是MLE的职位。楼主觉得自己半吊子的功夫肯定是炮灰,所以是完全抱着攒经验的态度就去面了。电面问简历都很顺利,主要讨论自己做过的跟ML相关的课程project,然后最后考coding,还是two sum,楼主立马傻眼了,手生疏到直接for循环都忘记怎么写了,然而面试官特别nice(也是我入职以后坐在我对面的同事),说我get到你的思路了,我们时间不够了,你说说可以怎么优化,楼主的脑子里突然不知道为何灵光一现,用洪荒之力蹦出hashmap这个词,然后面试小哥特别满意,电话那边连连点头,然后就戏剧性的过了电面。之后的面试反而越来越顺利,特别是当你完全不抱希望去做一件事情,放手一搏的时候,往往能够突破自己的极限,做的很完美。而如果自己患得患失,反而会一败涂地。

这时候,或许可以套用一句长者的说过的话,一个人的命运,当然要靠自我奋斗,但是也要考虑历史的进程,手动狗头。

当recruiter发来offer,自己作为NG的找工历程落下帷幕的时候,反而觉得一切反而是水到渠成般的不真实。特别是现在回想,如果面试的时候two sum做不出来,那简直可以长跪键盘不起。

  • start-up的历练
我加入的start-up是一个不超过50个人的小公司,总部在湾区,但在国内也有办公室,主要做ML方面的应用,客户主要是在中国。所以一直觉得,公司当时收我,估计是因为我会说中文,方便跟国内员工对接😂,公司的PM基本都是中国人/台湾人/华裔。

入职的第一周简直是地狱级别,我觉得这也是很多小公司的通病:公司基本不会有完整的doc给你onboard,需要自己去熟悉代码库,然后期望你第二周就开始干活写代码,比大跃进还大跃进。对于我这种写python全靠Google,从没听过github,C/C++已经完全还给体育老师,啥都不会的菜狗,第一周过完觉得自己随时要被卷铺盖走人了。但是另一方面,我也体会到了小公司的好处,由于管理比较扁平化,公司内部的同事相处特别融洽,然后楼主就特别厚脸皮的去问同事,某行代码怎么写,git怎么用,特别是楼主的python环境都是厚着脸皮找同事帮忙set up的。楼主的第一个task,也是公司的一个senior全程带我,在我的第一个commit提了很多comment,从语法、coding style等很多角度,让楼主受益匪浅。楼主也是一边模仿其他同事,看他们怎么调用某个库,怎么写unit test,一步步形成了自己的代码风格。大概过了半年之后,发了很多PR之后,也渐渐开始觉得自己写代码的能力突飞猛进,也越来越得心应手,这才觉得自己适应了公司的节奏,也开始变得老油条起来,下午泡咖啡的时候跟同事聊一聊人生(划一划水),上班越来越晚下班越来越早。同时,老板的评价一直都很高,特别是公司后来开始做一个新的project,初始的很多代码都是楼主自己写的,跑路的时候也可以很自豪的说自己在公司repo的contribution是名列前茅的,手动狗头。

  • 跳槽


待了一年多的时候,某一天收到狗家recruiter linkedin的骚扰,问有没有兴趣跳槽,于是跟不少人一样的狗家梦开始苏醒了。就像是一直觉得自己高攀不上的女神或者男神,突然间转校到了自己班做了自己同桌😂。其实主要的原因是,楼主觉得自己所在的公司开始学不到新的东西了,而且由于中美贸易战的影响对公司的业务产生了不小的冲击,楼主感到了一种危机感,有一种房子要倒了赶紧跑路的紧张感,然后就开始紧锣密鼓的刷题。

时隔多年,打开又爱又恨的leetcode,还是那么的熟悉,只不过题量又增加了几百,又回到了最初的原点,第一题two sum,人生何处不相逢。刷题的岁月总是不堪回首,特别是下班之后有限的时间,必须徜徉在BFS、DFS、DP、Tree、Graph等等的海洋,心(怀)旷(疑)神(人)怡(生),但楼主有一种病态的坚持,虽然大部分时间都懒到只想躺平,但认准一件事的时候,总是无脑的向前冲,以至于如果自己一天不刷题,反而感觉缺少了什么。在半年的时间,刷了超过800道题,高频题基本能够看到描述立马背出答案的境界。期间的付出,也许是如鱼饮水。特别是现在回想,出去玩的时候,在机场的lounge刷着leetcode,公司团建去旅游,楼主吃完饭回酒店在昏黄的灯下默默打开leetcode,这种情景完全不敢想象,仿佛是一场电影。

一直觉得自己刷leetcode可能并不是很高效,完全是靠着读书百遍其义自见的执念,以及楼主自傲的记忆力(高中以来一直都更喜欢文科,更喜欢背各种古诗文以及政治历史,但是随大流选了理科😂),哪怕是不理解背后的算法,但见多了以后都刻在自己的脑海里。一直觉得,刷题之于高考,其实还是小巫见大巫,哪怕是没听过的数据结构,比如trie,union find,见得多了其实慢慢也理解了。之后也顺利拿到了狗的offer,成为了狗家拧螺丝的一员。

  • 狗家的感悟
在狗家的第一天,就能感受到大厂跟start-up的区别。比如onboarding,狗给了一个月的时间,特别是其中三周的GTI,轻松惬意的划水。

其实从做的project和daily task来看,不管是哪个公司,其实都差不多,无非都是modeling,写pipeline,跑experiment,分析结果,standup汇报结果,sprint planning等等,所以楼主一直很感激,在前东家,特别是从前东家的同事哪里,学到了很多,也成长了很多。然后最大的感悟就是,不管是什么专业的PhD,其实经过的训练,都是帮助你成长。诸如standup无非是组会,写doc还比不上写paper的难度,在leadership和customer前present结果无非是开会的时候的oral presentation。虽然术业有专攻,但是PhD培养的research能力,设计实验的能力,分析数据的能力等等,不管以后自己做什么样的工作,都是大有裨益的。

大公司的通病之一,就是分级带来的阶级感,完全没有小公司那种从上到下打成一片的感觉,特别是团建的时候,听CEO喝醉了酒在那边吹牛皮自己开跑车无证驾驶超速还被警察pull over然后假装自己不懂英文😂,这在大公司是前所未闻。在小公司,自己的老板的老板可能已经是VP了,CEO有时候也会突然跟你过来聊几句。在狗,随着我们组的壮大,我原来入职的manager也渐渐变成了自己skip的manager,也在某一天意识到,自己只是个卑微的打工人。

在狗家,也是一次崭新的成长。狗家的同事和老板都很聪明,也很nice,楼主也在一步步的学习狗家的文化。我觉得不管是在哪一个公司,找准自己的定位和目标,然后一步步的朝自己的目标前进,每天都能学习和进步,就是充实的一天。同时,享受自己的工作和业余生活,该划水的时候划水,毕竟工作只占一天的1/3,还有不少组听说一天只工作2个小时,觉得自己可能去的是一个假狗。

啰里啰嗦,写了不少,其实也没什么干货,希望对大家能有所帮助吧。
  • 84
28条回复