不要成为数据科学家

2020-05-07 06:18:29

当有人问我如何进入数据科学领域时,我给出的建议。转而成为一名软件工程师。

这是一篇评论文章。我很想听听你下面的反驳意见。

每个人和他们的祖母都想成为一名数据科学家。但是,虽然数据科学可能是21世纪最性感的工作,但这打折了另一个回报丰厚的高薪职业--软件工程师。

我经常收到应届毕业生和转行人士的信息,询问我如何进入数据科学领域。我告诉他们去做一名软件工程师。

两者都有经验,我会试着说服你成为后者。

与数据科学相比,软件工程领域的工作岗位多了一个数量级。

以下是在谷歌上搜索“数据科学家”和“软件工程师”工作后的几张截图。

这是7616个数据科学工作岗位,而软件工程工作岗位为53,8893个。这只是美国的就业情况,但其他国家也出现了类似的结果。

根据GlassDoor的说法,数据科学家赚的钱更多,但我未经检验的假设是,数据科学的工作平均也更高级。

也就是说,如果Open AI给你100万美元的薪水,我建议你接受它。

管理层通常对“数据科学”的含义没有达成共识。考虑到业务限制,他们也有可能没有严格遵循角色框架的奢侈品。

这意味着“数据科学家”的职责因公司而异。

虽然软件工程师和数据科学家之间可能存在一个理想的角色范围,但在现实中不太可能遵循。对于仍在建设基础设施的初创企业来说,这一点尤其适用。

被录用的应聘者最终会致力于公司目前需要解决的问题,而不是他们可能被录用的“角色”。

来自该领域同事的轶事证据是,许多数据科学家发现自己像软件工程师一样编写后端代码。我还认识其他“数据科学家”,他们用excel处理金融数据。

这与你在Kaggle比赛中长大的预期形成了鲜明的对比。

大多数公司不需要像软件工程师那样多的数据科学家。其他公司现在正在招聘他们的第一位数据科学家。

出于这个原因,许多数据科学家最终独自工作,即使他们与开发人员坐在同一张桌子上。

这可能会使获得反馈和第二意见变得困难。软件工程师要么不了解预测建模,要么忙于处理完全不同的问题。

相反,加入软件工程团队的好处之一是能够对同事说,“我认为我们应该以XYZ的方式实现ABC。你觉得怎么样?“。

准备好与管理层进行尴尬的对话,讨论为什么你花了两周的时间买的东西不能使用。

处理已解决的问题和未解决的问题是软件开发和人工智能之间的根本区别之一。

撇开错误和限制不谈,在开始任何工作之前,您应该知道大多数软件工程项目是否可行。对于ML就不能这么说了,因为您只有在构建模型之后才知道模型是否有效。

即使在每个公司都是人工智能公司的时代,大多数公司也没有支持它的基础设施,甚至不需要它。

最近,一家规模迅速扩大的初创公司的数据科学负责人在喝咖啡时分享了一些建议。

首先,你要找出问题所在,然后建立基础设施,然后再请来数据科学家。这不是一个快速的过程。(我转述)。

最近,另一家知名公司的第一个数据科学招聘人员向我发泄了自己的想法。她被迫在笔记本电脑上培训人工智能模型,而不是在云中。

如果你没有具体的问题需要解决,或者公司没有做好数据科学的准备,你可能会发现自己很难增加价值。

成为一名初级软件工程师就像获得技术MBA学位一样。每件事你都能学到一点。

您将通过观察您的Scrum领导者、高级开发人员或PM来学习管理构建软件。

如果你进入了一家拥有成熟工程团队的公司,几乎可以保证你会迅速提升自己的技能,并建立一个多面手的背景。

通过提供更全面的技术体验,软件工程在您决定进行更改时提供了更好的退出机会。

DevOps,安全,前端,后端,分布式系统,商业智能,数据工程,数据科学…。

我认识一些从软件转到数据科学的开发人员。如果你浏览一下数据科学的职位描述,你会立即注意到他们到处都是核心的软件开发技能。

如果您可以构建端到端项目,那么您还可以做的不仅仅是为Kaggle构建模型。您可以采用该模式,将其产品化,设置授权和条带化,然后开始向用户收取访问费用。那是你自己的创业公司。

我从不认为数据科学不能转让。根据数据做出决策是一项杀手级技能。但随着我们变得更加数据驱动,这也将成为每项工作中更加重要的东西。

随着人工智能变得商品化和更容易使用,软件工程师将开始使用它来解决他们的问题。

我可以教一个开发人员在一个下午构建SkLearning分类器。这并不意味着他们可以构建下一个AlphaGo,但它确实为他们提供了一种替代基于用户输入的硬编码条件逻辑。

数据科学家拥有统计学等专业知识,并对模型如何工作有一种直觉。但是DevOps和安全工程师也有他们自己的专业知识。

我会争辩说,这些都是普遍的,而不是不同的。一位经验丰富的软件专业人士可以在不同的专业之间移动,其速度比新进入者掌握专业的速度快一个数量级。

虽然我认为我们不会看到数据科学与软件工程的完全合并,但它确实感觉数据科学可以成为另一个软件工程专业。

尽管听起来很傻,但我在2014年进入软件工程行业,因为我担心人工智能会让其他所有工作都过时。

然而,从那时起,表盘几乎没有移动到特定环境之外。技术采用缓慢,人工智能的范围比媒体希望你相信的要小。

与其他职业相比,机器学习离自动化软件工程更远。虽然我们有初创公司开发了像支持人工智能的代码完成这样的很酷的产品,但编写代码并不是真正的工作。这项工作是用技术解决问题。

首先,这是轶事。其次,我意识到我把数据科学家、ML工程师和人工智能研究人员混为一谈。但我认为这些论点仍然值得考虑,因为这是你的职业。

别看得那么严重。我更希望你研究一下,自己做决定。毕竟,这是作为一名数据科学家的一部分:)。