博士圈

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1335|回复: 0

少走弯路,转行数据科学先看这篇。

[复制链接]

26

主题

41

帖子

217

积分

中级会员

Rank: 3Rank: 3

积分
217
发表于 2022-11-15 14:04:12 | 显示全部楼层 |阅读模式
本帖最后由 DataIst 于 2022-11-15 14:08 编辑

       很多意向是转行数据科学的求职者犯了一个很严重的错误:没有想清楚自己的目标就开始盲目地学这类求职者一会学 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 这一类大数据系统的工程师。


       最后,知道了这些方向还有相应的技术知识后,我们怎么才知道有没有学透呢?其实最好的方法就是能寻求行业内的一线DA/DS/DE/MLE 作为tutor,手把手地带领去实践一些具体情况,针对工作和面试中常见的问题,系统地学习所需要的知识。这些tutor 可以让求职者很快地了解领域里的各种坑,避免走弯路和钻牛角尖,保证大家能在自己的目标方向迅速地达到面试和工作所需的水平。




回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|博士圈

GMT+8, 2024-12-16 21:43 , Processed in 0.017666 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表