2
联合编译:Blake、高斐
编者注:作者Alec Smith是数据科学领域中资深HR,之所以写这篇文章是因为经常被问到一个问题:“如何才能获得一份数据科学家的职位?” 不仅这个问题经常被问引起了注意,另外问这个问题的人不同的背景也非常很令人感兴趣。作者曾经和以下这些职业的人有过类似对话:软件工程师、数据库开发者、数据架构师、保险精算师、数学家、学术界人士(不同领域)、生物学家、天文学家、理论物理学家—我还能接着往下数。通过和他们的这些谈话,作者发现在这之中有很大的误解存在,很多人都非常困惑——为了闯入这个领域的话,他们需要做些什么?
作者决定深入调查这个项目,同时提供一个任何想要加入商业计算机科学都能受益的干货资料——无论你是刚刚开始,或者早已点满所有的技能只是没有相关的业界经验。因此我打算主要回答这两个概览性的问题:
数据科学需要哪些技能?如何才能学会这些技能?
从求职市场的角度来看的话,怎样做才能最大化在数据科学岗位上被录用的机会?
你可能会疑惑,凭什么我能回答这些问题?
因为我每天都喝数据科学家打交道,并且作为一个资深的HR,我需要了解相关职业道路,怎样才能成为一名优秀的数据科学家,以及雇主期望能招到哪一种员工。因此对于这件事我还是相当了解的。但是我也想直接找到那些沿着这条路走下来的人,所以我以不同背景的数据科学家开始,期待能发掘到不同的东西。这一次我找到了一个前软件工程师、前天体物理学家、甚至还有一个前粒子物理学家(这令我非常激动,因为他曾经亲身参与过21世纪以来最重大的科学突破之一)。
你已经下定决心要做一名数据科学家了,很好你已经开始了。但是现在你有了另外一种选择:你想做哪一种数据额科学家呢?因为(认识到这个很重要)虽然数据科学被承认是一种职业已经有很多年了,但是有关于它到底是什么还没有一个大家都认可的定义。
在现实生活,“数据科学家”这个词可以指代非常广泛的工种,因此它存在很多种形式,考虑到工业界以及商业界各种需求的不同,还有问题中目标与输出角色的不同。因此,在某些方面拥有技能的话比其他要更好一些,这就是为什么通向数据科学的路径是不相同的,可以通过多种领域如统计、计算机科学与其他科学学科来实现。
目的是决定数据科学形式类别的最大因素,这也与相应的A类以及B类相关联。广义上来说,分类可以总结如下:
面向人类的数据科学(A类),举例:分析支持以证据为基础的决策
面向软件的数据科学(B类),举例:智能推荐系统,如Netflix和Spotify
当这个领域越来越成熟之后,我们可以见到这些定义会愈加完善,在这里我们也要介绍我们第一个专家:Yanir Seroussi,Yanir目前是Car Next Door的首席数据科学家。
在我们深入研究之前,值得花一点时间来反思“数据科学”中的“科学”,因为在某种意义上,所有的科学家都是数据科学家,因为他们都是与各种各样的数据进行打交道。但要考虑到通常被认为是数据科学的这个行业,究竟是什么使它成为一门科学?这个问题很好!答案应该是:“科学方法”。考虑到科学的多学科性,科学方法是把这些领域结合在一起。
然而,业界中职位名称貌似越来越宽松了,并不是所有的数据科学家都是真正的科学家。可以这样问你自己:你能证明自己是一个科学家即便你的工作并不包含真正的科学呢?个人来说,我不认为“分析师”不能作为一个选项 ,或者其他的最合适的也能作为选项。但是这可能只是我个人意见,也许我最好称自己为招聘科学家。
通过讨论的方式我们将继续探索,哪些领域的专业知识你还需要掌握(如果你还没有的话)。
1. 解决问题
如果这个不是你清单中的首位的话,马上去修改。所有科学核心都是解决问题:一个伟大的数据科学家也是一个伟大的问题解决者;就是这么简单。需要更进一步的证明吗,基本我在这个项目中碰到的每一个人(不管其背景和目前工作环境如何)都提到数据科学中最重要的因素就是解决问题。
很明显,你需要有工具去解决问题,但是它们只是:工具。在这种情况下,即便是统计/机器学习技术也可以认为是你解决问题的工具。新的技术出现了,科技进步了。唯一不变的就是解决问题。
在某种程度上,你解决问题的能力是由天赋决定的,但是与此同时有且仅有一个方式来进行提高:那就是练习、练习、练习。在后面我们会回顾这部分内容,但是现在你只需要记住:你只能通过尝试来掌握某件事情。
2. 统计/机器学习
看完上面的内容,似乎我轻视了统计和机器学习。不过在这里我们并不是讨论一个强力的工具;它们是非常复杂的(而且在某种程度上是非常深奥的领域),如果你没有专业的知识,你也不会很快地解决数据科学问题。
进一步对这些词进行解释说明,机器学习可以被认为是从人工智能/计算科学与统计学中发展起来的多学科领域。它通常被认为是人工智能的一个子领域,这是正确的,但是很重要的是要意识到没有统计学的话就没有机器学习(机器学习非常依赖统计算法来工作)。很长一段时间依赖统计学家都被机器学习所轻视,但是在这两个领域的合作才造就了最近的发展(参见统计学习理论),顺便提下高维统计学习只有在统计学家与机器学习结果合作时才会有良好的结果。
3. 计算
编程
对于我们来说只需要简单的接触程序就行,因为它应该是很直观的:但是对数据科学家来说编程是必须要会的。设想下如果你不会编程的话,如何才能通过编写一段独特的算法来实现你的理论?又或者建立一个统计模型?
分布式计算
并不是所有事情都需要超级大的数据组,但是考虑到现代世界的情况,建议在工作中都加上大数据。简而言之:单一计算机中的主要内存并不能实现大数据处理,如果你想同时在数百台虚拟机中训练模型的话,你需要能够使用分布计算与并行算法。
软件工程
对于A类数据科学而言,让我明确一点:工程是一门独立的学科。因此如果这是你想成为的数据科学家类型,你其实不需要成为一个工程师。然而,如果你想把机器学习算法转化到应用中(即B类),那么你将需要一个强大的软件工程基础。
手动转换数据
数据清理/准备是数据科学的重要内在组成部分。这将耗费你大多数时间。倘若你没有成功地对数据集进行降噪(例如,错误赋值,非标准化分类等),将会对建模的准确性产生影响,最终导致产生错误的结论。因此,如果你尚未做好处理数据的准备,这将使你先前的知识积累显得无关重要。
有一点是非常重要的且值得注意的,即在商业化组织中数据质量一直以来成为饱受争议的话题,在数据储存方面,许多业务又涉及到复杂的基础事务需要处理。所以,如果你尚未准备好融入这个环境中,想要处理纯粹的数据集,商业数据科学可能不是最适合你的选择。
工具与技术
直至目前,你应当意识到,成为一名具备解决问题的能力的数据科学家相比于其他一切条件来讲是重中之重:因为技术将不断发生变化,能够在相对较短的时间内得到掌握。但是,我们不能对其他影响因素置之不理,因而,能够认清楚如今应用最广泛的工具对于成为一名数据科学家是有用的。
让我们先从编程语言谈起,R与Python是两种最常用的编程语言,因而,如果能够选择的话,希望你选用其中一种语言用于实验研究。
尤其是在A类数据科学工作领域,具备能够直观地观察数据的能力将会对与非技术型商业股东交流沟通产生重大影响。你可能具有最优的模型和最深刻的见解,但是如果不能有效地呈现/解释这些研究成果,那又将有什么用呢?事实上,你运用什么工具实现数据直观可视化并不重要,可以是通过使用R或Tableau(当时最为流行的编程语言),但是,说实话,工具是不太重要的。
最后,不论我们所讨论的是关系型数据库,还是运用大数据技术获得的SQL衍生数据库,由于SQL是当时产业界用于数据库中最为广泛的编程语言,大多数公司都非常看重SQL这种编程语言。SQL对于手动转换数据尤为重要,至少在处理更大规模的数据库时。总之,SQL真的值得你花费一定的时间来好好研究应用。
交流/商业头脑
在商业数据科学领域工作,具备交流沟通能力/商业头脑是不容忽视的。除非你将要从事非常具体的工作,可能是纯研究类型的工作(尽管我们要面对现实,在产业界并没有很多这种类型的工作),绝大多数数据科学领域的工作都涉及到业界交流互动,通常是与非学者类型的人打交道。
具备将商业化问题和催生这些问题的环境概念化是极为重要的。将统计学方面的观点转化为可以想普通大众推荐的行动或启发性观点也是重要的,特别是对于A类型数据科学领域的工作来讲。我曾与Yanir就该话题交谈过,他的观点如下:
“我发现一种奇怪的现象,当一些技术型人才开始使用行话与人交流时,他们并不留意他们的交谈者——那些非技术型人才,的目光早已落到了别处。在交谈过程中,能够设身处地地为他人着想是重要的。”
摇滚明星
乍看这样一个标题,你可能会困惑不解:事实上,我用这一标题暗含讽刺意味。当然,数据科学家可不是摇滚明星,忍者,独角兽或其他任何一种神秘生物。如果你计划视自己为上述任何一种生物,那你可能该对着镜子好好大量自己一番。但是,讲到这里,我离题了。我想要表达的观点是,有一些数据科学家,他们具备顶尖的专业水平,也可能专业水平更为高端。在别人眼中,可谓稀有物种,尤为宝贵。如果你有此般天赋或愿望成为其中一员,那简直是太棒了。但是,如果你不具备这种才能或愿望,请记得:你可能在数据科学的某些领域做的术业有专攻,而且通常,好的团队是由精通于不同专业领域的数据科学家组成的。决定自己的研究重点在哪一领域,这个问题有回到我们之前讲的个人兴趣和能力这个话题上,我们将在下一篇文章中对该话题作继续讨论。
相关阅读
PS : 本文由雷锋网独家编译,未经许可拒绝转载!
via Alec Smith
雷峰网原创文章,未经授权禁止转载。详情见转载须知。