摘要

1) 一句话总结 初级与高级数据科学家的核心差距不在于代码能力或掌握的算法数量,而在于能否从单纯执行任务转变为解决正确的业务问题、追求实际影响力以及进行有效的跨部门沟通。

2) 关键要点

  • 思维方式转变:高级数据科学家不再局限于执行任务,而是决定需要做什么、为什么重要,以及如何推动现实世界的影响。
  • 解决正确的问题:在编写代码前,高级人员会先明确业务目标、背景以及成功的衡量标准(例如:支持什么决策?是否有更简单的替代方案?)。
  • 避免过度工程:高级人员会优先尝试简单的解决方案(如启发式方法)来测试信号强度,确认是否真的需要复杂的机器学习模型。
  • 影响力优于准确性:初级人员常沉迷于优化微小的模型指标(如0.7%的误差),而高级人员的判断力在于选择最适合当前问题的方法,为实际业务影响进行优化。
  • 沟通是硬性需求:高级人员花费大量时间不写代码,而是将技术发现转化为业务语言;沟通决定了数据科学工作最终是否会被实际使用。
  • 技术是基础而非终点:扎实的代码和数据实践是不可妥协的基础,但真正的成长在于衡量成功的标准从“模型有多好”转变为“工作是否改变了现实世界”。

3) 风险/差距

  • 模型未部署/见解未被采纳的风险:如果缺乏有效的沟通,导致模型不被业务方理解或见解不被信任,最终的工作成果将不会被部署或转化为实际行动。
  • 过度工程导致资源浪费:盲目追求复杂模型(如将复杂模型强行塞入不匹配的管道中),会导致产出在技术上看似大胆,但在实际业务中毫无用处,浪费大量时间。
  • 偏离业务目标的风险:如果拿到任务后直接投入数据清理和建模,而不花时间理解分析的最终目的,会导致最终的产出无法回答关键的业务问题。

正文

如果你在 LinkedIn 或 X 上花五分钟,就会注意到数据科学行业中一直存在一场激烈的辩论:究竟是什么将初级数据科学家与高级数据科学家区分开来?

正如你所想的那样,这与最新的模型或 Python 库无关。问问大多数早期职业从业者,他们通常会告诉你,高级人员只是知道得更多:更多的算法、更多的 Python 库、更高级的深度学习技术。很长一段时间,我也这么认为。

我曾在一个小型的内部分析项目中倾注心血,并为代码的“干净”、功能的模块化和精美的可视化效果感到自豪。我甚至尝试了两种不同的方法,只为看看哪种表现更好。但那个项目让我意识到了一些非常重要的事情——一些数据行业大多数专业人士都忽视或认为不那么重要的事情。

这篇文章并不是要贬低技术技能,或者假装代码不重要。我深知这个行业的技术挑战是非常真实的。但事实是,决定初级与高级之间差距的,并没有体现在模型指标或编写整洁的代码中。

这是一种思维方式的转变:从仅仅执行任务,转变为决定实际需要做什么、为什么重要,以及如何推动现实世界的影响。

初级人员解决任务,高级人员解决正确的问题

初级和高级数据科学家之间最大的区别,在问题落在你办公桌上的那一刻就显现出来了。

作为一名初级人员,我的本能总是直接投入其中。有一次,我被要求分析一组销售数据并为管理团队提供见解。我花了几个小时清理数据、创建模型并完善视觉效果。后来我才意识到,我所做的大部分工作实际上并没有回答关键的业务问题。我太专注于创建一个完美的分析,以至于没有花时间去理解这个分析旨在提供什么信息。

“数据科学家最重要的技能之一是能够将现实世界的问题构建为标准的数据科学任务。” —— John D. Kelleher

高级人员处理问题的方式截然不同。他们在接触键盘之前会停顿一下,花时间了解目标、背景以及他们工作的现实影响。他们会问这样的问题:

  • 这是为了支持什么决策?
  • 将如何衡量成功?
  • 更简单的解决方案能达到同样的结果吗?

这些问题很少出现在 Kaggle 比赛中,但在实际工作中却无处不在。初级人员倾向于将问题视为固定的,而高级人员会停下来确保他们正在解决正确的问题。在编写任何代码之前,他们会考虑背景、影响和实际情况。这种思维方式能避免不必要的工程,并确保工作真正产生影响。

准确性不等于影响力

我们大多数人作为年轻的数据科学家都会经历一个阶段:感觉整个工作就是优化模型指标。

当你优化了 0.7% 的误差,加入另一个特征或算法,数字的变动足以让你觉得完成了一些事情。这有点像在电子游戏中刷经验值——你正在升级,但你并不真正确定自己是在推进主线任务,还是仅仅在做支线任务。

我曾经认为这就是“好工作”的样子:模型更好,工作就更好。我曾花了整整一周的时间,试图将一个高度复杂的模型塞进一个从未打算处理它的管道中。这就像把一级方程式赛车的引擎放进高尔夫球车里,技术上很大胆,但实际上毫无用处。

一位高级同事看了我的管道五分钟后,建议从一个简单的启发式方法开始,只是为了检查信号是否足够强,以至于真的需要一个机器学习模型。

他只花了五分钟,而我花了一个星期。

那不是代码差距,那是判断差距。当你为了影响力而不是准确性进行优化时,你的技术工作会变得更好。你停止过度设计,并开始选择适合问题的方法。你建立模型是因为你应该这么做,而不仅仅是为了表明你可以

高级人员的沟通多于编码

另一个让我感到惊讶的区别是,高级数据科学家有很多不写代码的时间。

作为一名初级人员,我的重点是笔记本,我认为代码会说明一切。但事实并非如此。利益相关者不关心你的特征工程管道,他们关心的是结果对他们的决策意味着什么。

高级人员明白这一点。他们将技术发现转化为商业语言,而不会让受众感到复杂。他们也会问更好的问题,不仅是关于数据,还有关于背景。这些对话甚至在训练任何模型之前,就为分析提供了信息。

在数据科学中,沟通不是一项“软技能”,它实际上是一项硬性技术必需品,因为它决定了你的工作是否会被使用。一个不被理解的模型将不会被部署,一个不被信任的见解将不会被采取行动。

最后的想法

技术技能永远是基础。你无法通过编码摆脱糟糕的代码或糟糕的数据实践,良好的基础是不容谈判的。

但代码是门,而不是目的地。

从初级到高级的旅程,不是关于积累更多的算法或分层更多的工具。它是关于认识到何时应用它们,何时忽略它们,以及你为什么首先要做这两件事。

最后,真正的成长发生在你衡量成功的标准发生改变时:不再是你的模型有多好,而是你的工作是否改变了现实世界中的某些东西。这就是编写好代码和进行有效数据科学之间的真正区别。

关联主题