其他
你不一定要点蓝字关注我的


本文作者:小土刀 微博:@小土刀

公司的数据部门通常有三种角色:数据科学家、数据工程师和架构工程师,但许多事实证明这样的分类方法既不科学也不高效。结合工作中的经验,我认为『数据科学工程师』这一角色才是发展方向。这里我们来聊聊什么是,以及如何成为一个优秀的数据科学工程师。


为什么需要数据科学工程师

关于数据科学部门的现状,《工程师要不要写ETL?——教你构建高效的算法/数据科学部门》一文已经把最大的痛点写了出来,

总结归纳一下这部分,简单来说就是『数据科学家』没有工程思维,『数据工程师』没有统计思维,『架构工程师』成了运维人员。大家的目标都不一致,整个部门运作起来摩擦力当然是巨大的。

如何解决这个看似无解的问题呢?上文中提出的方案是工程师制造积木,数据科学家拼积木,但是这对数据科学家和工程师本身都提出了极高的要求,对于小团队来说,也很难找出一条分界线来划分科学家与工程师。

什么是数据科学工程师

我决定换一个思路,与其划分边界,不如模糊边界。于是,数据科学工程师这个角色就成了自然而然的选择。那么数据科学工程师的基本要求是什么呢?至少应该满足下面的要求,并在某一方面有深入思考与实践:

这样一来,每个人都能互相理解和认同彼此的工作,即使人数不多,也足以成为一支极具战斗力的团队。依照个人在不同领域的优势进行扬长避短,而不是利用固定的角色来限制发展。

但是,这个角色的门槛非常高,需要在学术界和工业界都有一定经验,更需要有一定的商业嗅觉,最重要的是一颗开放且不断学习的心。

如何成为优秀的数据科学工程师

首先要强调的是,全知全能的人大约是不存在的,放到数据科学工程师这里同样如此,本文中的数据科学工程师,更倾向于把数据和分析结果真正应用到产品中这个方向(另一个方向是提供商业分析支持,这需要对市场、商业、金融和运营有比较深入的理解,我不太了解,暂时不涉及)。简单来说就是原来『数据科学家』和『数据工程师』两者的结合。

至于『如何成为』这类的问题,大约是有标准答案的,坚持刻意练习与思考总结,理论结合实践,向优秀前辈学习。不过这种漂亮话说出来没啥用,听起来也没啥用。

我这里倒有一个简单易行的办法:做一个自我数据管理平台。通过实际『做』来真正『学』,在不知不觉中『成为』数据科学工程师。

为什么这个主意不错呢?有以下几个原因:

在我看来,没有什么比全程参与更能学到东西了,虽然每一环节都是『输入->处理->输出』,但是知道每个环节是如何处理的,更能协调好各个部分的效率和功能,让一加一大于三。

具体来说,能做要做的东西太多了,比如:

上面所说的内容,也就对应于下面的技能集。

数据科学工程师技能集

参考 Swami Chandrasekaran 制作的数据科学家地铁图,根据自己的理解进行了重新分类和总结(注:知识点不是百分百全)

基础

统计

编程

机器学习

数据处理流程

总结

真正动手去做一个像样的产品,并且真正用起来才是最锻炼人的。不要限制自己,其实没有条条框框,想做,就去试试。

唯一要注意的就是,累了的时候,想想那时意气风发豪情万丈的自己,别停下。

参考链接




太阁实验室有趣,有用,有效;刷项目,做实战,捅破技术那层纸论码农的自我修养WeChat ID: bit_tiger长按二维码,关注我哟~
点击“阅读原文”,获得更多精彩

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存