不藏私!很努力!零基础+两年慢慢转Data Scientist一些经验分享(附学习资料)

不藏私!很努力!零基础+两年慢慢转Data Scientist一些经验分享(附学习资料)

羽小嘴
羽小嘴
3.91万 浏览

看到LinkedIn提示一周年work anniversary,真心有点不敢相信,这么一年一下子就过了。从材料系的PHD毕业,生了娃,一边带娃一边慢慢转Data Scientist,这一路磕磕碰碰真心不算容易。认真坐下来总结了点小小经验and心得,分享给正在转行的大家吧。希望想转的小仙女们早日转成功!拿到大Offer!

happy-feet.png

 


第一步:搞清楚方向

如果想转Data Scientis但是又对这个行业不清楚的,推荐先搞清楚DS的几个大的方向。


一般来说,大概是下面三个大方向:

  • Analytics
  • Machine Learning
  • Engineering

根据你的兴趣,能力不同,可以先选择一个方向专攻下去。这样比较不会浪费太多时间。DS是一种非常General的职位称呼,尤其是大公司,FLAG那种,同是DS Title的,做的东西,用的软件,面对的客户/需求,可能完全不同。搞清楚方向才能更快的入门!


下面简单说说为啥我选Analytics这个方向。主要因为我真心零基础,PHD学的跟Coding什么的一点也不沾边!之前人生没写过代码。Machine Learning和Engineering这两个方向对于Coding,数学,算法这些要求比较高,入门时间长,不是我的智商/时间预算能够接受的。Analytics这个方向比较好入门。


我在这里走的一个弯路就是一开始没有搞清楚DS的这几个分支。以为所有DS对于Coding/CS的要求都很高,以至于花了很多时间看CS类别的东西外加刷Coding的题,中途一度想要放弃。

其次Analytics这个方向到底是干什么?这种DS其实跟Data Analyst的工作内容重合度非常高。一般来说主要是能够做data cleaning, data structure,anlaysis,最后还有一些简单的modeling(基本能用python package跑一跑就行),一般不会需要你从零开始写出一个算法。但是对于Communication能力要求高,soft skills要求多,实际CS背景或者Coding要求没那么严苛。


大体上说,有一定CS基础,会Python或者R(二选一就行),SQL大概中级水平,基本就可以搞定面试/日常工作需求。

coding.jpg


第二步:认真学下去吧


这一步应该最漫长,就是要根据自己不会/薄弱的地方选一些网课听+读几本入门的书+最后认认真真做几个能放在简历上的跟Data有关的Projects


别盲信那些一周带你学Python/R/SQL之类的文章……把基础认真打好后面做Project什么的才会顺。要是都一周就能学出来,DS们凭啥拿六位数的薪水?!我大概花了一年半多一点的时间先学CS,Coding,上上网课,然后再开始看看书,做几个自己的Projects,顺便练习SQL。就算看看身边不需要带娃的DS同事,基本上在这一步画上半年到一年是很常见的事情。


下面列出我修的几门课和用的一些资料给大家做参考


Udacity (都是免费的课)

Intro to Computer Science -- 入门级别

Intro to Data Science -- 入门级别

Intro to Relational Databases -- 入门级别介绍一下什么是Relational Database,以及简单的SQL练习

Data Analysis with R -- 比入门级别稍微难一点点,但是很多好用的R的技巧外加画图,做data cleaning的技巧

A/B Testing -- 这个我觉得走Analyst方向的DS必看!快速带你入门A/B testing,听懂常见的术语
Udacity的这些免费的课总体来说都不难,主要就是带你快速入门。看看这些领域基本在做什么,经典的理论什么的。面试的时候聊一些词汇不会太陌生。如果对哪个方向感兴趣(比如A/B Testing),肯定还是要单独找资料来学习的。

Khan Academy -- AP Statistics -- 这个课有点长,但是我觉得非常有用。Cover基本的Probability,Distribution,Inference等等。因为我自己没啥统计类别的基础,大概花了两三个月慢慢上完的,觉得后来在面试和工作中都非常有用。


读完的书

Think Python -- 前面说了,我真心零基础,在此之前一点点CS背景都没有。所以这本书对于我来说是CS入门。介绍String,list,dictionary,for loop等等。如果跟我一样对CS一窍不通,推荐读一读,作为了解,但是不需要深究,不然真的非常花时间。我花了四个月慢慢看完的,后来觉得有点花太多时间了,很多细节不需要深究。


下面这个Link是这本书的免费链接

http://greenteapress.com/thinkpython/thinkpython.pdf


Data Science in R: A Case Studies Approach to Computational Reasoning and Problem Solving -- 非常非常推荐这本书!!!里面的章节主要是Project Based,从data cleaning开始,每一个章节都介绍一个对应的经典算法KNN,Decision Tree, Naive Bayes等等。对于练习data cleaning和了解算法都非常有帮助。

SQL Tutorial

https://sqlzoo.net/ -- 免费网站,适合入门+深入练习


SQL我没有刷太多题,入门学SQL的时候跟着上面的网站练习了一遍里面的题目,后来准备面试的时候又跟着重新刷一遍。很推荐!SQL经典常见的操作都包含了。如果真的认真学完,里面的题目都搞懂和能自己写出来了,那么SQL水平绝对算是中级水平了。

final_zoominterview_2000.gif


第三步:Phone Screen + In Person 面试


其实这一段以后可以开个帖子仔细聊聊。今天先说几点关键的


Phone Screen 基本上都是暴力地直接考各种Techical问题,也算是一个Hard Bar。没啥太多窍门,Python, SQL,Coding这些能力越强当然就越容易过。


说到In Person 面试,其实DS是个非常General的职位,去面试前好好做功课,搞清楚要去的组或者公司到底做什么。这一点在phone interview的时候就应该多多套话。拿FB举例子,Legal和Businesses的Data Scienti做的东西,看到的Data完全不一样,需要解决的问题也是完全不一样。一定要争取事前从HR那里套话,根据去的地方仔细准备。


大公司一般注重学习能力(对新人比较友好,或者说有钱/有时间培养新人),小公司一般注重招来的人是不是能立刻干活(有没有相应的经验)。

1140-great-tech-jobs-for-50-plus.imgcache.rev.web.700.399.jpg


如果是像我这种没DS背景的,就算Phone Screen过了,基本前面两三个面试铁定会挂。不要灰心!调整好心态!前几个面试就是去给你积累面试经验的!听听大家面试时候都会聊什么,自己什么地方听不懂或者处理不好,回来仔细练习。(举个例子,我一开始最弱的就是Open Ended Questions,紧张外加回答不到重点。后来自己找了十几个经典题目拿来练了练,真的觉得好多了,思路清楚了,也不容易紧张,能够在面试的时候更好的跟面试官交流讨论。而不是像一开始一样结结巴巴东拉西扯根本聊不到面试官需要的重点上。)


Analytics熬到了面试这一步,Coding,technical skills已经没那么重要了。跟别人聊天交流的能力很重要!Analytics面对的很多问题都是Open Ended的,所以能不能跟stakeholder聊清楚,跟Engineer协调怎么实现非常重要。

1_j_xDdd5jgmoLh_mmD_RGKg_620_x_250.jpg


写在最后

就像前面说的,花了快两年时间从材料背景慢慢转了DS,回头看没啥后悔的。因为带娃磨蹭一些,但是也是值得的。感谢大家的阅读!如果有啥疑问欢迎留言,我尽量回答~~比心❤

君君提示:你也可以发布优质内容,点此查看详情 >>

本文著作权归作者本人和北美省钱快报共同所有,未经许可不得转载。长文章仅代表作者看法,如有更多内容分享或是对文中观点有不同见解,省钱快报欢迎您的投稿。

39122 295 120

扫码下载APP