数据科学家和工程师:各霸一方,一旦联手,所向披靡

简介:

0?wx_fmt=png


我们都可以独立工作

但若联手,便所向披靡


结对编程是指特地安排两名软件工程师坐在同一台工作站前,共同进行工作。


我参与了数百场技术讲坛、公司宣讲等活动遇到的第一个问题都会是为何我会热衷于结对编程的工作形式。我的回答是:高效稳定学习好,质量更可靠,没有信息孤岛,结对让工程师真正帮到彼此。我在Pivotal公司最大的办公室有125对,也就是250名工程师从事结对编程,所以我对此非常清楚。


由于结对编程的这些优势,让我们想要在公司将其从高强度学习扩展至机器智能领域。


0?wx_fmt=png


结对是最有效的学习方法


结对编程是快速创造高质量产品的最好方法,将机器智能元素融入产品,更不会拖你的后腿。


把数据科学家与工程师结成对子,将会使工程师快速具备机器学习研究的能力,让工程师如虎添翼,同时,数据科学家也有机会了解自己的研究成果是如何应用的,还可以写一些代码,做出产品雏形。


如此一来,每个人都能看到系统全局,而不会囿于自身专业的一隅。合作的两个人都能深入理解产品是如何端到端工作的,并尝试更快地构建系统。最重要的是,工程师和数据科学家互相帮助,取长补短,破解难题,所向披靡。


如果是两个工程师结对的话,彼此持续分享知识,省去了过多的头脑风暴会议。结对的做法源自于人类社会属性,因而能令人持续专注。工程师能够在一起互学互助,心无旁骛地每天工作超过8小时,简直就像在玩Facebook和看搞笑视频一样。


最终,代码的质量就会提高。要知道,代码的行数其实是越少越好。当两名工程师一起写代码的时候,他们能够互相交流,最终你会发现代码质量在飞速提高。


0?wx_fmt=png

Ben Rady: 如果所有的工程师都结对了,他们每个人的代码数量不是减半了么?


数据科学家过于学术化


经验丰富的软件工程师和数据科学博士们,像是来自于两个完全不同的世界,他们创新和解决问题的方法是大相径庭的。数据科学家通常热衷于深入研究而比较少去接触实际问题,他们善于开发新的机器学习理论,但并不会把这些理论用到实际产品中去。


与之对比鲜明的是,很多工程师对机器学习很有兴趣,但是没有接受过理论培训或专业学习。在这一点上,我认为工程师并不需要博士学位才能有效应用机器学习。特别是,当他们能够和博士们并肩工作的时候,他们就能够快速积累相关知识。如此说来,还有什么学习方法比与专家共事更为有效呢?


对我们来说,结对就意味着打破理论和实践之间的壁垒。我们认为,数据科学家不应该在一个产品研发环境中进行纯理论研究。研究的终极目的是为了将其成果付诸于产品。只有机器学习使我们的用户受益,方能体现出我们的价值。


孤立的团队无法获得成功


曾经(甚至现在),很多公司会设立独立的研究团队。这个团队会将孤身奋战,那些伟大的想法,可能要十年以后才能实现。到最后,只有少部分成果会慢慢地转化为实际产品,而大多数成果可能就此湮灭,很多研究实验室的工作就是这样令人扼腕。


这样的做法是有缺陷的,它把产品开发的研究阶段和应用阶段割裂开来。数据科学家得不到足够的反馈,而工程师也有很多客观限制,无法把研究转化为实际产品。一旦你把研究成果堆在墙角,产品设计理念也就无法实现,因此,这个方法必须改变。


结对编程,使我们能够立即将学术理论以非常灵活的方式付诸于实践。一些初创公司让机器智能专家独立于其他团队工作,这些专家大门不出二门不迈,根本没有真实客户信息来验证自己的想法。而我们恰恰反其道而行之,结对编程使我们能够将最新的机器智能理论快速用于实际场景。


在Helpful公司,我们整个团队的工程师和数据科学家都是结对工作的。我问过一些之前没有结对编程经历的工程师,在这里感觉如何。他们回答说,第一,颇具成果;第二,学习力Max。有一名工程师说,我现工作能够全情投入,并且大家也已经习惯于结对来解决问题,整个团队充满活力。


在Michael Lewis的新书中,他采访了Daniel Kahneman关于他与Amos Tversky合作荣获诺贝尔奖项的事情。Daniel再度将此成果归功于他们之间的关系,归功于他们结对工作,在关键思想中互相支持,最终创建了行为经济学。Kahneman的回答非常简洁:我们可以独立工作,但若联手,即为天才。

原文发布时间为:2017-02-06

本文来自云栖社区合作伙伴“大数据文摘”,了解相关信息可以关注“BigDataDigest”微信公众号

相关文章
|
机器学习/深度学习 人工智能 自然语言处理
AI时代的管理者需要掌握什么技能?74%高管认为是情商
世界经济论坛2020年发布《未来的就业报告》,对未来五年人工智能(AI)、机器人技术和自动化将如何改变劳动力做出了各种惊人的预测。
119 0
AI时代的管理者需要掌握什么技能?74%高管认为是情商
|
人工智能 供应链 安全
起底滴滴数据科学团队:面对超复杂线下场景,要数据驱动,但拒绝“唯数据论”
起底滴滴数据科学团队:面对超复杂线下场景,要数据驱动,但拒绝“唯数据论”
429 0
|
人工智能 算法 前端开发
“数据科学家”或许不再性感,但“数据团队”的产业化才刚开始 | 专访领英全球数据科学团队负责人
“数据科学家”或许不再性感,但“数据团队”的产业化才刚开始 | 专访领英全球数据科学团队负责人
221 0
|
机器学习/深度学习 人工智能 JavaScript
洞悉2020年数据团队建设,我们和清华、领英一起搞了个大事情,你也可以参与!
洞悉2020年数据团队建设,我们和清华、领英一起搞了个大事情,你也可以参与!
197 0
|
存储 SQL 前端开发
我是如何失去团队掌控的?一个技术总监的反思
我是一个不合格的技术总监,在过去的快三个月里。我带着从40多个人的研发团队(包含需求、开发、测试)里抽调出20多个人去为公司开疆拓土。在这快三个月中,我们一起奋战奋斗拼搏。在过程中,我通宵时间超过半个月,干到凌晨4/5点的日子数不胜数,干到凌晨1/2点日子更是习以为常。整个团队绝大多数人近乎两个月没有周末,辛苦异常,是实实在在的高峰体验。但是三个月后,我带着失败和一身的惨痛教训回到公司。
|
机器学习/深度学习 算法 大数据
|
数据采集 分布式计算 大数据
业界 | 别跟风了!你的公司根本不需要数据科学家
数据科学家不是魔法师,当所需的数据不可得或者质量很差的时候,数据科学家能做的很有限,这已经超过了技术的范畴。企业管理者如果能从全局出发部署数据战略,才能真正解决当下数据科学家的痛点,这样数据科学家才能发挥作用解决公司的痛点。
1254 0
|
机器学习/深度学习 人工智能