AI 科技评论按:「数据科学家」可谓是从「大数据」和「机器学习」双双开始普及之后催生的热门职位之一了,许多接触或者学习了机器学习的学生和程序员都期待自己能够成为数据科学家。
不过,从「会洗数据写代码」到「优秀的数据科学家」之间到底有多少距离,很多人都说不清。对于不同的企业,数据科学家的作用会有各种各样的不同,甚至同一个企业中不同团队的数据科学家都会有不小的区别。就算是想要为自己的数据科学家构建一个标准成长路径的企业都会觉得非常苦恼。
如果没有清晰的成长路径,这些充满天分的计算机魔法师们就会有遇到瓶颈的风险。他们可能很擅长做出深刻的发现,但是他们可能永远都无法真正地成长、永远都无法带来企业所期待的真正的投资回报。
带着这个问题,the Seattle Data Guy 采访了西雅图周边的许多顶级科技企业的管理人员,尝试了解他们对企业里的高级数据科学家有哪些期待、希望数据科学家有哪些产出。这些他们了解到的信息相信不仅可以帮助想要成长的数据科学家,也可以帮助想要激励数据科学家成长的企业管理者们。AI 科技评论把他们的发现介绍如下。
根据访谈得到的结果,the Seattle Data Guy 发现科学家的成长和编程、算法设计都没什么关系(这都是初级数据科学家的基本功了)。当问及这些管理者希望从更资深的数据科学家身上看到什么时,得到的回答是「自我驱动的员工,他们能简明地沟通、能为自己考虑、对公司业务有深入的了解,而且能管理自己的上级」。
为了让数据科学家成长,他们迎接的挑战也需要超出工作的技术部分之外。数据科学家是有机会改变公司决定的一群人,他们的肩膀上担负着责任;这也意味着他们应当对自己的工作内容有主人翁感。他们要能够质疑自己的数据来源、对信息的洞察要简明扼要、了解公司的业务并且能够帮助自己的上级领导。
不要仅仅质疑自己的结论,还要质疑自己的数据
一个资深的数据科学家不会在拿到数据后就直接信任它的。他们会反复查验数据,寻找其中的偏移、丢失的数据、重复数据等等。
数据总会有自己的缺陷。如果你也曾在数据上花过成百上千小时,那你一定知道这是什么意思。当你在数据中浏览,或者把数据绘成图表的时候,你常常会发现一些奇怪的模式,你会不禁停下来琢磨:「为什么 x 和 z 看起来这么像?」年轻的数据科学家往往会花太多精力在完成项目本身上,他们还没有学会如何停下来仔细分析这些奇怪的模式。这些模式的出现有可能是因为系统的默认输出就是 -1 或 1 这样的特定值,也有可能是让爬虫收集电商网站上的顾客购买数据时出现了偏差,以及其它一千多种可能的原因让数据产生了误导性。
出现了这些模式不代表数据就一定是错误的、没法使用的。而且即便收集到的数据准确的时候,对数据的操作也还总会带来一些瑕疵。当设计报告、算法和量测指标时,这些因素都应当被考虑到其中。一个有经验的数据科学家不仅仅会尝试寻找数据中的缺陷,他甚至会期待着这些缺陷出现。
「可信数据源」这个词汇会经常在数据团队中出现。它所指的就是多个团队都能认可正确性的原始数据源。作者自己刚开始做数据科学家的时候就非常天真,在最早的一个项目中,他了解到了他们团队把一个数据源标识为了可信数据源。然后在接下来的几个月里他都在为这个「可信数据源」开发分析和应用工具,以便超过 200 位管理者和总监可以访问这个数据源。不出意外地,没过多久就发现别的一些量测指标出现了一致性问题。这时候作者才意识到,他所用的这个数据源其实是真正的可信数据源经过多次 ETL(提取、转换、加载)之后的数据源。
在和西雅图的多位科技企业管理者交流过以后,作者发现这事其实很常见。年轻的分析师、数据科学家、经验不足的员工都过于信任他们的数据源。年轻的、经验不足的员工一般来说都急于把工作完成。这就不可避免地让他们更少地理解数据真正的状况。他们并不会追究「为什么」,而是花更多时间确保产品的「功能性」。那么他们就会忽略掉数据中的缺陷。
一个数据科学家想要,就要停止「做出一个达到要求的算法或者系统然后署上大名结束」的做法,他还需要负起责任,理解数据、弄清数据中的缺陷。这样才能在和上级沟通的时候针对自己的各种假设进行完整的沟通。作为数据科学家,如果出现了不好的输出的时候怪罪数据有问题,那他是没法成长的。
能简洁地表达自己的发现的价值
一个数据科学家如果想要成长,他对自己的要求就不能只是做一个合格的程序员 & 统计员。他必须学会如何成为一个沟通者,必须掌握简洁地表达自己的发现的能力,以及能够告诉自己的上级应该如何处理这些信息。
给自己的总监以及其它管理层成员展示研究过程中收集到的所有的的图表、所有的数据和所有的技术信息以表明自己工作得非常努力,这听上去还不赖。尤其是,数据科学领域内有时候要花几个月的时间才能在某一个问题上做出有价值的进展(背后自然是有原因的)。不过,在一切结束之后,总监们并不需要过多的信息。
知道重点的信息,以及知道基于这些重点信息应该做什么,对于总监们来说就足够了。你的总监可能还有另外 8 支团队要管,那你跟他讲很多 ROC、讲很多为什么选了这个算法而没有选另一个,就不是很有帮助。大多数的时候你都会发现总监其实只需要 2 到 3 个简单的要点汇报。有时候甚至简单的「是」、「不是」都比「可能…… 在某些条件下…… 这个那个…… 第一种可能性下有这个危险,第二种可能性下有另一些危险」更有用。一个有经验的数据科学家会知道如何仔细打磨自己的洞见、如何浓缩执行步骤,以此来给自己的上级提供真正的帮助。如果你的上级想要知道更多的信息,他会开口问的(并且一个好的数据科学家总是答得上来的)。说到底,管理层们不喜欢陷在一堆不能帮助他们做出更好的决定的多余信息里面。
了解自己公司的业务
当数据科学家换工作的时候,没能在上班第一天就完全了解新公司的所有情况是完全正常的。除了数据源、代码库以及其它一些公司特有的系统之外,还有很多别的东西需要学习。他们需要了解接下来要打交道的每天的运营数据,也需要知道公司现在面临的问题。不过,一个有经验的数据科学家还需要能够快速理解公司的业务。
千万不要全神贯注磨炼自己的技术能力,然后对公司业务只是一知半解。要学习如何和别的团队协同工作、参与到公司的项目中去、给自己一些听取别人意见的机会。数据科学家完全有可能要连续参与各种不同类型的、面对各种不同问题的项目,他们需要能够快速适应。
刚入行的开发者往往会关注磨练自己的技术能力多于关心自己公司的业务。和很多其它行业一样,重复性的繁重工作都是在较低的级别上进行的(在这里就比如敲代码、数据清洗等等),这就让执行这些任务的人没有时间深入琢磨他们自己应该如何帮助改善公司的业务。然而,在数据科学家工作的头几年中,了解公司的业务应当是一个重要成长阶段,这能确保他们建立起多种多样的技术能力。有经验一些的数据科学家就需要多花点注意力考虑自己的项目的「为什么」。如果一个管理者不挑战自己的有经验的数据科学家团队、不让他们成长并学习公司的业务,那么不能很好成长的责任管理者也要承担起来。每年或者每隔几个月,管理者们都要让经验的数据科学家们面对新的挑战,确保他们在成长。不然公司的业务就明显错过了最大的投入产出比。
管理自己的上级
在任何行业中管理自己的上级都不是一件容易的事情。在科技行业中,根据上级主管的技术背景不同,这件事有时候会显得非常困难。关注业务的管理者可能没有什么经验带领技术团队,对于有经验的数据科学家来说在这种时候有能力管理自己的上级就至关重要。善于管理上级的数据科学家能理解别人。管理上级需要数据科学家(或者公司中任何一个在乎这件事的人)花一些时间理解上级的需求。值得考虑的不仅仅是公司的需求。你的上司对你有什么需求、对自己又有什么需求,一旦你了解了这些,你就明白了是什么在驱动他们。这样,在你的上司开口讲他的需求之前你就知道应该期待什么。这能帮助你们建立信任,也能让你的管理者和总监们给你分配更多的资源和注意力。这个世界上不是只有你一个人需要成长,你的上级也想要成长的!作为有经验的(不管哪个级别的)员工,你很清楚帮助别人成长、帮助别人达成目标的时候你自己也有收获。
总结
企业对数据科学家的期待不仅仅是创造算法以及管理大量的数据而已。有经验的数据科学家的价值也不仅仅体现在他们的技术能力上,还体现在他们磨练出的软技能上。数据科学家找到的信息和算法要帮助推动高层管理者做出决策。总监和副总裁们可能管理着价值上千万的团队、资源、设备、项目以及公司里其它各种各样的东西,而数据科学家的所有输出都应当是他们可以理解的。这就意味着,为了让数据科学家成长、为了给帮助公司发展业务,他们也就需要知道哪些东西是对公司业务有价值的。
viathe Seattle Data Guy,AI 科技评论编译。
领取专属 10元无门槛券
私享最新 技术干货