转行数据科学很彷徨?你是不是一开始就错了?

l
lishuyu
楼主 (北美华人网)
这一年来,我跟很多有意向转数据科学的同学聊过。发现很大一部分同学跟我当年一样,犯了一个很严重的错误:没有想清楚自己的目标就开始盲目地学。这些同学一会学 SQL,一会学Deep Learning,一会学 ABTesting,一会又开始刷算法题。觉得越学越多,有一种学死都学不完的感觉。而且,这些同学面试总是过不了。明明觉得自己对machine learning 了解的不错,面试的时候一聊细节,就发现自己很多问题从来没想过。或者明明刷了不少 SQLZoo 和Leetcode 上的题,面试的时候考 SQL却一点思路都没有。   原因其实很简单。数据科学是很宽泛的。不同公司对data scientist 的要求完全不一样。而面试的时候,他们都对所需要的技术在深度和广度上有很高的要求。那些没有明确目标而又盲目学习的同学,把自己的时间和精力像撒胡椒面一样撒在各种零零散散的知识点上。结果知识体系既不系统,也不深入。感觉什么都懂,但什么也不透。   我们对这些同学的建议就是:在开始学习前,务必要先定好目标,然后根据自己的目标针对性地学习,并把所需要的知识和技术学透。   为了帮助各位同学确定自己的目标,我们列了一下数据科学中几个常见的方向,以及所需要的技术:   Data Analyst / Analytic Data Scientist ·      这一类的岗位包括大部分的 business analyst,data analysts,analytic data scientist。 ·      这些岗位需要的技术,主要有 SQL,data visualization,statistics,business case study,AB testing,experiment design。SQL 是安身立命的技术。如果面大厂的位置,据我们观察,只是把 sql zoo 和 leetcode 上的 sql 做熟,是不够的。SQL 可以考的很难。SQL 之外,BA和 DA 一般更侧重于 business case study和 data visualization。DS 需要对 statistics 和 experiment design 有比较好的理解,而且有些岗位需要 DS 能做一些 machine learning modeling。但是这些 modeling 的主要目标是 get insights from data。对模型的可解释性要求比较高。 ·      这类岗位比较常见的种类有 marketing,product 和fraud。要求 candidates 对相应的领域有比较好的domain knowledge 和 communication skills。 ·      我们一般建议商科,社会学,统计,bioinfo 背景的同学考虑这个方向。一般理工科的 phd 走这个方向并没有优势。   General Data Scientist ·      需要这类岗位的公司一般都有比较成型的经营模式,他们希望 candidates 能够应用 machine learning 帮他们解决一些的很具体问题。所以,这一类岗位需要比较扎实的 machine learning 知识。能够理解公司的需求,把这种需求转化为machine learning 问题,并且能够设计合理的 metric 来定量衡量模型对 business 的影响。于此同时,知道如何去找数据,清理数据,建模和测试模型。为了考察这些能力,这些公司会设计一些 take home challenge,要求 candidate 在限定时间内完成。 ·      在take home challenge 之外的面试中,面试官会比较喜欢从简历上的项目开始,逐层展开地考察candidate 的 machine learning 知识,解决问题的能力,以及交流能力。此外,也会考 coding 和/或 SQL。但是一般来说不会太难。 ·      这类岗位总的来说比较欢迎有 research 背景的 candidate,特别是 phd。因为很多要解决的问题并没有现成的方案,需要做各种尝试,和学术研究有所类似。我们一般鼓励理工科博士走这个方向。   Machine Learning Engineer (MLE) ·      MLE是近几年新出现的一类岗位。本质上还是 software engineer,但是更侧重于 machine learning。这类岗位需要的就是 coding。面试官会对 candidate 的 coding 能力进行全方位的考察。 ·      在Machine Learning 方面,MLE 和之前两类岗位都不相同。相对于 General DS 来说,MLE 碰到的 machine learning 模型往往是比较成熟的,对于算法本身不需要太多的投入,更多的是怎么设计和建立一个 robust 的 AI system。这类系统设计的经验很难通过做个人项目来积攒,所以对于 junior MLE 的 candidate,面试官会更侧重于考察一些 machine learning 的基本概念。另一方面,相对于 Analytic DS来说,模型的可解释性就相对来说不那么重要,用户往往更重视模型结果的准确性。 ·      这一类岗位比较新,目前需求量也大。只要是 coding 过硬的同学都可以试试。   Data Engineer / BI Developer ·      前三类岗位往往比较能吸引大家的注意力,但是 Data Engineer 和 BI Developer 的岗位需求量也很大。很多转行的同学也可以看看。 ·      其中,BIDeveloper,在我们看来,是一个理工科背景的同学可以相对来说快速入行的方向。BI Developer 也叫做 Data Warehouse Developer 或者 SQL Developer。所做工作包括设计,建立,以及维护 data warehouse、data loading procedures、和 report generation pipeline。需要熟练掌握 SQL、ETL、Data Visualization、Advanced Excel、Server Administration 等技术。上手比较容易,不需要花大力气去准备 coding 或者 business sense。 ·      DataEngineer 定义比较模糊。很多公司里头的 DE 其实就是 BI Developer。而有部分公司的 Data Engineer 做的却是 MLE 的工作。我们为了比较好地区分各类岗位,在这里,我们定义 DE 为那些设计建立和维护 Hadoop 和 Spark 这一类大数据系统的工程师。   知道了这些方向还有相应的技术知识后,我们怎么才知道有没有学透呢? 欢迎留言讨论。
k
kengdie
这一年来,我跟很多有意向转数据科学的同学聊过。发现很大一部分同学跟我当年一样,犯了一个很严重的错误:没有想清楚自己的目标就开始盲目地学。这些同学一会学 SQL,一会学Deep Learning,一会学 ABTesting,一会又开始刷算法题。觉得越学越多,有一种学死都学不完的感觉。而且,这些同学面试总是过不了。明明觉得自己对machine learning 了解的不错,面试的时候一聊细节,就发现自己很多问题从来没想过。或者明明刷了不少 SQLZoo 和Leetcode 上的题,面试的时候考 SQL却一点思路都没有。   原因其实很简单。数据科学是很宽泛的。不同公司对data scientist 的要求完全不一样。而面试的时候,他们都对所需要的技术在深度和广度上有很高的要求。那些没有明确目标而又盲目学习的同学,把自己的时间和精力像撒胡椒面一样撒在各种零零散散的知识点上。结果知识体系既不系统,也不深入。感觉什么都懂,但什么也不透。   我们对这些同学的建议就是:在开始学习前,务必要先定好目标,然后根据自己的目标针对性地学习,并把所需要的知识和技术学透。   为了帮助各位同学确定自己的目标,我们列了一下数据科学中几个常见的方向,以及所需要的技术:   Data Analyst / Analytic Data Scientist ·      这一类的岗位包括大部分的 business analyst,data analysts,analytic data scientist。 ·      这些岗位需要的技术,主要有 SQL,data visualization,statistics,business case study,AB testing,experiment design。SQL 是安身立命的技术。如果面大厂的位置,据我们观察,只是把 sql zoo 和 leetcode 上的 sql 做熟,是不够的。SQL 可以考的很难。SQL 之外,BA和 DA 一般更侧重于 business case study和 data visualization。DS 需要对 statistics 和 experiment design 有比较好的理解,而且有些岗位需要 DS 能做一些 machine learning modeling。但是这些 modeling 的主要目标是 get insights from data。对模型的可解释性要求比较高。 ·      这类岗位比较常见的种类有 marketing,product 和fraud。要求 candidates 对相应的领域有比较好的domain knowledge 和 communication skills。 ·      我们一般建议商科,社会学,统计,bioinfo 背景的同学考虑这个方向。一般理工科的 phd 走这个方向并没有优势。   General Data Scientist ·      需要这类岗位的公司一般都有比较成型的经营模式,他们希望 candidates 能够应用 machine learning 帮他们解决一些的很具体问题。所以,这一类岗位需要比较扎实的 machine learning 知识。能够理解公司的需求,把这种需求转化为machine learning 问题,并且能够设计合理的 metric 来定量衡量模型对 business 的影响。于此同时,知道如何去找数据,清理数据,建模和测试模型。为了考察这些能力,这些公司会设计一些 take home challenge,要求 candidate 在限定时间内完成。 ·      在take home challenge 之外的面试中,面试官会比较喜欢从简历上的项目开始,逐层展开地考察candidate 的 machine learning 知识,解决问题的能力,以及交流能力。此外,也会考 coding 和/或 SQL。但是一般来说不会太难。 ·      这类岗位总的来说比较欢迎有 research 背景的 candidate,特别是 phd。因为很多要解决的问题并没有现成的方案,需要做各种尝试,和学术研究有所类似。我们一般鼓励理工科博士走这个方向。   Machine Learning Engineer (MLE) ·      MLE是近几年新出现的一类岗位。本质上还是 software engineer,但是更侧重于 machine learning。这类岗位需要的就是 coding。面试官会对 candidate 的 coding 能力进行全方位的考察。 ·      在Machine Learning 方面,MLE 和之前两类岗位都不相同。相对于 General DS 来说,MLE 碰到的 machine learning 模型往往是比较成熟的,对于算法本身不需要太多的投入,更多的是怎么设计和建立一个 robust 的 AI system。这类系统设计的经验很难通过做个人项目来积攒,所以对于 junior MLE 的 candidate,面试官会更侧重于考察一些 machine learning 的基本概念。另一方面,相对于 Analytic DS来说,模型的可解释性就相对来说不那么重要,用户往往更重视模型结果的准确性。 ·      这一类岗位比较新,目前需求量也大。只要是 coding 过硬的同学都可以试试。   Data Engineer / BI Developer ·      前三类岗位往往比较能吸引大家的注意力,但是 Data Engineer 和 BI Developer 的岗位需求量也很大。很多转行的同学也可以看看。 ·      其中,BIDeveloper,在我们看来,是一个理工科背景的同学可以相对来说快速入行的方向。BI Developer 也叫做 Data Warehouse Developer 或者 SQL Developer。所做工作包括设计,建立,以及维护 data warehouse、data loading procedures、和 report generation pipeline。需要熟练掌握 SQL、ETL、Data Visualization、Advanced Excel、Server Administration 等技术。上手比较容易,不需要花大力气去准备 coding 或者 business sense。 ·      DataEngineer 定义比较模糊。很多公司里头的 DE 其实就是 BI Developer。而有部分公司的 Data Engineer 做的却是 MLE 的工作。我们为了比较好地区分各类岗位,在这里,我们定义 DE 为那些设计建立和维护 Hadoop 和 Spark 这一类大数据系统的工程师。   知道了这些方向还有相应的技术知识后,我们怎么才知道有没有学透呢? 欢迎留言讨论。
lishuyu 发表于 2020-07-14 04:03

技术贴必须先mark再看
n
nju600
数据技术贴 留名
l
lulu08
回复 1楼lishuyu的帖子
多谢楼主详细介绍和分析!👍
w
wannaquit
回复 1楼lishuyu的帖子
谢谢lz!请问bideveloper的工资跟前三个比较起来怎样啊?
n
nface
Markkkk,thanks for sharing
A
AzureOcean
写的非常透彻,赞楼主。很好奇现在大家都在转行数据科学吗?
l
lishuyu
回复 7楼AzureOcean的帖子
是的 风口行业
A
Amber2020
Mark 一下 感觉很有道理
B
Br13242
mark mark mark !~~
y
yunyan0201
多谢技术贴:)
p
pitpen
非常好的帖子.Zan!
s
sansan4101
谢谢楼主分享!
l
legolasyan
这个不是techlent写的吗
c
cclmm
mark
a
autumnbaby
留名,谢谢楼主
n
nottinghillivy
写的真好,希望有更多的人一起讨论。刚入了这个坑,真的感觉好多要学的。
T
TeresaD
赞赞赞
T
Tia99
看看。
z
zongtong
好贴!分析的特别清晰具体!
L
Lqlqlq
这一年来,我跟很多有意向转数据科学的同学聊过。发现很大一部分同学跟我当年一样,犯了一个很严重的错误:没有想清楚自己的目标就开始盲目地学。这些同学一会学 SQL,一会学Deep Learning,一会学 ABTesting,一会又开始刷算法题。觉得越学越多,有一种学死都学不完的感觉。而且,这些同学面试总是过不了。明明觉得自己对machine learning 了解的不错,面试的时候一聊细节,就发现自己很多问题从来没想过。或者明明刷了不少 SQLZoo 和Leetcode 上的题,面试的时候考 SQL却一点思路都没有。   原因其实很简单。数据科学是很宽泛的。不同公司对data scientist 的要求完全不一样。而面试的时候,他们都对所需要的技术在深度和广度上有很高的要求。那些没有明确目标而又盲目学习的同学,把自己的时间和精力像撒胡椒面一样撒在各种零零散散的知识点上。结果知识体系既不系统,也不深入。感觉什么都懂,但什么也不透。   我们对这些同学的建议就是:在开始学习前,务必要先定好目标,然后根据自己的目标针对性地学习,并把所需要的知识和技术学透。   为了帮助各位同学确定自己的目标,我们列了一下数据科学中几个常见的方向,以及所需要的技术:   Data Analyst / Analytic Data Scientist ·      这一类的岗位包括大部分的 business analyst,data analysts,analytic data scientist。 ·      这些岗位需要的技术,主要有 SQL,data visualization,statistics,business case study,AB testing,experiment design。SQL 是安身立命的技术。如果面大厂的位置,据我们观察,只是把 sql zoo 和 leetcode 上的 sql 做熟,是不够的。SQL 可以考的很难。SQL 之外,BA和 DA 一般更侧重于 business case study和 data visualization。DS 需要对 statistics 和 experiment design 有比较好的理解,而且有些岗位需要 DS 能做一些 machine learning modeling。但是这些 modeling 的主要目标是 get insights from data。对模型的可解释性要求比较高。 ·      这类岗位比较常见的种类有 marketing,product 和fraud。要求 candidates 对相应的领域有比较好的domain knowledge 和 communication skills。 ·      我们一般建议商科,社会学,统计,bioinfo 背景的同学考虑这个方向。一般理工科的 phd 走这个方向并没有优势。   General Data Scientist ·      需要这类岗位的公司一般都有比较成型的经营模式,他们希望 candidates 能够应用 machine learning 帮他们解决一些的很具体问题。所以,这一类岗位需要比较扎实的 machine learning 知识。能够理解公司的需求,把这种需求转化为machine learning 问题,并且能够设计合理的 metric 来定量衡量模型对 business 的影响。于此同时,知道如何去找数据,清理数据,建模和测试模型。为了考察这些能力,这些公司会设计一些 take home challenge,要求 candidate 在限定时间内完成。 ·      在take home challenge 之外的面试中,面试官会比较喜欢从简历上的项目开始,逐层展开地考察candidate 的 machine learning 知识,解决问题的能力,以及交流能力。此外,也会考 coding 和/或 SQL。但是一般来说不会太难。 ·      这类岗位总的来说比较欢迎有 research 背景的 candidate,特别是 phd。因为很多要解决的问题并没有现成的方案,需要做各种尝试,和学术研究有所类似。我们一般鼓励理工科博士走这个方向。   Machine Learning Engineer (MLE) ·      MLE是近几年新出现的一类岗位。本质上还是 software engineer,但是更侧重于 machine learning。这类岗位需要的就是 coding。面试官会对 candidate 的 coding 能力进行全方位的考察。 ·      在Machine Learning 方面,MLE 和之前两类岗位都不相同。相对于 General DS 来说,MLE 碰到的 machine learning 模型往往是比较成熟的,对于算法本身不需要太多的投入,更多的是怎么设计和建立一个 robust 的 AI system。这类系统设计的经验很难通过做个人项目来积攒,所以对于 junior MLE 的 candidate,面试官会更侧重于考察一些 machine learning 的基本概念。另一方面,相对于 Analytic DS来说,模型的可解释性就相对来说不那么重要,用户往往更重视模型结果的准确性。 ·      这一类岗位比较新,目前需求量也大。只要是 coding 过硬的同学都可以试试。   Data Engineer / BI Developer ·      前三类岗位往往比较能吸引大家的注意力,但是 Data Engineer 和 BI Developer 的岗位需求量也很大。很多转行的同学也可以看看。 ·      其中,BIDeveloper,在我们看来,是一个理工科背景的同学可以相对来说快速入行的方向。BI Developer 也叫做 Data Warehouse Developer 或者 SQL Developer。所做工作包括设计,建立,以及维护 data warehouse、data loading procedures、和 report generation pipeline。需要熟练掌握 SQL、ETL、Data Visualization、Advanced Excel、Server Administration 等技术。上手比较容易,不需要花大力气去准备 coding 或者 business sense。 ·      DataEngineer 定义比较模糊。很多公司里头的 DE 其实就是 BI Developer。而有部分公司的 Data Engineer 做的却是 MLE 的工作。我们为了比较好地区分各类岗位,在这里,我们定义 DE 为那些设计建立和维护 Hadoop 和 Spark 这一类大数据系统的工程师。   知道了这些方向还有相应的技术知识后,我们怎么才知道有没有学透呢? 欢迎留言讨论。
lishuyu 发表于 2020-07-14 04:03

太棒了!谢谢分享!
L
LiuLeLeMaMa
强贴留名 字数字数字
w
wangyix4
马克 子水壶
老友粉
👍谢谢分享!字数字数
L
LEAUPARKENZO
谢谢分享
l
lovemykids
学习了,谢谢
h
hwamama
markmark
q
qingr67
多谢楼主详细介绍和分析!👍
y
yxhuang08
mark! Thanks!
z
zhaoxiaoxi
mark mark mark
r
rita27
markmarkmark
m
mellxaa
多谢楼主分析!
n
nitrogensec
多谢分享。能不能讲一下工资方面的情况?