Chinese In North America(北美华人e网)

注册
发新话题 回复该主题

1#

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

    这一年来,我跟很多有意向转数据科学的同学聊过。发现很大一部分同学跟我当年一样,犯了一个很严重的错误:没有想清楚自己的目标就开始盲目地学。这些同学一会学 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 这一类大数据系统的工程师。

     

    知道了这些方向还有相应的技术知识后,我们怎么才知道有没有学透呢

    欢迎留言讨论。

TOP
分享到微信 分享到Facebook 分享到Twitter 分享到新浪微博 复制到剪贴板
agree
10
disagree
0
2#

    这一年来,我跟很多有意向转数据科学的同学聊过。发现很大一部分同学跟我当年一样,犯了一个很严重的错误:没有想清楚自己的目标就开始盲目地学。这些同学一会学 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再看

TOP
agree
0
disagree
0
3#

数据技术贴 留名

TOP
agree
0
disagree
0
4#

回复 1楼lishuyu的帖子
多谢楼主详细介绍和分析!👍
TOP
agree
0
disagree
0
5#

回复 1楼lishuyu的帖子
谢谢lz!请问bideveloper的工资跟前三个比较起来怎样啊?
TOP
agree
0
disagree
0
6#

Markkkk,thanks for sharing

TOP
agree
0
disagree
0
7#

写的非常透彻,赞楼主。很好奇现在大家都在转行数据科学吗?

TOP
agree
0
disagree
0
8#

回复 7楼AzureOcean的帖子

是的 风口行业

TOP
agree
0
disagree
0
9#

Mark 一下 感觉很有道理
TOP
agree
0
disagree
0
10#

mark mark mark !~~

TOP
agree
0
disagree
0
发新话题 回复该主题