Data Scientist,数据科学家,太火了,已经成为新一代改变世界的职业,引得每一个人都想往这个方向转。
学 CS 的觉得做码农太底层,给人打工,要转数据科学家,完美。
学统计的觉得这个不需要过多的 Coding,适合自己,要转数据科学家,完美。
学商科的觉得终于自己也可以成为科学家了,要转数据科学家,完美。
似乎每个人都觉得自己可以成为,应该成为,也一定能够成为一名数据科学家。
然而现实呢?
一片混乱。
“Big data is like teenage sex: everyone talks about it, nobody really knows how to do it, everyone thinks everyone else is doing it, so everyone claims they are doing it” — Dan Ariely
人们的想象之中的独角兽
几乎所有赞美数据科学家的人,都认为数据科学家是这样一类人:
精通算法。例如各种机器学习算法(聚类,分类,NLP,CV,IR, etc.),理解统计的原理。
全栈开发能力。能够完成从数据清洗,到产品上线的全部工作,且能做各种数据可视化与报表。
有资深的领域知识。了解行业背景,企业运行规律,懂得 Business、Marketing、Finance、Operations 等等知识,能够帮助企业做决策。
除了技术能力要求高,同时还要有相当的软实力,比如沟通和写作的能力,比如领导团队的能力等等。
哇,真是全能的独角兽。
可能有这样的人吗?当然,这个世界这么大,出几个超牛的人并不是没有可能。
你可以追求成为这样一个人,但是认为所谓数据科学家就等于这一类人,并没有什么意义。
但是,从现实角度来讲,你并不需要成为这样一个人才能为企业带来价值。大量和数据相关的职责都被认为是和数据科学家相关的,因此,更重要的是,找到合适自己的位置,使用新技术解决问题,创造收益。
两类数据科学家
是的,Data Scientist 并不是一个 Well Defined 的职位,在每个公司的职责都不一样。但是,不论怎么样,这个世界上不可能凭空出现一个职位:这个职位所解决的问题是以前从来没出现过的,也没人知道该怎么解决的。或许我们可以慢慢逼近人们想象中的那个全能的独角兽,但现在,数据科学家所担当的职责,一定会跟现有的职位大量的重合。
现实中的数据科学家是怎么样的呢?常见的数据科学家被分为两类。引用 Quora 上 Michael Hochster 的一个回答:
Type A Data Scientist: The A is for Analysis. This type is primarily concerned with making sense of data or working with it in a fairly static way. The Type A Data Scientist is very similar to a statistician (and may be one) but knows all the practical details of working with data that aren’t taught in the statistics curriculum: data cleaning, methods for dealing with very large data sets, visualization, deep knowledge of a particular domain, writing well about data, and so on.
Type B Data Scientist: The B is for Building. Type B Data Scientists share some statistical background with Type A, but they are also very strong coders and may be trained software engineers. The Type B Data Scientist is mainly interested in using data “in production.” They build models which interact with users, often serving recommendations (products, people you may know, ads, movies, search results).
我对于这两类的理解稍有出入,但也大体相同:
Type A 数据科学家:偏 Analysis,一切为数据驱动的决策服务。主要的工作是在清理数据,做分析,找 Insight,做 Report 等等。可以说是某类升级版的 Analyst 或者 BD。
一方面这意味着对你的你要求跟做 BD 或 Analyst 的要求一样甚至更高,对市场了解如何?对行业了解如何?对公司运作了解如何?而所谓 Machine Learning 等工具只是技术与手段,能够帮助更好地解决问题,但是问题有哪些,才是根本的问题。
另一方面传统 Analyst 不足的地方在于随着数据越来越大,越来越复杂,如果要更快更准,需要使用更好的模型(机器学习等),在更原始的数据中探索与分析,不能只等待其他人把数据都处理好。因此需要更强的数据处理、分析能力和对于新模型、工具的掌握和理解。
往这个方向发展,要补齐 Marketing、Business、Finance、Operation 等知识,同时掌握各种机器学习的算法与工具。
Type B 数据科学家:偏 Research & Product,在算法即产品的职责下让算法能够与产紧密结合,甚至主导算法驱动的产品。主要的工作是把算法从 Research 做到 Product。
一方面要对各类机器学习的算法了解足够深刻,了解各种机器学习算法的常见应用(NLP,CV,Recommendation,IR,etc.)。同时对工程要求更高,毕竟做 Prototype 和上 Production 是完全不一样的。
另一方面要对产品的需求有更深层次的理解,以及了解公司的业务逻辑,因为随着不少算法的成熟,产品的需求已经不仅仅来自于 product-market-fit,而是来自于算法本身的进步,因此能够把成熟的算法推向产品是非常重要的能力。
往这个方向发展,Coding 的要求与所有通用 Software Engineering 的要求一样,该修 CS 课可能一样都不能少,同时要能了解公司的业务逻辑,更好地推动产品的上线,让不可能变成可能。
职业生涯的起步与发展
既然典型的数据科学家是两类,那么对照着这两类对自己的技能树查缺补漏就行。要么补业务知识,要么补代码能力,要么补机器学习相关的技术与工具。总之,不要一味追求所谓的新算法,而没有基础的分析或者工程能力,这样并不能解决任何问题,也不能带来任何价值。
从一位分析师或者程序员开始职业生涯,都是很好的选择。
然而,职业生涯的追求肯定不是一个 Title,而是某些能力,对照着理想中的独角兽差缺补漏,确实是非常好的办法。