[北美] 美国PhD转Data Scientist求职心得(二)

楼主: judykeystsai (judy)   2018-11-22 15:40:34
一、我的背景及转职准备过程
二、介绍Insight Data Science Program
三、Data Scientist面试经验分享
四、Offer negotiation心得分享
由于Insight的Data Science Program在我转Data Scientist的求职过程中帮助我非常多
,所以诚心推荐给想转职Data Scientist的理工PhD。这一篇会介绍Insight Data Science
Program、这个program对我的影响以及如何准备Insight Data Science Program的面试。
◎关于Insight
Insight是北美很红又很竞争的Data Science相关的fellowhip program之一,他们主要
是帮助想进Data Science相关领域且有潜力的人转职,就我所知所有的program都免费,
但是需要通过面试来决定能否被录取,这部分可以上他们的官网看看:
https://www.insightdatascience.com/。
目前Insight有很多不同领域的program,基本上都跟Data Science相关,例如像是Data
Science、Data Engineering、Health Data、AI等等。但因为我只参加过Insight
Data Science Program(以下简称为Insight),所以我只能分享个人对该program的相
关经验。就我所知不同program的申请要求、内容以及面试过程会不太一样,对其他
program有兴趣的人可以去官网看看white paper及FAQ。
Insight的官网用一句话总结他们的program:
“An intensive 7 week post-doctoral training fellowhip bridging the gap
between academia & Data Science”
其实这句话也只能算是很简略地用一些关键字来描述这个program,以下分几点介绍:
一、Insight到底在干嘛?
其实Insight完全不是让你来“上课”学Data Science的地方,如果你期待像补习班那样
的授课学习方式可能会很失望,我参加的session里从来没有上过课,顶多有时有几个热
心的alumni来给过简短的workshop而已。很多的fellow通常进来前就对Data Science有
一定的熟悉度了,不过当然也有少许像我一样误入丛林的小白兔,这样一开始就会比较
辛苦了。
有关program详细的内容我会在第二部份分享。简言之,在Insight就是每个人要独立做一
个data product,而且尽量要是没人做过的,过程中会有机会跟Program Director、
alumni还有与你同session的fellow(同学们)一起讨论。每个session大概会有十几个
跟Insight合作的公司在不同的时间visit,每个公司会有约一小时的时间跟大家介绍他
们的公司并回答问题。
在我们做完data product后,可以选择自己有兴趣的公司做demo,每个人会有四分钟
做presentation 并秀出自己的data product。如果公司对你有兴趣,会在某个时间点
后call back并开始面试流程。除了做data product,Insight会协助你修履历、LinkedIn
、教你怎么准备并安排面试,还会提供你negotiate offer的建议,并会利用
alumni network在你求职不同的阶段中帮助你。
二、谁适合Insight Data Science Program?
Fellow基本上都是理科PhD╱candidate,且有分析数据经验,至少会写点code。但官网有
说他们也会考虑一些很有Data Science经验的master。不过我参加的session的fellow以
及有接触过的alumni全是PhD╱candidate。其中满多人都是在博后的期间(甚至有些已经
在业界工作的还请假)来参加,我那个session十三位fellow里只有三位是即将毕业的博
班学生,其他都是已经原本就有工作或正在学界博后的人。
三、参加Program的时间与长度?
一年有三次session,分别是在一月、五月及九月开始, program长度为七周且Insight要
求fellow必须是full-time dedication。这七周一定要是完全空出来没有其他事的,否则
是一定负荷不来的。七周后可以开始跟Insight合作的公司面试,十五周后可以开始面试
其他非Insight合作的公司。
四、参加Program的地点?
目前北美的session有Silicon Valley/New York/Boston/Seattle/Toronto and Remote,
主要是根据自己想要在哪个地方求职来选择,因为Insight只会介绍该地区的职缺给你。
由于我是想找芝加哥附近的工作,所以我参加了Remote(也就是不会介绍其他已存在
on-site program地区的职缺)。
Remote program的运作方式就是全部都是透过视讯会议的形式来进行,好处对我来说是
可以在家工作、穿着可以比较随意、不用通勤、有时可以偷偷做其他的事还有给公司做
demo的时候可以光明正大看小抄XD;坏处大概就是无法跟fellow和其他人真正的面对面
互动(不过这对比较内向的人来说是好处><)。总之,我觉得remote session给了我很
大的自由度,且效果相较于其他in person的session我不觉得有打折,也省下了一些住
宿费用。
五、参加Program的花费?
完全免费,听说非当地人如果被选上Insight还会提供一点点奖学金,真的是超佛的
program。而且program完后有任何问题都还可以找Program Director咨询,当然也是免
费的。
六、参加完Insight后有多少人找到Data Scientist的工作?
官方的说法是至少有九成以上,而且最终大家都会找到工作。我参加的session总共有十
三位fellow,其中六位是透过Insight在其合作的公司拿到DS的offer,另外有五位是在
Insight结束后自己找到DS的工作,剩下的2位可能还在找。不过我想强调的是这些数据
仅供参考,因为不同人找工作会有不同偏好与限制,包括产业喜好、工作地点等等,所
以没必要纠结到底program结束几个月就业率多少的问题。
◎Insight Data Science Program内容
接下来分享一下program大致的流程与内容,大致来说前三周都很辛苦,工作时间基本上
就是周一到周五,每天跟其他人有安排活动的时间大概是从早上八点到下午六七点,但
那之后几乎每天都需要继续弄project到晚上十二点、一点,吃饭洗澡等等都是很快速解
决。周末一天赶工一天休息。另外前三星期Insight也会安排一些workshop且会有
company visit,所以其实白天的时间被切割的满零散的,能做专注project的时间并没
有想像的多。
第一周:
想project idea与其实现方法、与fellow/Insight alumni/Program Director讨论想做的
project、收集data,然后周五要做个四分钟的demo跟大家报告自己想做什么project。
这段时间看起来好像很轻松,但其实是最辛苦的,因为新的idea不好想,Insight跟大家
不会希望做之前有人做过的product,我们那梯次有不少fellow在讨论的过程中project被
打枪好多次,因此换了好多次idea,这过程是非常挫折的,但是可以让自己好好地想一想
什么是有意义的data product跟deliverable。而且早期被打枪比较好,免得之后几星期
开始做了发现遇到瓶颈反而没办法及时修正。
另外,自己收集跟清理data非常辛苦,不像Kaggle的data已经好好的放在网络上然后整理
得算干净。但是这种经验对之后面试很有帮助,因为真实业界的data通常都很messy,且
收集data也一种技能,这些过程都是可以跟面试官分享的卖点。
第二周:
实现project idea,而且需要有个working 的minimum viable product(MVP),或是接
近完整的分析。周五demo给大家看,听取意见。此时Insight也会邀请alumni帮忙一对一
给意见。
第三周:
补强MVP以及分析。如果是做interactive data product的人需要开始用flask跟其他工具
将product放到AWS上(大部分fellow做的product都是这样)。另需开始制作demo的
slides。Demo长度约4分钟,内容需包含“为什么想做这个产品?”、“实际展示
live data product(能够即时接收input跟送出output)”、“方法”以及
“validation╱测试结果”等等,然后周五demo给大家看。这时候的data product
已经要很完整了。
第四周:
开始不断练习demo,这星期几乎每天都要跟fellow或是alumni demo,然后参考大家的意
见精修presentation。
第五周到第七周:
这段时间是面试的准备,并会开始demo你做的data product 给Insight邀请的公司看。如
何决定自己是否能够demo给心仪的公司看则是取决于当时sign up想demo的人数。通常一
次他们不会安排超过12个人demo给一间公司看,可能怕效果不好然后hiring manager会听
到睡着XD。demo之后也会开放公司对讲者提问五分钟,所以一位fellow会有四分钟的demo
以及五分钟的Q&A。
除了demo之外,其他准备面试的部分,Insight会提供一个超长的面试准备清单以及一个
很大的电子书数据库。准备的项目如第一篇文章提到大概粗分为六类:SQL、
CS Fundamentals、ML知识、Stats、Business Case Studies和Behavioral interview
questions。
这三个星期几乎每天都要跟fellow练习面试,另外Insight也会邀请很多已经在业界工作
的alumni帮忙模拟面试。这也是跟其他Insight alumni建立connections的机会,有时候
面完会跟alumni闲聊一些他们之前在Insight的经验以及工作经历等等。有时Insight会
安排一些workshop可以自由参加,每周会做一次data challenge,是个很好练习hands-on
的机会,做完大家会一起讨论结果。
七周之后program算是结束了,但是还是会有一些meeting或workshop可以自由参加。
第七周到第十五周:
开始跟Insight合作的公司面试。同时如果有任何需要或问题都可以直接私下或在公开
的slack频道跟Program Director讨论。例如安排与alumni的模拟面试、安排正式面试
或讨论准备的策略等等。
第十五周之后可以开始面试其他非Insight合作的公司。
◎Insight对我的意义与其价值
如同我在第一篇文章里提到的,虽然我的Data Scientist offer不是透过Insight拿到的
,但Insight在我转Data Scientist的求职过程中扮演了很重要的角色。我觉得如果我
没有参加Insight,我不太可能拿到这么好的offer。下面就分享一下我在Insight学到什
么以及它带给我的价值。
一、改变对业界Data Science的想法
在参加Insight之前,也许是受Kaggle追求结果精准度的影响,本来以为在业界做Data
Scientist需要会很厉害很fancy的ML model。参加Insight后才发现很复杂的model其
实不一定是个成功的产品,超级精准的结果也不是业界追求的,真实世界里还是有些
trade-off需考虑,像是为了多百分之几的精准度的成本付出是否划算?还有模式与结
果的interpretability等等。
另外就是对data product的impact跟产品背后故事的重视。我们在做project的过程中,
Program Director一直很要求我们去思考自己做的产品有什么deliverable以及实际上的
使用,有很多fellow的project被要求更改都是因为这个原因,而Program Director常常
会说那些被打枪的project以及一些Kaggle上的project比较偏 “学术”,而非一个商业
的产品可以给人即时使用。
这些冲击对我来说很大,也让我在之后面试时常常会想到很多有趣的问题可以跟面试官讨
论。越到后来,很多面试官都觉得我能问出很有深度的问题跟观点,而这些都是在我参
加Insight后,透过讨论、观察别人的产品、获取面试者的回馈后,慢慢累积自己的想法
后才能问出来的问题。
二、清楚地表达data product的故事
这个跟本身presentation技能有点关系,我自己在PhD时期有被训练过,所以这方面不
算是我在Insight学习到的新东西。不过没有这个skill的人也没关系,Insight也会帮你
一步步练习的。在你做demo的presentation的时候,Insight会尽量帮助你完成你的
data product的故事。
而这个故事也会是之后你跟面试官介绍在你的project的框架。我的做法是先叙述一个
待解决的问题当作motivation,接下来再介绍如何建立这个产品,从资料收集开始、
然后用简单的语言描述自己用了哪种模式或算法,稍微说一下背后的原理、中间遇
到什么困难等等,最后说结果如何(例如可以省多少钱?多少时间?或是模式的表现
之类的)。主要就是keep it simple,要先以引起听者的兴趣为目的,如果面试官对
哪个环节有兴趣你可以说你愿意多聊聊,这样面试的时候会比较像是一个双方面的对话
而非你单方面滔滔不绝的讲。如果一开始讲太复杂,对方听的都晕了也不会想再跟你继
续聊,这样就白白浪费了一个机会很可惜。还有就是要一直不断地想,自己的产品有什
么可以改进之处,这也可以算是建立这个产品故事的一部分,几乎每个面试官都会问
How can you improve your product。
三、提供准备面试的大方向与Mentorship
如之前所述,在Insight除了做data product,Insight还会举办resume workshop、
LinkedIn workshop教你如何写Data Scientist的履历以及建立专业的LinkedIn profile
,并且Program Director会亲自帮你过目及修改resume,还会约meeting给你feedback。
Program Director其实会常常跟各个公司的hiring manager喝咖啡来建立关系,他们也带
过上百个现在都是业界的Data Scientist的alumni,有这样专业的人免费帮修改履历帮助
真的非常大。
做完产品后,Insight会办几个小workshop教你怎么准备并安排面试,甚至教你如何
negotiate offer,对一个new grad或是没有在业界工作经验的人这些都是非常珍贵的资
源跟经验,这部分会在下两篇文章内分享。
虽然我在前面强调过Insight不是填鸭式的补习班,比较像是在collaborative的环境之下
独立做project的过程中学习,但在各个阶段都会感到满满的mentorship与支持,不论是
Program Director本人、其他客座的Program Director、其他Insight alumni 以及你的
战友们,都会一直给你建议、鼓励你并陪你一起走过这条辛苦的转职路。
四、越过HR,透过demo直接把你摆到Hiring manager前
有自己海投过工作的都知道,这是非常大且有效率的boost。其他地区的program我不清
楚,不过我参加的Remote Program大概有十几个公司来visit。当时我参加的session据说
人比较少,所以大家几乎只要有sign up自己想demo的公司就会有中。虽然demo过后不一
定会被公司邀请interview,但至少可以确定hiring team有看过你的资料与demo表现,而
不是像自己投履历很可能石沉大海。我们那届call back for interview的比例还满高的,
我那时demo过七家公司,有6家有邀请interview。而且我敢说如果我不是透过Insight而
是自己网络海投那些公司,以我的经历来说我是一定不会有面试机会的。另外有些大公司
虽然没有来参加demo,但是他们已经跟Insight建立长期合作关系,都会固定向Insight
要fellow的履历,这也是一些潜在的机会。
五、强大的Alumni network
其实参加Insight,有没有在那段时间透过Insight找到工作不是最重要的,Insight最强
大的是它的alumni network。如前面有提到,在找Data Scientist工作的过程中,不论
是你想讨论做data product的idea或方法、模拟面试、甚至在你面试某些有Insight
alumni的公司时,想reach out讨论跟准备面试,都可以找到人来帮助你。当时我参加
的session的Program Director人非常好,她会追踪我们所有面试的进度,常常会主动问
我需不需要帮我找某些在我面试的公司工作的alumni,或是找alumni帮我额外做模拟面试
等等。而我有接触过的alumni都很热心,他们在我找工作的过程当中真的给我很大的鼓励
与帮助。
举些例子:有位NY program的alumna在通过一次视讯后,都会不时地关心我找工作的情况
,在我的session结束后她还介绍了其他recruiter跟其他工作给我。而且我在收到她的公
司的phone screen邀请时,她还愿意在晚上9点打电话跟我提醒一些面试需注意的事项。
另外还有位在保险公司工作的alumna,愿意跟我讲了1小时多的google hangout,给我做
另一保险公司的data challenge的建议。在我面试某家很大的management consulting公
司时,也有位alumnus愿意跟我通电话,教我怎么准备case interview跟聊聊他的工作情
况。最后即使我后来靠自己找工作,在拿到现在这家公司的offer时,Program Director
还帮我联络到之前在这家公司工作的alumnus,他当时知道我在决定offer时间很紧,
二话不说直接跟我马上约周末通电话,而且他竟然还认识以后会跟我合作的同事,在跟
他聊了以后觉得更可以安心地做决定。
六、履历上有Insight的经历后更容易拿到Data Scientist面试机会
我在参加Insight之前有稍微投过一些职缺,大部分都是跟气象或农业相关,也有少部
分的Junior Data Scientist,收到的面试邀请真的寥寥无几。但参加完Insight后我自
己投Data Scientist工作,真的明显感受到面试邀请增加不少,而且很多都是我未曾想
过我能够涉入的领域。我觉得如果我没有Insight的经验在履历上,以一个new grad没
有任何业界工作经验的非相关科系PhD,HR/Hiring manager根本不太会看我的履历。
另外Insight真的在Data Science业界很有名,我在面试自己投的公司时很多HR跟面试
官都有听过甚至了解Insight,我猜想可能是Insight选fellow时很严格,所以参与者有
一定的程度,公司会比较相信且愿意给Insight fellow面试的机会。
七、Program结束后任何问题都可以询问Program Director
前面已经有提过Program Director在我找Data Scientist工作时的角色与帮助,有一点让
我很感动的是虽然我没有在Insight找到工作,但Program Director从来没有放弃过我,而
且在program结束后一直到现在我打这篇文章时,她还会不时地跟我check in询问我需不
需要帮助,即使我没有让Insight透过仲介这个角色赚到钱,但他们对我的付出真的不曾
少过。
在program结束后,Program Director在知道我只想要找芝加哥附近的工作时,仍是非常
努力想要帮助我,甚至前阵子在新的remote session里有芝加哥的company visit,他们
还邀请我加入并帮我安排跟新的fellow们一起demo,真的很窝心。可惜在收到这间跟
Insight合作的公司面试邀请后不久,我就拿到了两个offer。由于时程的关系,我只好
取消那家面试,Program Director也没有因此不开心,而且即使手上两个offer的公司都
不是Insight合作的公司,Program Director还是非常认真地教我如何评价这两个offer、
如何跟公司negotiate以及跟教我一些跟公司应对的策略,甚至也说可以帮我proofread我
所有跟公司交涉的email来避免一些不必要的错误,那段时间真的深深地再次感受到
Insight对他们fellow的用心,还有他们付出在经营与fellow的关系上的心力,真的非常
感谢他们的帮忙。
◎如何准备Insight面试以及面试经验分享
Insight目前在北美算是数一数二竞争的Data Science Program,原因是因为Program本
身免费,在资源有限的情况下Insight当然会做好fellow的品质控管。想参加的人必须
经过两轮面试,大致分为三个关卡:
一、履历与填写申请资料
在申请的时候需要附上履历以及回答一些问题。回答问题的诀窍就是用非常简单的语
言跟清晰的逻辑来介绍自己的研究工作(最好是简单到解释给外公外婆都听得懂的那
种),并尽量强调跟Data Science的相关性。回答问题时有些事项可以用条列式的方
法来呈现,例如paper、conference以及使用不同tools的经验。另外如果有LinkedIn
跟GitHub的话也建议一起附上。
二、Initial Interview
如果申请有被选中的话,会跟program manager(无technical background)用Zoom面试
,大概会讲15分钟左右。这部分比较轻松,基本上就是介绍自己的背景与研究,聊聊为
何想参加Insight以及问一些logistics的问题(例如毕业时间、签证、是否愿意完全空
出七星期来参加Insight等等),最后有问题也可以提问。
三、Technical Interview
如果有过第一关的话,接下来就会被邀请跟Program Director(通常都是有
technical background的PhD)进行约30分钟的technical interview。在进行这个面试
前,Insight会要求面试者需准备一个跟Data Science有关的project的demo,面试的过
程会要求share screen给面试官从头到尾说明自己的code、思路还有visualization等
等。讨论的内容有可能包含:为什么要做这项project、为何要用这个模式或方法、为
何选这个参数、如何诠释结果的意义等等。
我那时候的demo就是用我刚学Python“翻译”的一个分析 ,然后用jupyter notebook写
并放在GitHub上,我觉得用jupyter notebook感觉有加一点分,因为可以同时给面试官
看code跟一些文字╱数学式的注解,并可以马上看结果分析的图。另外给面试官看code
之前,我也有特别做一份介绍研究背景的slides,简短说明一下相关的气候知识跟研
究walk-through,避免在讲做分析的code的时候会让面试关太难follow或gets lost。
Technical interview时面试官也会问一些behavioral的问题,例如自我介绍、介绍自己
的研究、还有可能会问为什么想转Data Science、来Insight后有想做什么project、要
如何收集想做的project的资料等等。这些问题都需要自己先想过并准备的,glassdoor
上也有很多面试题分享,有兴趣的人也可以参考一下。
总结一下几个重点:
→申请跟面试的过程中,解释任何东西要尽量简单明了,前因后果要说清楚,最后
impact部分可以强调一下。举例来说:我的model显示A可以影响B,但不要只叙述这件事
,而是要更强调有谁可以用你的model做什么用途,产生什么impact等等。我参加完
Insight后感觉他们很希望fellow跳脱太学术性的思维。所以如果在面试的demo时,能把
结果后面的interpretation加强一下,应该可以让你跟其他面试者分出高下。
→练习练习再练习。Behavioral questions跟demo绝对是要练习的,可以试着说给不同领
域的朋友听。至于demo的话你写的code跟使用的参数、模式或其他算法一定要很熟悉,
Program Director是有可能问很深入的。
Insight的心得先分享到这边,以上都是我个人的经验,当然不是所有fellow都会有一样
的感受,而且Insight也不一定适合每个人的学习方法。不过以理工PhD想转Data Science
领域来说,Insight还是很好的program。希望这篇文章能够帮助到对Insight有兴趣的朋
友们,如果没能参加也没关系,有时候真的也是运气的问题。我相信其中有很多部分也是
可以自己学习的。如果对这个program有问题都欢迎推文询问,我会尽量回答。
祝各位感恩节快乐!
作者: philip09227 (philip)   2018-11-22 15:44:00
作者: ryanlei (雷恩雷)   2018-11-22 15:47:00
2周做出MVP 3周上线 好短啊
作者: Ouranos (å—¨)   2018-11-22 15:52:00
大推介绍,其实我刚拿到Insight Data Engineer的offer请问DS跟DE两边的fellows会一起合作做presentation吗?先谢谢你的回复! :)
作者: abc53 (abc)   2018-11-22 17:49:00
作者: babyfang (Fang)   2018-11-22 20:07:00
推推
作者: swancloud (问题背后的问题)   2018-11-22 23:16:00
作者: jiayun0902 (RRRRR)   2018-11-23 22:04:00
推分享
作者: PCby   2018-11-24 01:16:00
三楼O大你好,我是现在的Insight fellow, DS跟DE不会合作
作者: fushing (fushing)   2018-11-24 01:58:00
打算申请remote, 如果申请到这七个礼拜回台湾可行吗?原po有提到前三个礼拜有company visit,如果是remote还会有这类的company vist吗?
作者: Ouranos (å—¨)   2018-11-24 03:20:00
谢谢楼上P大! :)
作者: shawnfu (...)   2018-11-24 09:24:00
请问insight fellow, DE写完coding challenge后没下文是不是就是rejection ?
作者: CVPR2019 (feat. ICML2019)   2018-11-25 03:08:00
被打枪的project以及一些Kaggle上的project比较偏 “学术好奇以原PO读过博士的背景是不是会觉得DS不需要博士?
作者: Energiya (走进新时代)   2018-11-27 03:32:00
我有听说remote session公司比较多是不sponsor visa的
作者: fushing (fushing)   2018-12-02 23:08:00
remote跟local哪一个比较容易申请上呢?
作者: CVPR (硬train一发)   2018-12-04 21:00:00
这样看起来现在硕毕抢先卡位比去读个DS方向PhD更有利

Links booklink

Contact Us: admin [ a t ] ucptt.com