Data Scientist岗真的有前景吗?

转自知乎:

本人东部某CS名校的ds相关硕士,今年年底毕业。最近一直在找DS相关工作,有一些感触可以和大家分享一下,也有一些疑惑等大家解答。

因为我身边找SWE和DS的同学都不少,所以我对这两个工作都有一些了解。总体来说我们学校找CS的同学去一线IT公司很容易, 但是找DS岗的同学就比较惨了,到现在还是只有几个人找到。我还是属于比较幸运的,有一个实习公司的return,也拿到一个加州二线IT公司(非FLAG,非热门unicorn)的offer。但是就算找到了DS的工作,和同学们SWE的offer也比不了,工资股票都要低一个level。

本来我本科不是CS背景,对纯码兴趣也不大,所以选择了data道路。但是看到同学们转码的也都能去FLAG拿到很高的工资,我也有点动摇了。
Data这个行业现在风头很盛,在各大媒体上经常出现,但是从就业市场上面来看找Data工作难度和拿到offer质量不成正比。所以我也迷茫了,是继续在这个行业走下去,还是尽快转变方向?

我前面也做了一点调查,Data相关岗位里面薪资超过SWE的只有research scientist,而这个岗的门槛是非常的高,不光要PhD还要很好的发表。我也不想为了做一个research scientist就再去读五年的PhD。其他的岗位比如偏产品的data scientist或者做模型应用的data scientist的薪资都比SWE要低。我查不到那种工作多年的工资数据,所以DS和SWE的发展潜力我不是太清楚,希望有相关经验的同学能提供一点数据。不过从起步来看,SWE的offer还是更有吸引力的。还有一点就是因为SWE能更容易拿到多个offer,所以和HR议价能力也更强。而DS找到工作就不错了,基本上也很难和公司谈价格。

我个人来说虽然不喜欢做系统网页APP之类的SWE,不过对做ML engineer和DL engineer还是挺感兴趣的。一些一线tech公司做ML的岗也放在SWE下面,所以我猜测这种岗的薪资应该不会比SWE低吧?如果是这样,我考虑上班了一年之内转到ML Engineer方向,这是不是一个好的选择?还有希望有经验的同学指指路,说说data scientist这个岗的前景究竟在哪,我是真的有点迷茫了。。。谢谢大家。


1/ 跟sde比工资比package就是在自取其辱,自己给自己找不痛快。我已经看开了。 2/ 私以为ds应该更注重自我学习和确立未来几年的目标。喜欢做ml和dl的,喜欢产品和实验的,喜欢Data Infra的,不管啥track,都得不停的有系统的学习。 3/ 大家做data的,千万不要互相看不起... 工作五个月了,已经见到各种 ds看不起de/da,做ml/dl的看不起做实验和产品的,da看不起query的ba....

BA干了两年的路人乙也来发言…
我实习的时候做了个项目,给公司每年多赚了$3M,然后大老板一高兴给了个senior BA的offer。我当初也好奇心十足,跑去问隔壁组SDE实习生转正的package,结果发现我虽然职位比别人高了一级,薪水却比别人低了一档,心里也有点不是滋味…
后来正式工作了几个月就想通了,钱不是我最看重的,反正国内家里也不指着我的薪水吃饭,我一个人在美国花自己这点薪水也完全够用。要是真的在乎钱的话,要么改行做SDE,要么就一路跳槽把base涨上去。反正在我心里列个表的话,钱一定不是top 5。我更看重的是做BA能学到的soft skills。当BA是真的辛苦,一堆stakeholder,从Business, Finance, Engineer到Product,全是你的甲方大爷。每天有回不完的邮件和开不完的会,而且我还是个IC,还要出活。不过前期成长快也是真的,入职一个多月就把org chart摸透了,学会怎么争取stakeholder的信任,做完了analysis怎么说服他们采纳建议,该吵架的时候怎么吵等等… 等这些都学得差不多了能hold住自己的workflow了,就可以好好利用前期和别的function建立的良好关系,可以经常问问business那边的人对行业的理解,PM对产品的理解等等,有的时候闲了也可以聊聊职业生涯,因为BA这个track是走不到头的,最后总是要转型的。Junior BA是需要什么都会,但是一旦自己选好了track之后就要开始加强技能了,比如我想做operation,就要着重加强influencing skills,比如想做data sicentist/engineer,那就要好好打磨下machine learning等等。


如果不讨厌编程的。。。能转码不妨转码 it's still the safest, proven path.

但是,如果对数据有真爱的,更靠近business方向也不失为一条不错的路。职业早期薪水上的差距有可能是值得的。
镇要问“长远”发展的例子,就没劲了,因为这个行业一共也就火了那么几年。能见的例子是“升得快”。作为一个不成熟的行业,规矩乱,机会多,趁乱上去的人(head of DS) 还是颇不少的。同时,好的insight的的确确可以帮助公司选择正确的strategy,或者省钱。但是这种ds的core skills不是写query或者建模,而是要能找准问题的关键,并说服做决策的人。不然再牛逼的分析也一毛钱的用都没有。成为trusted advisor of key decision maker不是坏事。更靠近marketing, BD, ops (yes, ops is super important), finance,都是很不错,值得学习的领域。下一个职位,很可能在这些范围成为领导。

身为码农但是就是很想弄数据的怎么办?码农有数据driven思维,可以是big plus. 技术驱动的码农很容易就变成埋头做很酷但是没用的东西。而有一些数据的思路,可以帮助junior的码农,选择在正确的地方使劲,更好的sell自己的成果,更会influence decision maker etc, 从而快速成长成高级码农和带队的码农。

at the end of the day, 没有什么business的存在是为了让DS玩数据玩模型,让码农玩技术。business有自己的目的,ds也好码农也好,都是达到business goal的手段,仅仅是方法不同而已。Yep, even research scientists have business goals, e.g. publication.

So… 发展自己感兴趣的技术(either hard or soft skills)and focus on helping the business meet its goals (或者用如今流行说法 - advance its mission) with whatever skills you have.


我现在就在做ML Engineer的工作,感觉下来主要区别在于三点:

  1. DS这个position定位实在是太宽泛了,很多职位都叫data science,但是实际做的工作可以千差万别,有AB test,有只写SQL的data analyst,也有训练model的真正意义上的scientist。因为range太宽,工资差别也大,所以平均工资就没那么高啊。其实只有做model的DS和ML Engineer有可比性,其他的应该不在比较范围
  2. DS, 即使是训练model的工作,也基本不负责把model implement进production环境,所以代码能力要求并不是很高,很多DS都是熟练运用现有的ML的框架训练模型即可,不需要考虑很多SDE需要考虑的问题,例如model的scability和computing efficiency之类。而ML engineer需要负责把model上线,所以需要考虑所有的部分,因而代码要求相对高一点
  3. ML Engineer来说,数学和统计学的功底相对不如做model的DS扎实。很多DS尤其是research scientist用一些很advanced的数学和统计来改进模型,追求模型的极致精准度。但是ML Eng一般不需要追求模型本身的极致,更多的是把它应用到工业环境里面,更贴近应用层面

DS领进门,修行在个人。

DS这个行当,非常看你自己是不是“会来事儿”。DS虽然大部分作为support的存在。但是每天在你desk上经过的数据流是相当大的,产品使用状况,用户反馈,市场数据:你对产品所知道的东西,比你司的CEO更清楚更透彻。这些都是培养business sense的宝贵资源。在这岗位上,你可以向PM学习商业模式,可以跟engineer合作了解工程技术。自己还可以用数据搞些research的私活。根据自己不同的喜好,往某些方面多倾斜一点。那么之后转行你的竞争力觉对无与伦比。

试想哪一个老板不想要对市场了解透彻数据烂熟于心,又有技术背景的PM
试想哪一个engineer team不想要个数学能力屌炸,又懂如何实现,代码能力不差能够少走弯路的工程师
又试想哪一个投资人不喜欢一个上可洞察行业,下知技术实现的企业掌舵人?

所以在DS这岗,主动了解新姿势。到处刷刷存在感。紧跟时代脉搏,做一个跨领域的佼佼者。


另外想强调一点,就是“遵从内心”。
虽然各种skill都可以有,但是很多情况下“做data ETL和建dashboard,讲Business insights (i.e. analytics)”的人,和“从建模原型到代码投产 (i.e. MLE) ”的人,似乎是两种完全不同的人。很少有两种工作都开开心心的做并且都是专家的。目前这个市场环境下,大部分情况是能当MLE不会满足于只做analytics,而把phd们招去但是只让人做DE和DA的工作,也是DS行业最爱抱怨的事情。. check 1point3acres for more.

年轻的时候可以try out various things。然后看看什么事情最让自己有动力工作。无论DS还是SWE,都是一个需要不停学习的行业。DA就需要一直学习industry和domain。如果没有足够的兴趣,是很难坚持下来的。而有兴趣的,想停下来也不容易。

工作头1-3年收入上的差异其实后来看看,根本就不值一提。
针对性格和兴趣,扬长避短,寻找最合适自己的行业,成功也会容易很多。


我的两分钱

我也支持兴趣驱动 同时也要看到为自己的长远发展做打算

薪水高低是市场主导的 想想现在几乎每个公司都需要程序员 但不是每个公司都需要ds。虽然看上去程序员起薪高,但是我也不觉得这个会一直高下去,随着市场饱和,这个行业会慢慢走下神坛的(有点夸张了)。而且程序员也真的看能力。如果你没有兴趣在这个领域一直学习和钻研,你干的越久你本身的价值是在递减的。我面试过很多15+ 20+工作经验,但是却停留在很传统的那些技术领域的,真的聊一下就会发现,我还不如招一个工作一两年的进来,学习快,干活快。所以就算选择做程序员,也要想清楚自己适不适合做这行,挣钱没有错,但是要做长远打算

我对DS不是很了解 但是我对data很感兴趣 现在越来越讲究数据驱动 产品,infra,人员 都需要数据支持决策 所以个人觉得DS的发展空间更大一点 可能性更多一点,可以做scientist,可以做产品,也可以做管理等 其实商业说白了就是一个不断做决策的过程 而决策的依据呢 很大程度上来自数据 所以我觉得后期的爆发力 还是DS更有潜力 ;)

但是如果地里有牛人能讲讲DS的职业规划什么的 我还是很感兴趣的

我的2分钱 不要拍我


谢谢楼主开这个楼,感觉很有意义。我是非统计非CS PhD转DS,现在也比较幸运拿到了offer。但是也在迷茫DS的前景在哪里。
当时实习找工作在码农与DS之间纠结很久,最后选择DS主要有两个原因:
1。时间太紧张,刷题没跟上,某些DS对刷题的要求比较低
2。PhD找DS有优势,我第二次实习的某大公司,只对PhD提供面试机会。宁愿面试非相关专业的PhD,也不招CS或者stats的MS。这样,竞争对手就会少一些。(所以MS找DS工作,的确会更困难一些吧)
最后幸运地找到了DS的工作。但是我仍然纠结于是否要继续做DS。
某些公司的DS,真的只是调包侠,调参侠。而更有意思,更有难度的DS工作,又需要很扎实的CS/stats基础,可能真的需要CS或者stats PhD来做。如果项目经理不那么懂技术的话,又很容易对DS有不切实际的期望值(相信除了FLAG之类的很多公司,都会遇到这样的经理)。现在,我又开始刷题,考虑是否要找一个SWE的工作。不知道是否做SWE,心里会踏实一些。

1 Like

有意思