你想找到一份数据科学家的工作吗?如果你有这样的想法的话,那么你就有伴儿了。最近由Thomas Davenport和D.J. Patil在《哈佛商业周刊》上面发表了一篇专栏,文章称“数据科学家”是21世纪最最性感的工作。
那么你怎样才能找到门路呢?很多实用性的资源可以帮助你成为一名数据科学家,只是需要你可以综合性地驾驭多个学科领域,比如软件开发、数据修改、数据库、统计学、机器学习以及数据可视化。
请不要担心,以我的经验来看,作为一名数据科学家,事实并非如此沉重。你真的没有必要用尽可能快地花费一生的时间学习和数据相关的信息和技能。你需要做的就是仔细地阅读数据科学岗位职责的描述。这样就可以让你根据自己已经有的经验和技能去申请和数据科学家岗位相关的工作,或者根据具体岗位的需要加强具体的数据技能,以便于可以和你想要的工作更好的匹配。
4种数据科学工作岗位
“数据科学家”是一种综合性的岗位头衔,通常用来表示该岗位与其他类别岗位有相当大的不同之处。下面是4种数据科学岗位:
一位数据科学家就是一位居住在旧金山的数据分析师
玩笑归玩笑,实际上很多公司里面的数据科学家就等同于一名数据分析师。你的日常工作内容可能由以下方面组成,比如从MySQL数据库中拉取数据,在Excel数据透视表方面你也是大拿,并且还得生成基本的数据可视化图表(比如条形或者柱状图)。你可能还会偶尔分析A/B测试的结果,或者掌管公司在Google Analytics注册的账户。对于渴望成为数据科学家并且想摸到窍门的你而言,这样的公司的确是理想之地。
请放养我们的数据!
看起来已经有很多企业的信息流量即将迎来高峰(而且还有不断增长的数据量),企业正在寻找合适的人选建立大量的数据架构,以便于让企业可以不断向前发展。他们也在寻找能够做数据分析的合适人选。你会发现这种类型岗位的公开招聘信息陈列在“数据科学家”和“数据工程师”的类目中。既然你想成为公司里面第一个数据方面的雇员,那么还是有个别唾手可得的岗位,这些岗位的重要性并没有数据科学家这般重要,比如统计师或者机器学习专家。拥有软件工程背景的数据科学家在公司里面的表现可能会更加突出,数据科学在公司里面的重要作用就是为产品代码做出和数据有关的贡献并提供基本的洞察和分析结果。但是在这种企业中,基层数据科学家岗位的员工不会太多的师徒制机会。因此,在这种环境当中,你可以在很多考验之后发光发热并大红大紫,但是这样的环境也会缺少相对的安全性,因为单凭你的一己之力,你会面临彻底失败或者停滞不前的风险。
我们就是数据,数据就是我们
对很多公司而言,他们的数据(或者说他们的数据分析平台)就是他们自己的产品。对于这种情况,公司所进行的数据分析或者机器学习环境非常激烈。这样的环境可能对于那些具有正规的数学、统计或者物理专业背景并希望继续在学术道路上深造的人而言再合适不过了。处于这种岗位配置环境中的数据科学家,与回答公司一些操作方面的问题相比,他们更倾向于集中精力生产更好的数据驱动的产品。这种类型的公司也许是一种具有大量数据的面向消费者的企业或者他们专门提供以数据为基础的专业性服务。
规模适度的并由数据驱动的非数据企业
在这种类型的企业当中,你的作用就是参与到由其他数据科学家组建的团队当中进行协作。你所应聘的公司很关系数据,但实际上他并非是一家数据公司。同样重要的是你仍然需要能够执行分析、触及产品代码、让数据可视化等。通常情况下,这种类型的公司要么是正在寻找综合型的多面手,要么他们正在为公司填补团队所缺少的专业人才,比如数据可视化或机器学习。当你参加这种类型公司的面试时,对你最终要的技能就是熟悉使用专门为大数据所设计的软件工具(比如Hive或者Pig)并且有处理现实生活中那些烂七八糟的数据库。
但愿以上这四方面的信息可以让你充分的了解为何一名“数据科学家”的头衔具有如此宽泛的含义。以上这四种具有不同个性的公司对于候选人在技能、经验以及经验水平方面的要求也各有千秋。机关如此,所有公开招聘的工作都会把自己公司的岗位称作是“数据科学家”,因此你一定要仔细地阅读岗位职责,了解你所将要加入的团队的情况并能够提升你哪些方面的技能。
掌握8项技能让你如鱼得水
以下就是8项你应该发展的数据科学岗位技能:
基本工具
无论是应聘的公司是哪种类型,你都应该具备了解如何使用交易工具的经验。比如类似R或者Python这样的统计编程语言,还有SQL这样的数据库查询语言。
基本统计学
作为数据科学家懂得至少一种基本的统计学非常重要。曾经有一位面试官告诉我说他所面试过的很多人都无法正确地提供p值的正确定义。因此你一定要对统计测试、分布、最大相似估计等了如指掌。试着回忆以下你的统计学课堂吧!对于机器学习方面的问题也有和这个情况一样的时候,但是你的统计学知识的最重要的一方面就是你得知道在什么时候不同的技术方有效(或者无效)。统计学对各种类型的企业而言都非常重要,但尤其是对那些以数据为驱动的企业而言,他们的产品不是以数据为专注点,而且产品的利益相关者会根据你提供的帮助制定决策并设计/评估试验结果。
机器学习
如果你供职的企业有大量的数据资源,或者你所在的企业的产品本身受数据所驱动,在这种情况下需要你必须熟知机器学习算法。这意味着像k值临近法、随机森林,集成方法等和机器学习有关的所有流行词汇都需要你有所了解。我们的确可以利用R或者Python库执行很多技术,因为如果你不是主导算法如何奏效的行业专家的话,那你没有必要成为一名血色交易使者。最重要的是你要懂得大致的框架,而且需要知道不同的时候采用相应合适的技术。
多变量微积分和线性代数
当你在接受面试的时候,很可能面试官会要求你导出一些机器学习或者统计学结果。即使你不问,那么面试官也会问你一些基本的多变量微积分或者线性代数问题,因为它们是很多技术的基础。也许你想知道为什么一位数据科学家需要懂得这些东西,如果我们有很多sklearn或者R方面的工具帮助我们来实现这些功能。因为就某一点而言,数据科学家团队值得为此内部开发一个执行工具。对于就职于生产由数据驱动的产品的公司的你而言,明白这些概念非常重要,并且对预算执行或者算法方面的优化改进会为企业带来更多胜利的果实。
数据修改
通常情况下你所分析的数据会变得无比凌乱,让你的工作变得异常艰难。因此很有必要弄清楚如何对待数据中出现的缺陷。常见的数据缺陷包括遗漏值、不一致的字符串格式(比如“New York”对“new york”对“ny”),还有日期格式(‘2014-01-01’ vs. ‘01/01/2014’等)。作为一名较早进入企业的数据技术人才,数据的修改工作是重中之重,无论你所在的这家公司规模很小,还是你所供职的企业所生产的产品和数据无关但是企业的发展需要依靠数据驱使,拥有这项数据修改技能非常重要。
数据可视化与信息交流
数据的可视化与通信化非常重要,尤其对与第一次制定数据驱动决策的年轻企业,或者是把数据科学家视为帮助别人做数据驱动决策的企业。我们所谓的数据交流性,指的是你向受众描述你的发现或者技术奏效的方式,无论是技术层面的还是非技术层面的。熟悉诸如ggplot 和d3.js这样的数据可视化工具对你有莫大的帮助。不仅对数据可视化所需的工具的了解至关重要,还得学会了解可视化的数据编码和交流信息隐含的原理
软件工程
如果你应聘的单位规模很小,而且你还是这家公司最早应聘来的数据科学家之一,你最好具有软件工程专业背景。因为一开始的时候你需要处理大量的数据日志文件和数据驱动的产品的开发。
像数据科学家一样思考
公司非常想看到在你被雇佣之后,你是一名(数据驱动的)问题的解决者。这就是说,在你面试过程中的某一时刻,你会被问到一些难度很高的问题。比如关于企业想运行测试的方法或者他们向开发的以数据为驱动的产品。对你而言你要深重的思考在这个问题当中那些是重要的,哪些不重要。作为一名数据科学家,你应该如何与相关的工程师以及产品经理进行有效的互动?你应该采用何种方法?近似值在什么时候会发挥功效?
译者:丑灿
更多阅读: