如何组织你的数据科学和工程团队?

建议
作者

Rachel Thomas

发布日期

2016年12月8日

我有时会收到询问数据科学相关指导的邮件,我将在这里分享我的回答,作为数据科学建议专栏。如果你遇到了数据科学相关的难题,请发邮件给我:mailto:[email protected]。请注意,问题可能会为了清晰或简洁而进行编辑。

问:你好 Rachel,我是一家初创公司的工程副总裁,我们正日益将数据和机器学习算法视为核心资产。在考虑接下来的几次技术招聘时,我们希望招聘能够加速我们数据科学团队工作的工程师,所以我正在做一些招聘前的研究,以了解专注于支持生产级机器学习管道的工程团队是如何构建的。我想了解的一些问题包括:

答:这个回答基于我作为一名数据科学家的经验、面试数据科学职位的经验以及与许多数据科学家的交流。我曾目睹雇主经历多次数据科学团队的重组。

数据科学和组织结构方面存在很多潜在的陷阱(无论你选择哪种方式)。我冒昧地扩展你的问题,涵盖数据科学与其他团队以及数据工程之间的关系。考虑以下情景:

建议

将所有数据科学家放在一个单独的团队中,几乎不可能让他们更好地与公司其他部门的工作整合。将你的数据科学家分布在公司各处,但也要有一个团队在公司内部进行数据科学的推广工作。垂直产品团队需要知道数据科学能够实现什么,以及如何最好地利用数据科学。对于一个嵌入在团队中的孤立数据科学家来说,很难在该团队中倡导数据驱动决策的作用。

数据科学家应该同时向数据科学经理和产品团队内的经理汇报。你需要大量的沟通:以确保团队获得最大价值,并确保数据科学家找到了有意义的工作。一个非常有效的方法是让一半的数据科学家每年(甚至更频繁地)轮换到不同的团队。

尽管将机器学习、工程以及数据/管道/基础设施工程都设置为独立的岗位很常见,但请尽量避免这种情况。这会导致大量重复或未被利用的工作,尤其当这些岗位位于不同的团队时。你希望招聘具备这些技能一部分的人:能够为他们所需的数据构建管道,使用这些数据创建模型,并将这些模型投入生产。你不可能招聘到很多能够做所有这些事情的人。因此,你需要为他们提供培训。总的来说,大多数公司最未被充分利用的资源是他们自己的员工,而数据科学家的情况甚至更糟(因为“数据科学”涵盖了如此广泛的可能技能)。科技公司没有提供足够的在职学习、培训和指导机会,浪费了员工的潜力。你的员工聪明且渴望学习。准备好提供培训、结对编程或研讨会,帮助你的数据科学家弥补技能差距。我总是告诉那些对数据科学和工程都感兴趣的学生,你对软件开发了解得越多,你就会成为一名更好的数据科学家。

即使你拥有既是数据科学家又是工程师(也就是说,他们可以创建机器学习模型并将这些模型投入生产)的人才,你仍然需要将他们嵌入到其他团队中,而不是把他们隔离在一起。否则,组织对他们正在做的事情就不会有足够的理解和认同,而且他们的工作也不会像需要的那样与其他系统充分整合。

“数据科学家”这个术语至少指代 5 种不同的工作,因此沟通和清晰度是关键。公司需要明确自己的需求是什么,以及招聘的岗位是什么。我作为求职者可以亲身告诉你,很多公司想招聘数据科学家,但并不确定为什么,或者他们将如何使用数据科学。你应该招聘对将要从事的岗位感兴趣的人。你可能找不到一个既有兴趣用 C 语言编写机器学习实现,又能广泛使用 Google Analytics 的候选人,尽管这确实是我遇到过的一个真实职位描述。请注意,我说的是“感兴趣”,而不是“已经具备技能”。假设任何申请者都会在工作中学习大量新技能(如果不是,他们很快就会感到无聊)。

延伸阅读:在写完这篇博文后,我偶然看到了一篇题为《数据科学的谬误》的优秀文章,该文章详细介绍了公司在将数据科学融入其组织时可能遇到的其他几个问题。