第2章 在成为成功的数据科学家之际
Fast Forward Labs创始人Hillary Mason
Hillary是机器智能研究公司Fast Forward Labs 的创始人,同时也是Accel公司的全职数据科学家。在此之前,她曾是Bitly公司首席科学家,她在那里领导着一个专注于研究因特网实时动向的团队,从事研究、探索和软件工程的复合型工作。她也是HackNY和DataGotham的联合创始人,同时是NYCResistor成员。
作为一名全职的数据科学家,您的工作具体有哪些?
我的日常工作主要有3个方面。首先,我时常与合作伙伴们一同探讨有趣的技术以及公司。其次,我与那些Accel注资管理的公司合作,在他们遇到有趣的或者具有挑战性的数据问题的时候提供帮助。最后,我帮助Accel公司理清头绪,分析出未来的下一代数据公司应该是什么样的。
现在风险投资公司开始聘用全职数据科学家了,您觉得这种趋势会越来越流行吗?
在我们当下的这个时代,只有极少数的人有过花费多年时间来帮助公司建立数据科学团队或者帮助公司打造数据产品的经历。所以对于公司来说,能有从事这方面工作达数年时间的专家加入并着手做这件事情,本身就已经非常有价值了。
我并不觉得招聘数据科学家在未来会和现在一样困难。因为现在数据科学是一个全新的东西——只有很少的人有过这方面的长期经验。因此对于风投公司来说,得到一位能时时刻刻协助它的多家下属公司、解决各种数据问题的数据科学家是多有裨益的。就当下而言,数据科学专家不容易找到,但也并不是完全不可能。我觉得在未来几年,越来越多的人会给予这类专家更高的待遇和重视。
您能向我们读者介绍一下纽约的数据社区吗?
纽约不是一个科技城市。这个城市的金融、出版、媒体、流行、美食以及其他一些行业更为著名。这是一个无所不有的城市,所以我们在城市的每一个角落都可以看到数据。在纽约从事数据科学的人,几乎遍布你能想象到的所有行业领域。这正是这座城市的魅力所在。
你会看到公务员们在市长办公室使用数据来谈论他们的工作,科学家们在用数据展示、讨论他们的科研成果,健康领域的人在使用数据治疗癌症,甚至于媒体界也在使用数据分析新闻。你会看到无论是初创公司还是大型企业,他们都在热情洋溢地坐在一起讨论他们是如何运用数据的。
DataGotham是我们致力于让更多这样的数据分析需求得到人们重视而所做的一次尝试。我们开始这个项目的宗旨就是:“无论你从事什么行业,如果你关心数据,就来我们这里,与其他志同道合的人一起探讨。”我认为这个项目非常成功。纽约的数据社区就是在这样的灵感中诞生的。
您认为数据科学未来会在其他方面有哪些改变?在您的设想中,未来5年数据科学领域会变成什么样子?
5年是非常长的一段时间了。如果你回看5年以前,数据科学在那时甚至还不存在,而即使是在当下,它也尚在一个茁壮成长的萌芽过程中。未来5年,很多事情都会发生转变。我不能具体地说出未来5年会发生什么,但是可以做一些猜测与展望。
首先的一个变化就是,当下这种野蛮生长、孤立无援的局面将不复存在。我认识很多出色的数据科学家,他们供职于计算机科学、物理学、数学、统计学、经济学、心理学、政治科学、新闻业等各种行业。他们正在兴致盎然地转向数据科学,而他们中的许多人其实都没有学术背景。这样的转变正在发生着——今天,你甚至可以直接在硕士阶段选择数据科学专业。
也许在未来,越来越多来自不同领域背景的新鲜血液进入这个领域之后,他们之间的交流合作会让数据科学的轮廓框架日渐清晰,让我们自身也对于它有更为深入的了解,并且迸发出更多的创意和点子。而这可能会是一把“双刃剑”。
我们在城市的每一个角落都可以看到数据。在纽约从事数据科学的人,几乎遍布你能想象到的所有行业领域。这正是这座城市的魅力所在。
第二个变化就是,这么说吧,假如未来5年,我依然在写Java代码的话,我很可能要遇到难以逾越的瓶颈!我们的工具一定会变得比现在好用很多的,这样的情况同样也已经在发生了。这简直不能被称为“猜想”了,因为我知道在数据科学领域,这样的革命正在进行。
5年以前,大部分数据公司都着力于创造基础设施,例如研发各种不同类型的数据库。他们致力于开发的工具大多是用于管理时间序列数据的。但是现在,这个领域的基础设施已经非常成熟了,我们现在看到公司正在想办法让这些原本笨拙复杂的数据设备变得简单易用。所以现在你可以看着一个个漂亮的仪表盘,在大屏幕上输入你的查询语句,然后你的命令就会转向后台,自动进行map-reduce运算,而不再需要像以前一样,一边抱怨,一边花费40小时去绞尽脑汁地编写并行运算算法。我认为工具的简单易用就是一种趋势,未来会越来越常见。
文化同样也是一个将会发生显著变化的方面。我认为数据文化(data culture)将会越来越流行,即使对于并不从事数据科学的人来说也一样。这意味着在许多公司里,你将会看到很多人的头衔并不是“数据科学家”,但是他们也做着差不多的事情。在他们需要统计数据库里的一些数据的时候,他们再也不需要寻求统计学家的帮助——他们自己也可以搞定。我对此是非常期待的。我始终坚信数据可以赋予人们做出更好的决策的能力,所以越多的人参与这项事业,对这个领域的发展必然越好。
如果在未来,几乎每一个公司里都有这样有数据意识的人,您觉得数据科学家的角色会发生什么变化吗?
数据科学家会不断地询问问题。在任何时候,问对问题都很不容易,例如你在面对一个复杂的商业难题时该怎么入手?有哪些问题需要解决?这些都很不容易看出来。另外,如何解读数据分析的结果也是一个难题。数据科学家可能会成为像教练一样的人,在他们的领域内,针对他们一直以来致力解决的问题,他们慢慢会成为那方面的权威专家。
数据科学家以及数据团队能做的事情众多,远远不止上述的商业智能领域。他们可以做算法工程,创造新颖的产品,收集数据集,为产品寻找以及打开潜在的市场与生意。所以我从来不觉得数据科学家们会像明日黄花一般日暮西沉。
在谈论数据科学的时候,您特意强调了沟通能力和讲故事的能力,您可以更多地介绍一下吗?
一名数据科学家就是脑子里想着问题、静静地坐在计算机前的人,然后他会开始收集数据,用数据去解决问题、回答问题。抑或他是一个一开始拥有一批数据的人,然后他开始针对这批数据问出问题,并且尝试去深入理解它。他会做一些数学推导、写一些代码、做一些分析,然后最终得到一些结论,再然后呢?
他需要把从数据中分析得到的东西告诉别人,让更多并没有参与这个研究过程的人也知道结论是什么。创造一个有信服力并且精彩的故事,同时要保证故事尊重数据事实,这可不是容易的事情。这一项技能在众多技术行业里都被忽视了。但事实就是,如果你不仅能做出一些东西,还能很好地解释它们,这会让你异常出彩。但是,我不认为这是一件容易的事。
为什么它不容易?为什么用简练的语言解释一些东西是非常困难的?
之所以难,是因为它需要同理心。你当然必须要理解那些非常复杂以及学术性的技术,但同时你需要对一些完全没有技术背景的人讲解这一切。你必须要清楚他们是怎么想的,这样你才能用他们能够理解的语言来讲述这一切。同时,你必须要考虑到,你的听众只有很短的一段时间能集中精力,他们很快就会变得不耐烦,并且他们绝对不会花费大量的时间去学习这些知识或者技术。
我始终坚信数据可以赋予人们做出更好的决策的能力,所以越多的人参与这项事业,对这个领域的发展必然越好。
所以你必须要想办法用你的语言,或者可视化的工具方法,来让你的听众理解你所做的东西,这样才不枉你花费大量的时间去建立复杂的模型。当你这样去看这个问题时,就会觉得能够在自身了解清楚各种复杂技术的情况下,用精练准确的笔触把这一切写下来,然后与其他人进行沟通,分享数据分析背后的知识和兴趣,这是一件多么让人激动的事情。
当你像这样去思考这个问题的时候,就会发现“讲故事”确实是非常困难的技能,就像是艺术一样。你需要努力将旷日持久的学习经验和复杂工作,以人们可以理解的一种方式娓娓道来。
您之前说过,一些初创公司拥有非常好的数据科学工作机会。基于您曾经在Bitly和咨询初创公司的工作经历,您能不能更多地解释一下?
我不得不说,我在最好的数据科学工作机会这个问题上是有一些个人偏好的。最好的数据科学工作机会,就是那种你有足够的自由度去收集数据的工作机会。而你收集来的数据经常是你一直在努力创造的一个产品的“副产品”。
Bitly就是一个这样的例子——更短的URL可以让你的公司网站更快、更容易地在互联网上传播复制。针对人们在互联网和社交网站上倾向于点击什么网址、分享什么网址,人们收集了一批非常好的数据。但是仅此而已,从来没有人真正从头开始、踏踏实实地做一个专门用于缩短网址的产品,然后用它来进行分析:卡戴珊(Kardashian)在采用了“Kim”的缩写名之后,有没有变得更受欢迎。Bitly的创始人John Borthwick称这样的“副作用”为“数据尾气”,这实在是一个非常可爱的名字。
换言之,如果你是学术界的人,你可能没有机会拥有一个可以不断为你产生数据的产品。这导致在你开始做想做的事情之前,必须要做一些额外的工作(来产出数据)。你需要想办法自己产出数据,或者去大公司乞求他们施舍你一些数据。这一切都是非常不容易的,因为绝大多数公司根本不愿意分享数据。实际上,他们对于数据都有非常强的独家占有意识。所以,作为一名科研工作者,你可能会觉得自己在这个问题上进退两难,除非你可以与公司里那些家伙把关系搞得非常好。
如果你供职于一家大企业,你想要的数据可能已经深埋在公司那堆成山的、无法运转的数据库里了。或者你需要动用层层叠叠的批准文件,才能获得你想要的数据。
如果你所在的初创公司拥有一个可以产出数据的产品,那么这绝对是最完美的地方了。作为一名数据科学家,你有能力去修改产品的参数,从而让它产出其他的一些数据,所以你可以问“我们可以采集一些其他数据吗?”或者“你觉得如果我们这样做,会不会发现其他一些好玩的东西?”一类的问题,这样非常开放自由的环境正是最适合数据科学家工作的地方。
在数据中,我们总是可以发现很多有趣的东西。这样的过程非常有意思,并且这也确实是工作的一个好选择。
您可以对有志于加入数据科学初创公司的人给予什么建议吗?一个新人应该如何选择公司?
试着去了解一个初创公司的文化。一般来说初创公司的文化都很好——一个原因是初创公司都比较自由随和,文化上也比较多元包容。你可能会发现有些公司非常适合你,但有些就不太适合。这并不代表你本人不够优秀,仅仅是因为这个公司不适合而已。
如果你所在的初创公司拥有一个可以产出数据的产品,那么这绝对是最完美的地方了。
正如我之前说的,很多公司现在都在招聘他们的第一位数据科学家。而大部分的数据科学家其实都对这个工作没有任何经验,所以想要找到那种能迅速投入工作、完成别人力所不能及的任务的数据科学家是非常难的事情。我会弄清楚,我将需要合作的人(无论是你的COO、CTO还是CEO)对于招聘数据科学家这件事情有足够清楚的认识。至少他们必须是那种你可以合作,一同分析探讨你应该如何努力做事情的人。
对于工作的优先级以及应该在什么项目上花时间,您有什么心得可以分享吗?
在工作中,有一个无限长的待办事项清单等待你去解决——你如何选择那个能够带来最显著影响的问题?如果在你的公司,CEO一直在催促你做出一些用于董事会会议的PPT,销售主管总是在催促你给他数据……但是在这个时候,你有一个觉得非常有意思的项目——但是他们所有人都对这个项目完全不感兴趣,仅仅是因为他们没有和你一同坐下来探讨分析这个问题,这个时候你又该怎么办?
如果你正在寻找的数据科学家工作是你的第一份工作,那么你应努力确保主管上司能够成功管理项目进度。这说起来容易,但如果你真的是一位主管,你就会发现这事儿不像外行看起来那么容易。这是一项你必须要磨砺的技能。如果你要成为一名主管,我建议你思考下面的一系列问题——如何同时推进几个项目的进度?如何让项目之间的成员有所交流?如何让项目的进度赶得上公司其他部门的进展?
您还有其他建议可以给我们吗?
寻找好的数据集。当我面试那些寻求数据科学职位的人的时候,他们往往已经花了一些时间与我团队内的人沟通交流了。我会说:“现在你已经知道我们在做什么了。如果我现在问你,你有没有发现什么我们整个团队一直都没有想到的好主意或者分析方法,你脑子里第一个闪过的答案是什么?”我其实并不关心答案是什么,但是我想要知道他有没有能力去构思这个数据集是什么样的,并且独立地想出一个角度来运用这批数据。
针对上述的问题,我从面试者中收到的大部分答案都是我们已经思考过的。我并不指望这些面试的人可以在那么短的时间内迸发出一个绝顶聪明的点子,但是他们的答案会反映出他们内心有没有我们最期待看到的创造力。如果你一直以来都期待加入某些公司或者项目组,成为他们其中的一员,但你对于自己将要参与的事业却没有任何的想法,那这就有问题了。你应该要能想到一些让你自己都为之喝彩、激情澎湃的点子。
对于在公司工作的人们来说,各种事项的优先级应该是怎么样的?应该如何做出对公司有重大影响力的产品和工作?
就以我在Bitly工作的经历为例吧,针对我们所面对的每一个数据项目,都有一系列的问题亟待解决。这些问题的优先级排序不仅仅是我们个人(团队)的问题,更是整个公司的问题,因为只有恰当的排序才能让公司的其他部门了解我们项目的进度。
在工作中,有一个无限长的待办事项清单等待你去解决——你如何选择那个能够带来最显著影响的问题?
第一个问题是,我们能不能清楚地定义这个问题?我觉得一个很好的办法就是,把这个问题用最简洁的语言描述出来,写在一张白纸上,让所有人都明白我们想要做什么。
第二个问题是,我们怎么估计何时顺利完成这个项目?我们应该用什么成败指标来判断我们针对某个问题的解决方案是不是成功的?例如,如果你项目的算法根本无法返回一个可以量化的指标,你至少应该写清楚这个项目的量化指标不能是一个简单的数字。
第三个问题是,假设我们最终可以完美地解决这个问题,我们应该首先从什么地方入手?我问这个问题的目的是确保每一个项目都时刻与公司的业务和产品相关,而不能仅仅因为我们对某些东西好奇就花费大量的人力、物力去一探究竟。所以针对项目,在入手的第一步,就要有一个长期的规划,确保我们可以通过这一阶段的工作,更深入地了解数据。
对于所涉及的每一个数据项目,你需要不断问自己以下几个问题:我正在做什么事?我如何估计工期还有多长?这项工作会带来什么影响?如果你不断地问自己上述这些问题,你就会知道有没有把自己的时间合理地投资在正确的方向上。
您有没有例子来更好地说明如何通过询问自己这些问题来理解项目?
例如,你手头有一个项目:“土耳其用户与美国用户在日常的行为上有差异吗?”这是一个与市场有紧密关联的问题,对于那些在土耳其有销售业务的美国公司来说尤其如此。
项目的远期目标应该是着力于了解是否地缘差异会影响用户们的生活习惯,以及如果确实有影响的话,差异具体是什么。你应该时刻注意在短期目标和远期目标之间取舍平衡,进而根据你的数据建立一个完整的、针对这个问题的知识库。
最后一个问题是,假设一切都进展得很顺利,而且全球很多人都接纳了我们的分析结论,这会对人们的行为产生什么影响?这个问题是非常重要的,因为我总是确保团队成员着力于解决具有最大影响力的任务。
另外有一个我也经常会问自己的问题就是,针对这个问题我们能做的最邪恶的事情是什么?如果我是一个居住在火山洞穴里、非常邪恶疯狂的科学家,并且我拥有这样的技术和知识,我会用这一批数据做什么邪恶的事情?从这样的角度出发去想问题,你可以获得很多非常有创意的答案,而实际上这其中的大部分想法都并不邪恶。但是我觉得这是一个开脑洞的好办法。
您刚才针对数据科学家应该如何选择初创公司给出了建议。我想把这个问题反过来——对于新的初创公司来说,他们应该如何打造自己的数据科学团队呢?
这是非常有挑战性的一件事情。在大多数时候,对于数据科学家在公司里应该扮演什么角色这个问题,人们总是见仁见智的。这就意味着,至少公司的创始人和经理层需要对于这个问题有正确且透彻的认识。
也许你想要一些商业分析报告、产品分析报告、计算一些指标。或者你自己对于数据有一个很好的点子——例如类似于推荐系统,或者比这还要有创意的东西。但是想要找到一个人,帮你做出这一切东西,并且他有能力帮助你在公司里建立起一个数据团队,这可不容易。
对于你所涉及的每一个数据项目,你需要不断问自己以下几个问题:我正在做什么事?我如何估计工期还有多长?这项工作会带来什么影响?
在招聘的时候,你应该做的事情就是寻找那些能快速学习的人、有非常多创意的人、能够灵活变通的人,以及能够与你公司的软件工程开发部门通力协作的人,因为他们最终会一起合作。他们需要有能力和运维数据库的人成为好朋友,因为只有这样他们才能从数据库中获得所需的数据。同时他们也要能和产品部以及市场部的同事沟通聊天,一同探讨问题商量产品策略。
这就意味着你也许要考虑那些虽然没有20年的漫长数据科学经验,但是可以快速学会新技术,并且愿意与公司产品业务一同进步的人。你要意识到这样的人最终会给你带来一个出色的团队,而他们本身也会慢慢成为公司管理层的一员,成为公司的中坚力量。
大部分初创公司的成功招聘案例都是在正确的时间,找到了最适合公司的正确的人。这背后并没有可以列出来的公式和指标——简而言之,这是一个需要双方都能共赢的事情。
现在很多毕业生都在纠结去大公司工作还是小公司打拼,对此您有什么建议吗?
我个人觉得找小公司是一个不错的主意。准确来说,我的想法是努力找到一个在未来一年以内可以与你共事合作,并且能给你带来很多启发和教导,类似于一位出色的导师的人物。但是不要仅仅因为某些小公司听起来很酷就草率地加入他们。最好去那种你觉得“我在未来一年可以从那个公司里学到很多东西,并且我觉得在那里工作很快乐,我愿意待更久的时间”的公司。
在你加入公司一年以后,可以重新评估一下自己。我还在继续学到东西吗?我依然喜欢我所从事的事情吗?如果你对于这些问题的答案都是否定的,那么你就可以考虑去寻找下一个可以学到东西的公司了。走出学校、初入职场的那几年学到的东西,将会对你的职业生涯产生巨大的影响,并且实现你的第一次知识积累,所以最好去那些你能学到最多东西的地方。我觉得,从这个角度出发去思考去大公司还是小公司这个问题将会好很多。
对于学生选择公司,您还有其他什么建议与忠告吗?
我知道在你们寻找工作的时候,大部分人都会优先考虑工资待遇和工作地点。我也很重视住在我喜欢的城市里,否则你每天的生活都不会开心,相比于工资,我更看重这一点。但是最重要的一点还是,要选择一个对自己有挑战性的工作,并且要和能教会你很多东西的人在一起。
例如,我曾经在AT&T实验室做研究,我非常喜欢那个地方。那个是个无与伦比的地方,挤满了聪明绝顶的人。但是我不喜欢住在新泽西州,每天通勤往来于城市花园大道简直就是噩梦。对于这个问题,你必须要自己想办法找到其中的平衡点,来确保你工作的公司是一个你喜欢的地方,并且能从中学到很多东西。
相比于你以后几年的工资,你初入公司的年薪是10万元还是20万元,其实真的不重要。相比于住得舒心、吃得好、生活愉悦,我不会太重视第一份工作的工资。
对于那些有志于成为顶尖数据科学家的人,您有什么建议吗?
大部分人都惧怕起步的阶段,因为他们很怕因为初入领域而犯下一些愚蠢的错误,进而招致人们的笑话。是的,你会犯下一些愚蠢的错误,但是实际上人们往往比你想象的要友好很多,而且就算真的有人嘲笑你,你也不用太走心。
我的建议是,如果你确实对于数据科学有兴趣,就尝试去做它!现在网络上有这么多可用的数据集。我有Bitly公司曾经总结的100个开源的高质量数据集,你可以在这个链接里找到:bitly.com/bundles/hmason/1。你也可以找到一大堆方便的开源API。你可以充分发挥自己的创造力去做任何事。
所以最好去那些你能学到最多东西的地方。
尝试去做一个最符合你的优势技能的项目。总体上,我把数据科学家的工作分为3个板块:统计、代码以及讲故事/可视化。这3个板块中你最擅长的方面是哪个,你就尽量选择最需要这方面技能的项目。然后下一步,做一个着重点在你最不擅长的板块上的项目。这会帮助你尽快地成长,学到新的东西,并且搞清楚自己下一步的学习方向,然后顺水推舟地学下去就好。
这样做有几点优势。首先,你知道数据科学是什么样的,对于它的轮廓有了一个宏观的概念。大部分数据科学家需要花费大量时间写Hadoop脚本,这其中可没有什么乐趣——但是你还是应该体验一下这是什么感觉。
其次,你可以做出一些用于展览的东西。你可以告诉别人你做了一个多么酷炫的工作,而人们也会兴致勃勃地听你讲述。他们不会觉得你一直在做无用功或者你糟糕透了,他们将会说:“哇,这是你做的?太酷了!”而这样的成功也将会帮助你找到一份工作。
以我的一个朋友Hillary Parker为例,她在Etsy的分析团队工作。在找到这一份工作之前,她针对小孩的名字做了一个精彩的分析报告,揭示了“Hillary”(希拉里)这个名字在美国历史上是如何变得流行的。本来这个名字处于正常的缓慢增长阶段,但是在比尔·克林顿成功竞选成为美国总统以后,该名字的使用数量开始激增,而最近它又开始快速地增长(希拉里·克林顿开始参选美国总统)。我很喜欢用这个例子说明问题,因为我自己的名字就是Hillary。她把这个分析结果放在自己的博客上,而最终这个结果刊载到了New York Magazine上——我认为她做的事情对于她的求职绝对有莫大的帮助,因为这项工作充分证明了她对于数据科学有着清晰的认识。