QCon 演讲火热征集中,快来分享技术实践与洞见! 了解详情
写点什么

数据科学家与软件工程师能否一人兼顾?

  • 2019-11-05
  • 本文字数:1726 字

    阅读完需:约 6 分钟

数据科学家与软件工程师能否一人兼顾?

在这篇文章中,作者试图说明软件开发人员和数据科学家这两种角色所需要的技能并不像人们所说的那样,它们其实并没有相差得那么远。


因为我有软件开发背景,所以当一些同事说一个人不能同时兼顾数据科学家和软件开发人员这两种角色时,我会感到很惊讶。此外,有很多人说数据科学家所需要的技能与软件开发人员所需要的技能是不一样的。虽然这些说法在某种程度上可能是对的,但在这篇文章中,我将试图说明这两种角色所需要的技能并不像人们所说的差得那么远。它们看起来并不像这样:



而是像这样:



事实上,数据科学也可以从软件开发领域获取经验。在本文中,我将提到一些可能会有用的实践。我的观点是,一名优秀的具备一定机器学习和人工智能知识的软件开发人员可以为企业带来极大的价值。


可能会有人问我为什么要写这篇文章。好吧,我感觉我们的行业里存在一些不好的风气。我从来都不喜欢那些所谓的“精英”人士,我也花了很多时间与那种“高高在上”的态度作斗争。在我的一个有关如何对抗焦虑、小我和过度热衷某些事物的演讲中,我就讲到了这个话题。当然,这只是我的个人观点,是基于我个人经验得出的,如果你有任何不同的想法,请在评论区留言。

简洁的代码


数据科学家都是聪明人,他们的数学能力和从不同角度看待数据的能力令人叹服。但是,有时候阅读和理解数据科学家的代码可能会是巨大的痛苦。在团队中,这可能会是一个大问题。优秀的软件开发人员学会了如何用简洁的代码来表达复杂的思想和概念。但在我看来,数据科学家在这方面还差得比较远。


另一种观点认为,编码只是数据科学家的一个临时工具。在未来,工具将朝着可视化的方向发展。这种说法在某种程度上也是对的。但即使是这样,编码也仍然是数据科学家工具箱中的一个宝贵的工具。软件开发工具也会朝着这个方向发展。例如,现在有各种 CMS 和开箱即用的解决方案可以帮我们快速创建网站。


但我们需要注意的是,这些工具究竟可以帮助我们走多远?另外,请想一想 CMS 开发人员与精通某种 JavaScript 框架的开发人员之间的薪水差异。在我看来,编码技能是必不可少的,至少在很长一段时间内是这样。在编码方面精益求精对于个人和整个团队来说都有巨大的好处。

版本管理和自动化


机器学习模型和神经网络最终会被部署到某种应用中,但有时候它们也需要进行重新训练和维护,其中一些需要额外的人工输入。软件开发人员知道在部署过程中可能会出现哪些风险,他们还知道如何通过(模型的)版本控制来降低这些风险,以及如何对部署和训练进行自动化。

数 学


之前已经说过,数据科学家具有高超的数学能力,这是毫无疑问的。但软件开发人员通常也具有扎实的数学功底,特别是那些拥有计算机科学学位的人。当然,他们很可能会把线性代数和概率论忘掉,但这个问题很容易解决。


最重要的是,优秀的软件开发人员能够快速地吸收知识,并将其应用到不同的技术中。如果一个开发人员具备了数据科学知识,他可以很容易地从 Python 转到 R 语言。

数 据


除了统计学家和数据科学家,还有谁会天天与数据打交道?是的,你们都知道我想要说的是谁。从职业生涯的第一天开始,开发人员就要学习各种存储、读取和显示数据的方法。SQL,一种可能会一直存在下去的语言,还可以转移到其他技术,如 Pandas。


除此之外,懂得如何使用 NoSQL 数据库(如 MongoDB)在近几年来也成了一项必备技能。开发人员也因此具备了大量非结构化数据方面的经验。另外,大多数软件开发人员都知道如何开发 Web 爬虫。

面向客户和演示


数据科学家需要为客户找到最佳的解决方案,并帮助他们改进业务。数据可视化和说明某些业务决策的基本原理是他们工作的组成部分。软件开发人员通常不太熟悉业务流程,但他们能够理解需求,并知道需要做些什么。技术团队负责人和软件架构师通常具备这些技能,所以在与客户的初始研讨会中,他们会显得非常有用。除此之外,如果开发人员经历过敏捷开发,他们可能会习惯于定期向利益相关者展示软件的功能特性。

结 论

在这篇文章中,我试图说明为什么软件开发和数据科学所需要的技能其实并没有相差得那么远。从软件开发到数据科学,对于优秀的软件开发人员来说应该不是什么大问题。


英文原文:


[https://rubikscode.net/2019/10/07/can-you-be-data-scientist-and-software-developer-at-the-same-time/


2019-11-05 11:021484
用户头像
陈思 InfoQ编辑

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

关注

评论

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

web前端培训vue3响应式reactive源码分析

@零度

前端开发 Vue 3

公有云厂商有哪些?排名是怎样?

行云管家

云计算 公有云 企业上云 云厂商

郑州商品交易所:数智一体化助力交易所数字化转型

星环科技

星环科技TDH社区版:让大数据分析触手可及

星环科技

体验有礼 | 1 分钟 Serverless 极速部署个人网盘,真网盘真好用!

Serverless Devs

阿里云 互联网

TDS:标签平台+API平台+数据共享平台,助力数据运营平台建设

星环科技

TDC 3.0 从数据分析到数据流通,数据云拓展新场景

星环科技

星环科技数据安全与流通新产品+原创合规体系方法论,加速数据安全落地!

星环科技

CRM系统可以拯救您的初创企业

低代码小观

初创公司 CRM 中小企业 CRM系统 初创型企业

netty系列之:给ThreadLocal插上梦想的翅膀,详解FastThreadLocal

程序那些事

Java Netty 程序那些事 5月月更

使用开源软件的优点和缺点是什么

爱吃小舅的鱼

Wally-DR6000/IPQ6000/802.11ax/ 2x2 2.4GHz&5GHz /1.7Gbps

wallys-wifi6

Linux wifi6 openwrt

星环科技StellarDB4.0正式发布:性能数倍提升,万亿级图数据库挖掘海量数据互联价值

星环科技

Apache IoTDB 在智慧养老家庭设备上的落地应用,节约99%存储成本

Apache IoTDB

“祖师级”技术人的哲理:认知、热爱、恒心

非凸科技

c++ C# MySQL 程序员 编程语言

Rainbond结合NeuVector实践容器安全管理

北京好雨科技有限公司

iview 如何实现文件上传并限制上传格式和大小

CRMEB

在Rainbond中一键部署高可用 EMQX 集群

北京好雨科技有限公司

京东优惠价格策略助手

江苏京酷电子商务有限公司

查询优化 京东 优惠券 转链

太极限了,JDK的这个BUG都能被我踩到

捉虫大师

jdk bug 5月月更

深入探索云原生流水线的架构设计

尔达Erda

DevOps 运维 云原生 架构设计 pipeline

星环科技多模型大数据基础平台TDH9.0:十种数据模型组合拳 打通大数据业务全场景

星环科技

【LeetCode】移除指定数字得到的最大结果Java题解

Albert

算法 LeetCode 5月月更

如何将你的 WordPress 网站置于维护模式

海拥(haiyong.site)

WordPress 5月月更

数据增强(二)-SamplePairing

AIWeker

人工智能 深度学习 数据增强 5月月更

【ELT.ZIP】OpenHarmony啃论文俱乐部——计算机视觉数据压缩应用

ELT.ZIP

计算机视觉 OpenHarmony 数据压缩 ELT.ZIP

星环科技Sophon 3.1发布,模型运管、隐私计算、边缘计算、知识全流程实现从数据到智能的全链路构建

星环科技

Zadig v1.11.0 发布:不止于环境,与开发者一起交付全球业务

Zadig

DevOps 云原生 CI/CD 软件交付

【ELT.ZIP】OpenHarmony啃论文俱乐部——即刻征服3D网格压缩编码

ELT.ZIP

3D OpenHarmony ELT.ZIP 图像视觉

将项目自动化发布到多台windows服务器上的工具有吗?哪个好?

行云管家

IT运维 自动化运维 服务器运维

星环科技打造自主可控的高性能数据库,开启国产化升级新篇章

星环科技

数据科学家与软件工程师能否一人兼顾?_AI&大模型_Rubikscode_InfoQ精选文章