写点什么

为什么我劝你不要当数据科学家?

2020 年 5 月 09 日

为什么我劝你不要当数据科学家?

数据科学家这一职位越来越火热,人人都想从事数据科学,这不仅因为这份工作听上去高大上,更重要的是,它真的是一份高薪的工作。但是,数据科学家是人人都能做得来的吗?


本文系一篇观点文章,我很乐意听到读者的反驳意见。


成为一名数据科学家是每个人的梦想。甚至连奶奶级的人也想当数据科学家。但是,尽管数据科学可能是 21 世纪最性感的工作,但另一个报酬也同样丰厚的高薪职业——软件工程师,却被低估了。


我经常会收到写刚毕业的学生和想改行的人写来的信,向我寻求从事数据科学的建议。我给他们回信说应该要去做软件工程师。


鉴于我在数据科学家和软件工程师都有经验,我会试着说服你去成为软件工程师。


1. 软件工程的工作岗位更多

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


下面是我在 Google 上搜索 Indeed(一家招聘网站)上的 “数据科学家” (Data Scientist)和 “软件工程师” (Software Engineer)岗位的截图。


Google 搜索美国 Indeed 数据科学家的结果截图


Google 搜索美国 Indeed 软件工程师的结果截图


从搜索结果来看,数据科学岗位有 7616 个,而软件工程的岗位有 538893 个!这还只是美国的就业情况,但其他国家也显示出类似的结果。


据 Glassdoor 的调查结果称,数据科学家的收入更高,但以我未经验证的假设是,数据科学领域的工作平均而言也更高级。


来源:www.glassdoor.ca


来源:www.glassdoor.ca


也就是说,如果你得到了 Open AI 给的 100 万美元薪水的工作机会,我会建议你要抓住这个机会。


2. “数据科学” 的含义还没有达成共识

管理层对 “数据科学” 的含义往往没有达成共识。也有可能是由于业务上的限制,他们没有办法生搬硬套一个角色框架。


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


粗略描述


虽然从软件工程师到数据科学家之间的理想角色有可能存在,但在现实中却不大可能实现。这点对于那些仍在建设基础设施的初创公司来说尤为如此。


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


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


而这与参加过 Kaggle 的你的期望大相径庭。


3. 数据科学是孤军奋战的工作

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


由于这个原因,许多数据科学家最终都将是孤军奋战,即使他们和开发人员在同一张桌子上工作,也是如此。


这可能会导致很难获得反馈和第二种意见。软件工程师要么不懂预测建模,要么忙于处理完全不同的问题。


相比之下,在软件工程团队的好处之一就是能够对同事们说: “我认为我们应该用 XYZ 的方式实现 ABC。你有什么看法?” 。


要从事数据科学的工作,请做好和你自己或者一只橡皮鸭进行这样的对话的准备。



4. 数据科学是探索性的工作

你要做好与管理层进行尴尬对话的准备,解释为什么你花了两个礼拜的时间做的东西还不能用。


致力于解决已解决的问题与未解决的问题,是软件开发与人工智能的根本区别之一。


撇开错误和约束不谈,在开始任何工作之前,你就应该知道大多数软件工程项目是否可行。但在机器学习领域就不能这样说了,因为你只有在构建模型之后才会知道模型是否有效。


5. 公司还没有为人工智能做好准备

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


最近,一家快速扩张的初创公司的数据科学负责人在与我喝咖啡的时候分享了一些建议。


首先,要找出问题所在,然后构建基础设置,再引入数据科学家。这可不是一个快速的过程。(我的转述大意)


最近,另一家知名公司的从事数据科学的零号员工向我发泄。她吐槽称,她被迫在笔记本电脑上而不是在云端上的大数据训练人工智能模型。


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


6. 软件工程传授通用技能

成为一名初级软件工程师就像获得了技术领域的 MBA,你所学到的东西都只不过是沧海一粟。


你要学习数据库、云技术、部署、安全性和编写简洁的代码。


你要通过观察 Scrum 领导、高级开发人员或项目经理来学习如何管理软件的开发。


你要通过代码审查来得到指导。


如果你进入的公司拥有一支成熟的工程团队,你几乎可以保证你会很快提升自己的技能,并打造出一个通才的背景。


7. 软件工程更具可转移性

通过提供更全面的技术体验,当你决定是时候改变时,软件工程提供了更好的退出机会。


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


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


来源:Indeed


如果你能构建端到端的项目,那么你还可以做更多的工作,而不仅仅是为 Kaggle 构建模型。你可以采用该模型,将其产品化,设置授权和条码,然后开始向用户收取访问费用。这就是你自己的初创公司。


我从来不认为数据科学是不可转移的。根据数据做出决策是一项杀手级技能。但随着我们变得越来越以数据为导向,这也将成为我们每一项工作的一部分。


8. 机器学习将成为软件工程师的工具

随着人工智能的产品化和易于使用,软件工程师将开始使用人工智能来解决他们的问题。


我可以用一下午的时间教会开发者如何构建 Sklearn 分类器。但这并不意味着他们可以构建下一个 AlphaGo,不过,这确实给了他们一个替代基于用户输入的硬编码条件逻辑的选择。


数据科学家有专业知识,比如统计学,以及对模型如何工作的直觉。但 DevOps 和安全工程师也有自己的专业知识。


我认为这些都是常见的,没有什么不同。 一个经验丰富的软件专业人员在不同专业之间的转换速度比一个新入行的人选择一个专业的速度要快一个数量级。


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


9. 人工智能不会取代软件工程师

尽管这观点听起来很傻,但我在 2014 年进入了软件工程领域,因为我担心人工智能会让其他工作都被淘汰。


然而从那时起,这一状况就几乎没怎么变过。技术采用的速度很慢,人工智能的应用范围比媒体想象的要窄得多。


与其他专业相比,机器学习离自动化软件工程更远。虽然我们有初创公司在构建酷炫的产品,比如人工智能代码完成,但编写代码并不是真正的工作。这项工作是用技术来解决问题。


在奇点出现之前,软件工程仍然将是一项宝贵的高薪技能。


结 语

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


我姑妄言之,你姑妄听之,不必太过当真。我希望你自己研究一下,然后再做决定。这毕竟是作为数据科学家的一部分。


说到底,我们的工作就是解决问题。


原文链接


https://towardsdatascience.com/dont-become-a-data-scientist-ee4769899025


2020 年 5 月 09 日 16:192794
用户头像
陈思 InfoQ编辑

发布了 576 篇内容, 共 209.7 次阅读, 收获喜欢 1206 次。

关注

评论

发布
暂无评论
发现更多内容

2021百度之星报名开启 特设“小星星”奖项鼓励少年AI人才

百度大脑

AI 百度之星 少年

OCR性能优化:从神经网络到橡皮泥

华为云开发者社区

神经网络 机器学习 OCR 橡皮泥 CNN网络

【Flutter 专题】124 日常问题小结 (三) 自定义 Dialog 二三事

阿策小和尚

5月日更 Flutter 小菜 0 基础学习 Flutter Android 小菜鸟

聊聊微服务治理的落地问题 | Geek大咖说第二期

百度Geek说

微服务 自动化 微服务治理

集成学习中的随机森林

华为云开发者社区

机器学习 决策树 随机森林 集成学习 Bagging

VSCode 无鼠标操作快捷键对比Atom

追风的少年

「Adobe国际认证」关于 Adobe Photoshop 转换背景和 Photoshop 图层

Adobe国际认证

并发王者课-青铜6:借花献佛-如何格式化Java内存工具JOL输出

技术八点半

Java 多线程 并发 并发王者课

Qemu KVM Guest增强简述

焱融科技

云计算 虚拟机 高性能 存储 qemu

​量化交易系统开发源码,马丁倍投策略交易平台搭建

WX13823153201

BPMN工作流基本概念!详解开源工作流框架Activiti

攻城狮Chova

工作流引擎 Activiti PVM

并发王者课-青铜5:一探究竟-如何从synchronized理解Java对象头中的锁

技术八点半

Java 多线程 并发 并发王者课

BI系统里的数据赋能与业务决策

薄荷点点

数据产品经理 决策 BI 数据驱动 风险识别

关于使用Navicat工具对MySQL中数据的复制和导出的一点尝试

攻城狮Chova

MySQL navicat

实测Tengine开源的Dubbo功能

捉虫大师

dubbo 网关 tengine

谋而后动:解读数仓计划生成中行数估算和路径生成的奥秘

华为云开发者社区

计划 数仓 GaussDB(DWS) 查询语句 估算

索信达控股:金融机构如何打造最适合自己的个性化推荐系统?

索信达控股

大数据 金融科技 金融 个性化推荐 营销数字化

MySQL 数据库救火:磁盘爆满了,怎么办?

华为云开发者社区

数据库 磁盘 MySQL 数据库 日志文件 磁盘爆满

最佳入门系列 | 何为服务网关?

架构精进之路

微服务网关 5月日更

为什么你的Docker容器刚启动就停了?

运维研习社

Docker Linux 5月日更

Django 之视图篇

若尘

django 视图 Python编程 5月日更

从源码中来,到业务中去,React性能优化终极指南

有道技术团队

大前端 React 有道精品课

阿里云联合中国信通院发布《云计算开放应用架构》标准,加速云原生应用规模化落地进程

阿里巴巴云原生

容器 开发者 运维 云原生 k8s

合成作战指挥平台建设,情指勤一体化系统开发解决方案

WX13823153201

☕️【Java 技术之旅】从底层分析LockSupport原理机制

李浩宇/Alex

Java JVM lock锁 5月日更 LockSupport

集群镜像:实现高效的分布式应用交付

阿里巴巴云原生

数据库 容器 开发者 云原生 存储

合作伙伴眼中的HarmonyOS 专访方太智能厨电专家俞贵涛

科技汇

教你用User Story设计BI驾驶舱

薄荷点点

数据产品经理 用户故事地图 产品需求

2021年爆火的低代码开发技术,对企业而言有什么好处?

优秀

低代码

网格策略交易软件,量化马丁倍投交易机器人

13823153121

全文搜索引擎技术详解之Apache Solr的使用

攻城狮Chova

solr 全文搜索 5月日更

技术为帆,纵横四海- Lazada技术东南亚探索和成长之旅

技术为帆,纵横四海- Lazada技术东南亚探索和成长之旅

为什么我劝你不要当数据科学家?-InfoQ