你是哪种数据科学家?--《Analyzing the Analyzers》阅读笔记

    今天花了点时间看了一本小册子《Analyzing the Analyzers:An Introspective Survey of Data
Scientists and Their Work》。书是2013年出版的,非常薄:加上封面啥的,也就39页。书主要讲了:在当今时代,数据科学家很火。但是很多人,甚至包括有相关技术背景的人,都对数据科学家存在一些误解。于是本书的三位作者就针对我们常说的数据科学家,进行了一项调查,最终将数据科学家分为了四类,并举例描述和比较了这四类数据科学家的不同。
    作为一名算法工程师,我对这个话题还是挺感兴趣的。相信很多的算法工程师,或者半路由其他转(机器学习等)算法的人都或多或少的迷茫过:算法要学的东西太多了。我应该怎样安排自己的学习计划?怎么快速成长?怎么做职业规划? 我是不是一定要精通线性代数,优化算法,矩阵,随机过程等数据基础知识? 是不是要熟练的掌握几门编程语言?是不是要对hadoop,hbase,hive很了解?等等。。。这本小册子能够辅助你回答上面的问题。首先能够帮你定位自己,然后确定自己的优势和自己的兴趣点,在此基础上,能够选择哪种技能作为自己的核心技能,也就是成为书中说的四类数据科学家的哪一种。
    除了作为算法工程师自己职业规划的参考外,对于一般的数据团队的负责人,该书也有非常大的参考价值。比如,该怎么组建一支高效的数据团队?你需要怎样的数据科学家? 当你有某个方面的用人需求时,你怎么定位你的需求对应要招哪一类的人才?等等。

    下面是对该书做的简单笔记。非常感兴趣的,可以在此基础上继续阅读原著。
    
Binita,Chao,Dmitri 和Rebecca都是数据科学家。

姓名 描述
Binita 管理一支技术分析师团队; 花了特别多的时间在会议上。这是她不太希望的; 当她有时间的时候,她希望能沉浸到数据当中,帮助她的团队设计优秀的可视化和可上线的预测模型。实际要:向更高的管理展现效果,用商务用语描述统计结果,p-value转换为实际收益。 学历:工业工程学士和MBA。在此之前干过几年咨询。 她会在商业初版物上读所有关于“大数据”和“数据科学家”等流行词相关的内容,她会寻找她技能方面的价值。但她不太确定到底哪种标签适用于她。也许,她将开始开一家自己的分析咨询公司?
Chao 他是一个多面手。白天,他会给一家报社创建交互式web图形;到晚上,他会参加技术社团,为空间数据映射开发开源的python包。一年会有几次,chao会参加黑客马拉松。 学历:经济学学士,辅修计算机科学。在辍学前,开始读统计学的研究生; 尝试开一家统计咨询公司,但并不成功。从2009年开始关注博客和tweets。他的商业名片写着“chao,资深数据科学家”
Dmitri 编写快速、优雅和可维护的机器学习代码。他为一家中等规模的咨询公司工作。这家公司主要为没有资源自给创建系统的公司提供预测模型。 他的技术栈主要有:Hadoop,SVM以及Scala等。Dmitri在写他的计算机科学硕士毕业论文的时候开始就一直阅读机器学习方面的文献。他给开源的大数据包贡献过一些patchs。他非常喜欢他的工作,但也希望在几年内会找一份不一样的开发工作。比如类似使用Dremel或者其他大规模列式数据库这样的很酷的工作。
Rebecca 为一家互联网零售商工作,title是数据科学家。十年前,如果你问她,现在她会在从事什么工作。她肯定会说“我猜我应该成为一名教授吧”。Rebecca花了十年时间在研究分子生物学、创建统计模型,仿真编程、管理复杂的数据集、发表论文以及参加会议上。她觉得厌倦了。现在,她帮助公司发现实际有用的营销实践方法,为后续销售创建预测模型以及从推特数据中发现相关模式。她仍然会读学术论文,学新工具以及操作大规模数据,但是,现在她的见解得到了关注,她的工作能够实实在在的推动商业的改变。

      我们通过称之为数据科学家的这类人,包括了来自不同领域的人,比如:统计学,机器学习,数据库、运筹学、BI、社会或者物理科学等等。所有这些不同的专业的技能、社区圈子,学历,职业路径可能都有一些特别的区别。如果不加区分,就没法对相应的项目,有效的找到匹配的人才。

对数据科学家角色误解会带来两个相关的问题:
      1)过度炒作让人们以为数据科学家是非常神奇的,无所不能;
      2)对数据科学家不同的种类的区别缺少认识,使得一些机构在招人的时候,做很多无效功。
针对这两点,分别以Dmitri和Binita找工作,举例两个对应的例子:面试官认为,Dmitri应该不仅能够写复杂的机器学习代码,而且能够创建分布式的后端大数据平台,并且他还有创建过公司等等;而对于Binita,一个技术面试官,直接问她,什么是B树,怎么工作,sql怎么优化。事实上,Binita只会负责出原型,不涉及代码层级的软件开发。

      研究认识数据科学家:基于数据科学家自我认识已经他们的工作内容和性质;关注5个领域:技能、经验、教育、自我认同以及网络存在情况( web presence,也就是github等)
      基于这些,对调查的数据科学家进行聚类。

自我认同

用户的自我认同,主要分为四个类别:Data Developer(数据开发工程师)、Data Researcher(数据研究员)、Data Creative(数据创意师)以及Data Businessperson(数据商务领袖)
关于“我认为我自己是一个…”的回答:
这里写图片描述

技能

工作中主要使用哪些技能?专业的主要领域是?
作者列出来5个大方向方面的总共22种技能,如下表所示:
这里写图片描述

技能和自我认同的组合

这里写图片描述

数据科学家类别

Data Businessperson(数据商务领袖)

      Binita就是一个Data Businessperson。他们主要关系团队以及数据项目如何获利。他们通常是leader和企业家。或者也有可能从事契约、咨询工作。
      Data BUsinessperson其实通常都有技术技能,他们会在真实的数据集上工作,大多数都会偶尔操作G byte规模的问题。调查中,Data Businessperson中,女性的占比为1/4,高于其他类别的数据科学家。

Data Creative(数据创意师)

      整个分析流程涉及到的:从抽取数据、对数据融合和分层、统计以及其他复杂分析,到可视化和解释,到创建使得分析可扩展和能够广泛使用的工具等。Data Creative都会涉及到。Chao就是这类人。Data Creative是最常见的。他们擅长各种工具和技术,能够在编程马拉松创建有创意的原型。和Data Researcher 一样,他们都有大量学术经验,3/4都有教过书或者发表过论文。大多数毕业于经济学和统计学。但是,他们不像Data Researcher那样普遍有PhD。他们有商业专长,像data businessperson一样(虽然没那么多),也有很多从事合约工作和创建自己的商业公司。他们最像黑客。有很深入的开源开发经验。他们通常相对更年轻,也更有可能是男性。

Data Developer(数据开发工程师)

      像Dmitri这样的人,就是Data Developer,他们主要关注数据管理方面的技术问题——如何获取数据,如何存储以及如何从其中学习。这类科学家的日常工作,显然是要写代码的。大多数都具有计算科学或者工程学历;半数有在开源项目做过贡献。相对其他数据科学家,Data Developer更加具有ML,和大数据技能。

Data Researcher(数据研究员)

      尽管学术界和商业界存在一些明显的不同,但是越来越多的公司意识到,要实用数据来弄明白复杂的过程,深入的学术训练是非常有价值的。特别是在物理,社会或者统计科学领域。就是类似于Rebecca这样背景的人。他们称自己为Data Researcher。他们大多数的主要技能是统计。3/4的人在同行业期刊方便过论文,超过半数有phD学历。此外,Data Researcher最不可能去开创商业公司,并且也只有一半会管理一个员工。

本书中提供了一个链接:survey.datacommunitydc.org 可以评估下自己属于那种类型的数据科学家。大家可以去试试~·^.^

其实大多数工作,更多的时候涉及的数据量并不会太大:
这里写图片描述

T型数据科学家

调查结果显示,(优秀)的数据科学家都是T型人才。从技能可以看出,每类数据科学家,会在某一大方向技能突出,但其他的技能项也有一定程度的理解。下面这个图可以更清楚的看出来:
这里写图片描述
灰色的“T”,显然是理想情况的。黑色的原点为“原假设”,也就是数据科学家不是T型。绿色的线是实际情况。符合T型。其中每个点代码一种技能,深度为该技能的掌握程度。

平均技能情况:
这里写图片描述