生物学博士记载转行数据科学之路

统计/生物统计/精算/数据科学/机器学习(含深度学习和强化学习)
本版讨论各种专业问题,相关职业问题,转专业问题,以及机器学习在各个学科的应用。

版主: SOD

回复
头像
virusHIV楼主
见习写手
见习写手
virusHIV 的博客
帖子: 83
注册时间: 7月 28, 2022, 6:13 pm

生物学博士记载转行数据科学之路

帖子 virusHIV楼主 »

PhD转行之路 / Career paths for PhD in STEM
Written by
Ju
September 27th, 2017

2021/8/14更新

关于上网课找工作的评论问题,我将不再回复。现在的工作行情跟我当时的情况已经很不一样,我对新生找工作的情况并不了解,大家最好问那些最近一两年刚找到工作的新生,得到更新的信息。


2020/10/02更新
我最近开设了一个YouTube频道,分享一些职业发展的心得和数据科学领域的知识。欢迎观看订阅!

写在前面

大概是免责声明吧,这里只是一家之言的心路历程,当然不是说这么做就一定会转行找到工作(那叫鸡汤文学),没有宣扬人人都可以做xx21世纪是xx的世纪,希望大家结合自己的实际情况,多跟业内外的人交流,多了解行业情况,对自己负责,切莫跟风:D

后续:工作一年半之后,我又写了一篇第一次跳槽的经验小结。

1. 前言
拿到了人生中第一份工作offer!从无到有,从编程小白到数据科学。希望自己的经历能够给其他正在探索职业发展的同学们一点点启发。


2. 探索
哥大的生物科学博士项目是一个综合的科研项目,项目内各个实验室的方向相差甚远,有做传统分子生物学,细胞生物学的,也有做计算生物,神经科学,和生物物理的。我所在的实验室是一个神经科学和物理的交叉领域,既有前沿神经生物的实验训练,也有少量的物理建模和计算。虽然我一直对神经科学的科研非常感兴趣,也很想继续在科学前沿进行探索,但是神经科学这个领域的竞争空前惨烈,大牛众多,跟很多博士后聊了之后,发现自己并不适合目前这样的科研环境,对一年到头写科研经费和管理学生也没有太多兴趣。作为一个自然科学的博士生,面对学术界越来越激烈的竞争环境,越来越意识到自己一来科研能力并不出众,二来这些年的科研进展也不算顺利,三来也是读书二十多年读得太腻,于是毅然决然地决定毕业之后不继续在学术界做科研了。

身边大多数博士转行无非是这几条路。1)药厂,2)教书,3)金融,4)编程,5)科学交流,6)咨询,7) 其他


2.1 药厂


大多数生物专业的学生去了药厂,前几年还是要做实验的,虽然可能工作时间和收入比做博士后好一些,但是我是不想再做周期很长的实验了。而更多的药厂职位,倾向于经验丰富的博士后,而非刚毕业的博士,这就意味着想要进药厂工作,还是绕不过博士后的几年。了解了就业行情之后,就放弃了药厂这条路。

2.2 教书


身边确实是有博士毕业之后去高中或者大学做讲师的,不过一方面我个人并不是特别喜欢教书育人,另一方面要想成为老师,也要做很多准备,比如积累教书经验,这对于在实验室长时间工作的博士生可能并没有那么容易。我曾经在博士二年级的时候去做了一个学期纽约公立小学的志愿讲师,虽然小朋友们都很可爱,但是我觉得还是更喜欢一些更前沿更具有探索性质的工作。于是也就放弃了教书这条路。

2.3 金融
略微了解之后发现并没有直觉上的好感,那些金融词汇听上去就像是另一种语言。试着看了看CFA(特许金融分析师)的书,也并没有觉得特别喜欢,大概是因为从小就没有被培养出财务管理的技能。

其他与金融投资相关的行业,比如行业研究员(equity research),可以用上一些自己的专业知识进行股票分析,但是听说工作时间特别长,而且压力也不小。更重要的是,这些行业分析和投资理财顾问更倾向于经验丰富的人,比如已经干了几年的管理咨询。毫无经验的菜鸟一开始就做这个,机会也不是很多。

所以很快就放弃了金融这条路。

2.4 编程
我第一次接触编程是本科时期的C语言,当时觉得简直就是在听天书,什么二进制、指针、二叉树,完全不理解它们存在的意义,于是觉得自己大概并没有跟计算机打交道的天分。这令人不开心的第一次接触,让我一直觉得编程语言都非常难学,并且很难用得上。在PhD阶段也几度打起精神学习编程,但是都很不幸地半途而废。先是学完了一遍Google的Python教程(https://developers.google.com/edu/python/),感觉很容易上手,却还是觉得什么都不会,不觉得这些基础的内容在自己的工作中会有什么用处,也不知道学会这个能干什么。自己科研中最多也就是用MATLAB处理一些图像,并没有专业系统的编程训练。编程什么的就这么搁置了下来。几年前隔壁化学实验室一个博士师兄自学编程,然后去了华尔街做金融量化分析师(quant),他当时还鼓励我可以考虑一下做金融工程,说是只要会编程数学好,金融专业知识不懂也可以做。我看了一下他的C++教科书,真是一句话都看不懂,马上就放弃了。而传统意义上的编程工作,基本就是软件工程师了。身边有一些博士转软件工程师然后去了Google的例子,不过大多都是在博士毕业之后又读了一个计算机的硕士,或者博士没读完就中途转了计算机的硕士,总而言之,都是受过专业训练的。而完全靠自学转软件工程师的真的是少之又少。于是我还一度想着要不要申一下哥大的计算机硕士专业,但是看到高额的学费,想到还要再考一次入学考试GRE,就打了退堂鼓。

2.5 科学交流
如果对写作特别有兴趣,也可以考虑进行科学交流(scientific communication)。身边已经有不少PhD成功转行到科学交流行业,从事科学写作。他们的工作内容跟科研紧密联系,虽然不用自己做实验,但是还是需要经常阅读科学文献,然后写综述,做PPT。需要的不仅仅是写作能力和技巧,还有信息搜集和概括的能力,以及把复杂的科学概念说清楚的沟通能力。我对于写作本身虽然有很大的业余爱好,但是如果是当成工作,大概也谈不上喜欢。在跟已经转行科学交流的学长学姐交流之后,作罢。

2.6 咨询


从第一次听说咨询(大概是博士二年级),到在Coursera上学习经济学、战略分析,到选修哥大商学院的课,参加一些社交活动,到2016年加入哥大咨询俱乐部,开始申请咨询的工作。咨询是我前期投入非常大的方向。身边有很多中国同学都拿到了麦肯锡或者BCG在中国办公室的工作,而想要留在美国从事咨询工作却鲜有成功的案例。咨询业的职位需求本来就不多,在国内在美国的竞争都非常激烈,毕竟咨询已经成为很多博士转行的默认选项,特别是top N的那些学校,也就是咨询公司常说的target school。非target的学校申请难度要更大。美国公司能够提供工作签证的就更少,想要在美国工作不仅要英语特别好,主要看气质。而所谓的咨询气质是什么,准备过咨询的同学应该都能理解,无法言传。

我在面试的过程中,发现自己的性格跟咨询业的整体风格和工作模式并不是很合得来,特别是在穿正装分析商业案例的时候,心中总是有很强的表演错觉,感觉那个人并不是真正的我。至于咨询业强调的领导力和解决问题的能力,确实很难客观地去衡量,以至于被拒都不知道为何被拒。有些人觉得咨询不用怎么准备,target school的同学练两个月case就可以面试了。然而,借用我一个朋友的话,“咨询确实不怎么需要学习hard skill,但是要重新学习做人。”技术可以学习,但气质和性格却是经年累月的。所以,咨询公司在面试时,case做得及格之后,性格和眼缘非常重要。关于hard skill和soft skill,我后来才发现,不只是咨询,很多行业包括数据科学都是如此。hard skill决定入门资格,而soft skill决定入门之后能走多远。

在申请咨询的暑假项目失败之后,不甘心的我去哥大的职业教育中心CCE做了MBTI性格测试,当然我之前也在网上测过自己的性格,CCE测出来的结果跟我在网上测出来的一样,更适合从事运筹工程之类目的明确,行动清晰的工作,所以我大概并不适合做咨询吧。于是,由于种种原因,摩拳擦掌近两年的我,在经历了无数难以入睡的焦虑夜晚之后,在2016年6月即将申请的时候,放弃了咨询这条路。

而这个时候,已经博士5年级的我马上就要迎来博士的第6年了。我还是不知道自己想要做什么。

2.7 其他




之所以说是其他,因为PhD转行的方向非常多,身边也有成功的例子。有去读法学院JD的,有去做专利的,有去医学院读MD的,有去医学院读医师PA的,有去做学校行政工作的,当然还有创业的,等等。我或多或少都了解了一些可能的方向,也都或多或少地谈不上喜欢,也不觉得自己能坚持下来。比如法学院,一想到要考LSAT入学考试,要回到啃书的日子,就觉得压力太大。

3. 发现
本科同一个实验室的师姐,神经科学博士毕业之后去了Facebook做数据科学家,跟她聊了之后发现这个工作非常有趣,用到一些编程,也用到一些数据分析,还需要解决问题和思考。在跟其他师兄师姐的聊天中,我逐渐了解了数据科学(data science)这个行业,也逐渐发现自己似乎找到了自己喜欢的方向。在网上(知乎,一亩三分地BBS,Quora)读了很多介绍数据科学的文章和如何准备之后,我踏上了数据科学之路。

4. 准备
说干就干。2016年的6月底,我开始了转行之路。

我个人比较推荐通过系统的课程学习数据科学,而不是速成或者刷题,不是看几页别人总结的cheat sheet,也不是跟着大牛们做几个kaggle项目刷个名次。系统学习的时间虽然很长,也可能学着后面忘了前面,但从知识掌握的角度,自己一步一步慢慢学,一边学一边琢磨,然后自己融会贯通自己进行总结,掌握基本的理论和概念,知其然也知其所以然。这样之后再去刷题,参考别人的cheat sheet,看kaggle上别人的项目流程和思路,不仅事半功倍,也能够更好地理解数据分析。说到底,数据科学是门硬功夫,需要持续不断地学习新知识,反思旧概念。如果不能付出足够的时间和汗水,而只看到所谓数据科学的光鲜外表,可能很难转行成功吧。

因为需要投入很多 (平时晚上和周末基本都要学习),所以决定需谨慎。

4.1 编程
编程的乐趣在于搭建项目,这样一来有成就感,二来有可视化的结果。

4.1.1 Python入门(1-2月)
对于零基础或者有一些基础但没有系统训练的人来说,Udacity的Python课程非常有帮助。

Intro to Computer Science
https://www.udacity.com/course/intro-to ... ence–cs101
非常浅显易懂的入门课程,有大量的上手编程训练,最后的项目也非常有趣。
Programming Foundations with Python
https://www.udacity.com/course/programm ... thon–ud036
涉及到class的构建和使用,调用函数
4.1.2 数据结构和算法(2-3月)
软件工程师的面试算法和数据结构考的比较多,而数据分析的职位大多数并不在意算法,但是有一些公司还是会问简单的算法,比如二叉树和搜索算法。

Design of Computer Programs
https://www.udacity.com/course/design-o ... rams–cs212
难度中等,对于已经学了上面两门课有Python基础的人来说,是非常不错的算法入门课。特别是从来没有接触过算法的人,课上的例子都非常贴近生活,妙趣横生
Essential Data Structures in C/C++
http://www.cs.columbia.edu/~jae/3136/
这是哥大的一门课,老师Jae是个非常非常有趣的人。对于从来没有接触过C++也没有系统学过数据结构和算法的人非常有用。
Introduction to Algorithms
https://ocw.mit.edu/courses/electrical- ... fall-2011/
这是MIT公开课的算法课。网上有很多算法课的资源,只有好好学完一门算法课,就可以了。
LeetCode
https://leetcode.com/
学完基本的算法之后,可以用这个来练一下手。
4.2 数据分析
在网上查了一圈之后,发现还是Udacity的课程比较全面,而且是项目导向,也就是说每上完一门课,就可以做一个项目。我最终选择的是Data Analyst Nanodegree (https://www.udacity.com/course/data-ana ... gree–nd002)。

这个Nanodegree的课程包括以下几个领域。所有的课程都可以在Udacity上免费学习。而Nanodegree的好处是有人进行远程指导和项目反馈。

Statistics
Intro to Data Analysis
Data Wrangling with MongoDB
SQL For Data Analysis
Data Analysis with R
Intro to Machine Learning
Data Visualization and D3.js
A/B Testing
全部课程学习完成,并且把作业的大项目做完,基本要4-6个月。我个人非常推荐。

当然,nanodegree价格也不算便宜(跟学校的学分比起来也不算太贵)。是否值得投资,全看个人喜好。我跟Udacity也没有任何利益关系,只是分享下自己的学习经验。

4.2.1 概率和统计(~1月)
偏理论。Udacity的这几门课非常基础,适合入门。当然很多人本科已经修过概率和统计,所以看视频只是巩固一下知识,顺便了解一下一些专业的单词英文怎么说。

Intro to Statistics
https://www.udacity.com/course/intro-to ... tics–st101
Intro to Descriptive Statistics
https://www.udacity.com/course/intro-to ... tics–ud827
Intro to Inferential Statistics
https://www.udacity.com/course/intro-to ... tics–ud201
Time Series Forecasting
https://www.udacity.com/course/time-ser ... ting–ud980
这些课可以应付大多数的面试,而少数公司比如Google(参看glassdoor和一亩三分地的面试经验),对统计知识的要求更为深入。

YouTube的这个英国助教的A full course in econometrics,一共有271个视频,我觉得讲得深入浅出,特别对于没有上过研究生统计课的人,帮助非常大。里面涉及regression assumption和time series的部分,在我面试的时候就用到了。

https://www.youtube.com/user/SpartacanUsuals/playlists

4.2.2 A/B testing (~2周)
根据公司不同,一些职位可能会要求懂什么是A/B test,怎么设计实验。这对于实验出身的博士并不是很难理解,但是涉及到一些网上实验的细节和统计的计算,还是需要多加练习。Udacity这门课是由Google的员工讲授,获益匪浅。https://www.udacity.com/course/ab-testing–ud257

4.2.3 Numpy & Pandas(2-4周)
如果使用Python进行数据分析,那么Numpy和Pandas这两个函数包是必不可少的。

Udacity的Intro to Data Analysis讲了如何使用这两个包,非常好学,好用。https://www.udacity.com/course/intro-to ... ysis–ud170

4.2.4 R(2-4周)
一般来说,只要熟练掌握一门语言Python,就可以申请大多数数据科学的职位。之所以把R单独列出来,是因为R有很多统计相关的函数和包,在调用的时候比较方便。

Nanodegree里Data Analysis with R是非常不错的R入门教程。https://www.udacity.com/course/data-ana ... th-r–ud651

这门课只是介绍了基本的作图和探索性数据分析EDA,而不涉及其他的R的功能。所以如果想要深入学习R的话,还是要自己多加练习。

4.2.5 SQL(2-4周)
同样的,Nanodegree里Data Wrangling with MongoDB是非常不错的SQL入门教程。https://www.udacity.com/course/data-wra ... godb–ud032

除此之外,SQL zoo也是很好的练习资源。http://sqlzoo.net/wiki/SQL_Tutorial

4.2.6 大数据(1-2 月)
有些职位可能会要求有大数据处理的经验。

Intro to Hadoop and MapReduce
https://www.udacity.com/course/intro-to ... duce–ud617
很基础的Hadoop介绍和应用
Udemy有一些Hadoop的课也可以看一看。
其他类似于Spark这些技能如果找的职位需要就学,不需要的话可以入职之后需要再学。
4.2.7 机器学习(1-2月)
Udacity的机器学习课程偏操作,对于理论和计算的要求不高。而Coursera的课更偏理论的推导和数学。两门课同时学习,效果更佳。

Intro to Machine Learning
https://www.udacity.com/course/intro-to ... ning–ud120
Machine Learning
https://www.coursera.org/learn/machine-learning
4.2.8 人工智能(2-6月)
大多数数据科学的职位并不要求会人工智能,但是如果需要或者感兴趣的话,可以自学。

Intro to Artificial Intelligence
https://www.udacity.com/course/intro-to ... ence–cs271
强烈推荐的AI入门课
Deep Learning
Udacity有自己的AI nanodegree,课程设计和内容都很充实,但是价格略贵,个人感觉性价比一般。
Coursera的deep learning听说评价不错,我还没有上过https://www.coursera.org/specializations/deep-learning
4.3 商业思维
根据职位不同,有些数据科学的面试会有类似于咨询的案例分析,而有些则只是强调编程和数据分析技能的匹配。

强烈推荐咨询的案例面试。比如Victor Cheng的免费视频https://www.caseinterview.com/ 对于理解如何站在商业角度看问题,还是很有启示的。由于大多数案例分析没有所谓的标准答案,表达能力和思考问题的角度就非常重要了。

举两个例子:

1. 问:如何预测谷歌引擎2020年在比利时的搜索量?因为搜索量直接决定公司需要购买的服务器数量,所以预测很重要。

思路:这是很明显的时间序列预测问题。建几个time series prediction model 不难,但在涉及到任何实际数据分析之前,最好先进行案例分析。从大局着眼,分析问题,提出框架(MECE思想, mutually exclusive collectively exhaustive),最后再建模。毕竟建模简单,关键是思考的过程。以下是一些可能的思路。

1) customer 我们的用户是谁,市场多大,近些年趋势如何,客户用什么设备搜索(电脑,手机,ipad)。每月每周每天趋势如何,是否具有季节性或周末高峰?

2) competitor,其他搜索引擎。

3) company, product, cost。如果搜索有周期性,多余的服务器资源如何利用?租赁或公司内其他的服务?

4) 建模。estimate range,上面的因素如何影响到各个参数的设定。是overestimate还是underestimate更糟?为什么?

总结:案例分析是个讨论交流的过程,一定要避免个人独白。建模是最后一步,在此之前,还是要多多分析。

2. 问:如何提高某保单的销售额(revenue)?

思路:revenue在咨询中是个很经典的问题。准备过咨询的人可能可以很快地列出框架,没有类似经验的则可能想到哪儿说到哪儿,一会说要降价,一会又说要促销,一会又说要增加销售渠道。但从分析问题的框架来看,MECE思想,可以大体分为内因外因。

1) 外:该类保单市场多大?趋势如何?主要竞争者是谁?客户是谁?客户年龄收入等状况(customer segmentation)?价格敏感度如何?

2)内:该保单是啥?车还是人?在公司占比多少?是主打产品还是副线?该产品特色如何?是价格还是品质?与其他保单是否冲突?

3) 要提高销售额,无非是提高价格或者提高销量。如果该产品价格敏感度低,而且属于独特的刚性需求产品,可以提价。如果该产品是generic,也可以通过降价提高销量,但要考虑是否有其他竞争者的价格战。也可以针对不同客户进行不同定价。

4) 行业相关。这里保单是保险业,如果对保险业或者任何面试的行业不熟悉,可以直接问面试官,保单的销售额是如何计算的?是保费投保人越多越好,还是说保费减去保险公司理赔的数量,算差价。这样就需要进行风险评估定价。因为我并没有深入了解过保险业,所以也不清楚这个行业相关的知识。但是如果你拿到了保险公司的面试,提前了解该行业的基本情况,特别是盈利模式,对面试很有帮助。

总结:如果实在不懂,一定要问面试官。在进行任何建模和数据分析之前,一定要确认自己理解对了问题。不然就南辕北辙了。

此外,大多数博士并没有什么商业的实践经历,如果有可能,可以参加一下data hackathon或者case competition,了解一下思考问题的一些方法。

5. 做项目
除了Udacity的项目,也可以自己在Kaggle(https://www.kaggle.com/)上做项目。总之是要有内容可以写,面试的时候可以聊。

订阅一些数据科学的邮件,比如https://www.datascienceweekly.org/,里面经常有其他人做的项目,可以借鉴一下。

如果有时间,可以参加数据科学领域的线下聚会https://www.meetup.com/,我就在一次线下聚会的时候遇到了神经科学转行的同志

项目是简历的重中之重。

然而,我个人不建议在基础没有打好的情况下去刷项目,因为那样很容易陷入调参的大坑。毕竟有时候机器学习是玄学,参数模型选对了,准确率刷得很高。然而,从知识的角度,只刷项目并不能很深入地理解。在学习课程之后,再有针对地刷几个项目,了解工作流程和思路,比不停调参有意义得多。

6. 简历
网上和学校的职业教育中心已经有很多教如何写简历的攻略了(https://www.careereducation.columbia.ed ... esumes-cvs),Udacity的Nanodegree也有教人写简历的课程和反馈。这里就强调一下可能会被忽略的几点。

格式
一页PDF。
避免用花哨的格式,比如竖列的格式,看起来虽然新奇,但是确实没什么大用。
避免用图标和新奇的字体,避免在电脑自动筛选简历的时候无法识别格式。
Summary
大多数应届毕业生并没有太多的东西可写,也很难通过自己的经历体现自己的优势。在一位职场达人学姐的指导下,我在简历最前面加了Summary的部分,针对所申工作的要求,高度概括总结自己的优势和经历。这样在HR筛简历的时候,可以一目了然地看到优点。
Projects
量化。数据量有多大? 用了多少个特征?用的是什么具体的模型?结果提高了多少?改变了什么?
独立项目还是合作项目?个人做的内容是什么?
细节越多,越独特,也越能够吸引人。如果写得很宽泛,就显得缺乏个人的思考。
这里附上一个简历的模板和一些分析 resume_template 密码datascience 这份简历是我当时申请insight时用的,未必适合申请工作,大家酌情参考。

7. 软实力
7.1 沟通能力
推荐一本书吧,卡耐基的how to win friends and influence people。

https://www.amazon.com/How-Win-Friends- ... 0671027034

不少人说这是一本鸡汤软文,充斥着传销一般的励志故事……我之前也是这么想的,所以一直不想读。去年一个我认为人际能力很好的朋友推荐我去读,他表示自己刚来美国的时候也是没啥朋友,后来就按照书里的一些建议改变自己的行动,刚开始就是跟人尬聊,碰上路人或者街边的流浪汉都尬聊,给予对方最大的注意力和兴趣,后来逐渐就自然起来。我读了之后,真的是获益良多。最大的收获是,大多数人做决定,并不是100%理智的,相当多的时候,瞬间的决定取决于当时的情势,自己的喜好,和运气。人性并不是我们想象中那么直截了当,不是跟数学公式一样精准科学。

7.2 英语
交流起来应该没啥问题,口音的话推荐一下American Accent Training 里面讲了很多中国人发音的问题,美式英语的特点。如果对自己的口音很在意,可以用这本书短时间强化一下。

https://www.amazon.com/American-Accent- ... 1438071655


8. 申请
8.1 投简历
大概10个月-2年之后(取决于个人的进展),就可以投简历找工作了。

2018年的暑假实习基本2017年的8月就有公司开始招人了,一直持续到2018年年初,取决于公司的招人情况。而全职工作很多公司都是全年招人,应届毕业生的招收主要集中在校内的秋招或者春招,把握好时机。

如果有可能一定要投实习,积累业界经验,这样在找全职工作的时候也更加有所准备。如果实在没办法实习,那就尽量做一些项目。在投简历的时候尽量内推,增加自己获得面试的几率。不管是通过LinkedIn直接找校友,还是在论坛上找人帮着递简历,在不惹人烦的情况下多多联系。

当然,很多公司可能还是会自己网上海投。如果可能,最好能够联系公司里的员工出来喝茶进行informational interview,了解一下公司情况。海投的话,建议广撒网,反正投简历不收费。

8.2 培训项目
除了投工作的简历,还可以申请一些免费的培训项目,这些项目基本都是针对转行的PhD,进行3-4个月的高强度培训,做项目,然后跟其他公司直接面试。

Insight Data Science
http://insightdatascience.com/
我所接触的Insight fellow对项目的评价都很高,也基本都通过Insight找到工作了。当时我同时拿了实习公司和Insight的offer,因为考虑到实习可能有return offer以及是真实的工作环境,最终并没有参加Insight的培训。
我个人的面试经历是,Insight确实是要求申请人本身有一定的编程和数据处理经验,最好已经会用Python,R,或者MATLAB。除了PhD的项目,申请人最好有自己的小项目,比如很多人做过的twitter自然语言分析,纽约citi bike之类的。如果只是写自己PhD阶段处理过的数据和项目,其实并不是特别充实,也不太容易过简历这一关。
面试的时候,需要申请人自己讲述一个数据处理的项目。这个项目不一定要非常复杂,或者非常高深。我之前有听别人说一定要有很炫酷的机器学习或者自然语言之类,但根据我个人的经验来看,Insight更看重申请者个人对数据本身的热情和对问题的思考,特别是表达能力。如何把一个项目讲得绘声绘色,让听众也能够很感兴趣,非常engaging,如何把一些复杂的编程语言说清楚,如何解释自己编程的逻辑(比如为什么选择决策树,而不是其他机器学习的模型)。如果只是进行一个简单粗暴的grid search,用TensorFlow建个神经网络跑几百个epoch,却不解释清楚“为什么”选择一个metrics,“为什么”要多次抽样,甚至于“为什么”对这个问题感兴趣,那么可能即使你的机器学习项目最后的准确率非常高,但也很难过得了面试。
我当时把面试的项目整理成三篇博客(http://www.juyang.co/shared-ride-effici ... wrangling/),项目基本是数据探索和解释,并没有预测分析和机器学习。在面试的时候不仅给面试官展示了Python代码,也讲述了一个完整的故事,得到了一个比较有用的结论,申请的同学们可以作为一个参考。
Data Incubator
https://www.thedataincubator.com/
在Insight之前,我也申请了这个项目,但在code challenge环节被拒。后来想想被拒的原因非常明显,我的项目做得不好。就如我上面所说,我本以为一定要做炫酷的自然语言分析啊机器学习啊时间序列分析啊神经网络啊,这些看上去很“高端”的项目,却忽略了自己本身的技术和专长,以及时间和资源。俗话说,没有金刚钻,别揽瓷器活。我当时想做的项目是用自然语言分析纽约地区Yelp上的餐厅review,从而给用户推荐个人化的餐厅。这个想法可能是好的,但是项目工程太大,而且数据并不能简单获得,Yelp的API限制下载流量,所以我花了大半天才下好数据,然后发现这个API并不提供完整的review,而只是一句话简介。而我本身对自然语言(NLP)的了解只是停留在知道怎么用的阶段,并没有深入的理论学习,在分析数据的时候并不能很快地抓住重点。最后,因为时间有限加上数据不完整,这个项目我做得非常仓促。不过在Data Incubator失利之后,我吸取了教训,好好准备了Insight的项目。
投完简历就是面试了!这个时候的你,对数据科学行业有了基本的了解,自己的技能树也打好了基础。面试就是另一个阶段的事情了,以后有机会再写。

9. 结语之前
据我有限的道听途说,今年data scientist招人基本都是跳槽的experienced hire,新人大多要求博士学位。之前跟一些统计硕士聊过,他们抱怨说自己专业对口,花了几年时间专门学统计,难道还比不过那些个从物理生化机械转行的博士么?而现实是,除了某些打着data scientist名号把data scientist和data analyst放在一块招的,大多数data scientist真的倾向于博士,哪怕专业不那么对口。至于原因,问过一些面试的人,大概是说data scientist整体因为算是个不太成熟的领域,很多东西都要自己去探索,去research,自己去想idea,然后设计实验,分析结果,解释不清不白的数据,还要做ppt报告,几年博士的训练在广义的科研能力上可能更加适合,特别是在失败和不顺时候的韧性。当然就不提大多数博士年龄比硕士大,所以在人情世故上可能更通达一些。至于知识啥的,他们觉得你博士都读下来了,智商应该够,啥都可以以后再学。所以我其实觉得quit phd可能是比较冒险的行为,如果可以的话,最好是一边读phd,一边学习转行技能。说到底,学历还是很重要的。

在市场竞争激烈的现在,申请的时候别管工作名称,data scientist和data analyst,business intelligence,如果编程算法能力不错的话也可以申一下engineer职位。总之能申的都先申了,入门再说。与其抱着不切实际的理想,不如脚踏实地地从头做起。

【补充】:关于签证和身份问题,请咨询律师和学校的国际生办公室,我无法给出答案。但我觉得先不要想太多,拿到offer之后再考虑这些问题。即使最后不能在美国工作,也可以回国做类似的工作。

10. 结语
感谢这一路上帮助我的家人、导师、朋友、同学、同事,以及在我焦虑崩溃的找工作过程中坚持不懈打Dota2并一直陪伴鼓励我的PT。

Post navigation
头像
outloop
正式会员
正式会员
帖子: 16
注册时间: 8月 31, 2023, 2:28 pm

Re: 生物学博士记载转行数据科学之路

帖子 outloop »

好贴!已收藏
回复

回到 “统计与数据科学(Statistics & DataScience)”