【CSDN 编者按】在当今数据量迅速增加的时代,数据科学和数据工程领域成为炙手可热的行业。然而,在数据科学家和数据工程师这两个岗位中,哪一个更为抢手呢?
本文内容主要探讨了数据科学和数据工程师在就业市场中的需求情况,并通过具体分析得出结论。本文已获得原作者授权,CSDN 翻译,转载请注明出处。
作者 | Mihail Eric,机器学习专家@亚马逊Alexa AI。斯坦福大学计算机科学硕士,曾担任斯坦福大学自然语言处理(NLP)研究助理。
译者 | 弯月 责编 | 郑丽媛 出品 | CSDN(ID:CSDNnews)
数据无处不在,而且在不断增加。过去几年,数据科学吸引了越来越多的关注。然而,如今的数据科学就业市场究竟如何?
为了方便读者快速了解本文的主要观点,我们用两句话概括:
在各大公司发布的数据科学职位中,70% 是面向数据工程师的。在培养下一代数据和机器学习从业者时,我们更加重视工程技能。
在我从事面向数据专业人员的教育平台开发期间,我思考了许多关于数据驱动(机器学习和数据科学)职业市场的发展状况。
我曾与数十位数据领域的优秀人才交流,其中不乏来自全球顶尖机构的学生。然而,我发现很多人并未真正理解哪些技术是最关键的,也不清楚哪些技能能让他们在职场脱颖而出。
数据科学家的主要职责包括机器学习建模、数据可视化、数据清洗(与SQL打交道)、工程以及生产部署。
那么,如果你要推荐给新手的学习课程有哪些?
数据胜过空谈。因此,我决定分析2012年以来Y-Combinator公司发布的数据相关岗位招聘信息。我研究的主要问题包括:
如果你想了解完整的细节和分析过程,请继续阅读下面的内容。
我选择了分析Y-Combinator孵化的一些公司,即那些声称将数据工作作为其价值主张一部分的公司。
为何只分析Y-Combinator的公司?因为它们提供的公司名录非常便于搜索,而且可以爬取。此外,作为一个前瞻性极强的孵化器,Y-Combinator在过去的十年里为来自全球各行各业的公司提供了大量资金,我认为这些样本具有代表性。
我抓取了2012年以来每家Y-Combinator公司的首页URL,最终用于分析的公司约有1400家。
为何不考虑2012年以前的数据?因为正是在那一年,AlexNet赢得了ImageNet大赛,引发了机器学习和数据建模的热潮,并一直持续至今。
基于这批公司,我使用关键词进行筛选,减少需要处理的公司数量。具体来说,我只考虑了主页包含以下词汇之一的公司:AI、CV、NLP、自然语言处理、计算机视觉、人工智能、机器、ML、数据。此外,我忽略了那些网站链接无效的公司。
这一步可能会产生很多误报(即包含上述词汇但实际不从事数据工作的公司),但我想尽可能提高召回率,因为我可以手动检查各个网站的相关职位。
在过滤掉一些公司后,我浏览了每个网站,找到他们的招聘信息(通常在求职、工作或招聘页面),并记录了包含“数据”、“机器学习”、“NLP”或“CV”的职位。最终,我得到了大约70个正在招聘数据相关职位的公司。
注意:我有可能遗漏了一些公司,因为有些网站上的招聘信息非常少。此外,有些公司没有正式的招聘页面,希望求职者直接通过电子邮件与他们联系。我忽略了这两种公司,所以它们不属于此次分析的一部分。
此外,这项研究的大部分工作是在2020年底完成的。随着各个公司主页的定期更新,公开招聘的职位可能已经发生变化。但我认为这不会严重影响最后的结论。
在深入研究结果之前,让我们先了解一下每个数据岗位的常见职责。我们将重点介绍以下四个职位,并简要说明它们的工作内容:
数据科学家:使用各种统计和机器学习技术处理和分析数据。通常负责构建模型,探索可以从数据源中学到的内容,尽管大多数模型是原型而非生产级的。
数据工程师:开发稳健且可扩展的数据处理工具/平台。必须熟悉SQL/NoSQL数据库,以及构建/维护ETL流水线。
机器学习(ML)工程师:通常需要同时负责模型的训练和生产化。需要熟悉一些高级ML框架,还需掌握构建可扩展的训练技术,以及模型的推理与部署流水线。
机器学习(ML)科学家:主要从事前沿研究。通常负责探索可以在学术会议上发布的观点。通常只需将最新模型制形成原型,然后移交给ML工程师,使其投入生产。
如果我们绘制各公司正在招聘的数据相关职位的频率图表,结果会如何?图表大致如下:
最显著的是,数据工程师的招聘岗位远多于传统数据科学家。在我们这个例子中,招聘数据工程师的公司数量比招聘数据科学家的公司多约55%,而招聘机器学习工程师的公司数量与招聘数据科学家的公司大致相同。
我们可以进一步分析。看看各个职位的头衔,似乎有很多重复。
我们可以通过合并职位来进行粗略分类。也就是说,找出描述大致相同的职位,然后将其合并到一个头衔下。
这一步运用了以下等价关系:
NLP工程师 ≈ CV工程师 ≈ ML工程师 ≈ 深度学习工程师(虽然领域可能不同,但职责大致相同)。
ML科学家 ≈ 深度学习研究员 ≈ ML实习岗位(ML实习岗位特别注重研究)。
数据工程师 ≈ 数据架构师 ≈ 数据总监 ≈ 数据平台工程师。
如果你不喜欢相对数量,可以看一下百分比:
如果将ML研究工程师归类为ML科学家或ML工程师,我可以选择这样做,但由于这是一个混合职位,所以我保留了它。
总体来看,合并后的差异性更加明显!开放的数据工程师职位比数据科学家多70%;ML工程师的职位也比数据科学家多40%;此外,机器学习科学家的数量只有数据科学家的30%。
与其他数据专业人士相比,数据工程师的需求越来越高。这反映了更广泛领域的进步。
大约在5~8年前,当机器学习刚开始兴起时,各个公司都需要从事数据分类的人员。但随着Tensorflow和PyTorch等框架的出现,深度学习和机器学习技术逐渐普及。
这导致了对数据建模技能的需求增加。
现在,各个公司通过机器学习和建模洞察产品的瓶颈集中在数据的问题上。例如,如何标注数据?如何处理和清理数据?如何将数据从A移动到B?如何高效完成这些日常工作?
所有这些工作都需要良好的工程技术。
虽然这些工作听起来很枯燥,但侧重于数据的传统软件工程可能是我们现在真正需要的。
多年来,我们一直对数据专家的工作着迷,他们通过出色的演示和媒体报道为原始数据注入了生命力。回想一下,你最后一次在科技网站上看到关于ETL流水线的文章是什么时候?
我认为,在数据科学的培训与教育项目中,最被忽视的部分就是数据工程。除了学习如何使用linear_regression.fit之外,我们也应该学习如何编写单元测试!
那么,这是否意味着你不应该学习数据科学?并非如此。
这只是意味着竞争会越来越激烈。市场上数据科学的职位会越来越少,不足以满足所有新手的需求。
但是,有效分析数据并从中提取可行见解的需求依然存在。只不过,这些人的技术必须过硬。
仅从Tensorflow网站下载经过Iris数据集预训练的模型,不足以胜任数据科学的工作。
显然,市场上有大量的机器学习工程师职位,各个公司都需要既能构建模型又能部署模型的混合型人才。换句话说,不仅能够使用Tensorflow,还能利用源代码构建模型的人。
此外,机器学习研究的职位也并不多。
机器学习研究被广泛宣传,因为最尖端的技术都诞生于此,包括AlphaGo、GPT-3等。
但对于许多公司,特别是初创公司,在种子轮融资中就需要向投资者证明其产品适合市场。对于这些公司来说,一个接近完美的模型扩展到上千名用户可能更有价值。
我并不是说机器学习研究不重要。只是这种职位可能大多出现在该行业的研究实验室中,因为这些机构有能力承担长期的大规模投资,而不像处于种子阶段的创业公司那样。
我认为,让新手对数据领域建立合理且正确的期望非常重要。我们必须知道,如今的数据科学已大不相同。希望本文能帮助你了解当前的数据科学状况。只有了解自己所处的位置,才能明确前进的方向。