我应该去数据科学吗?

当有人问我从哪里开始进行数据科学时,我始终会给出建议。最好成为一名软件工程师。



这是我的个人观点。欢迎在评论中提出反驳。

专家的职业正在发展。我并不争辩,数据科学将成为21世纪最流行的活动领域之一,但是这不值得贬低另一个有用且薪酬很高的专业-软件开发人员。

我经常收到大学毕业生以及那些改变职业的人的信息,询问如何进入数据科学。相反,我建议他们简单地进入IT。

在这两个领域都有经验,我将努力说服您做出正确的选择。
EDISON软件-网络开发
EDISON , -.


. , , , — .

, software engineering data science solve problems! ;-)

1. -


与数据科学相比,软件工程中的工作量高出一个数量级。

以下是在Google中搜索数据专家(“ 数据科学家 ”)和“ 软件开发 ”(“ 软件工程师Have ”)之后的一些屏幕截图





7,616个科学空缺,而软件开发则为53,8893个在美国和其他国家也是如此。

如果您相信Glassdoor(可用来监视薪水水平并获得有关公司员工的评论的Web服务),则数据科学家可以赚到更多钱。但是,我未经证实的假设是,数据空缺主要针对非常合格的员工。





尽管谁争辩说,如果向您提供一百万OpenAI,请毫不犹豫地同意。

2.没有共识,这通常是“数据科学”


公司管理层通常对``数据科学''一词的含义含糊不清。考虑到业务中的特定限制,这也很容易实现,这包括以下事实:业务无法始终承受严格遵循角色的结构。

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


根据业务任务可能需要的条件草图。在解决业务问题研究之间的范围内,软件工程师⇒数据工程师⇒机器学习工程师⇒数据科学家这样的职业

尽管可以想象软件工程师和数据专家之间理想的角色范围,但在现实生活中不太可能在参考中体现这一点。形成。对于刚开始构建基础架构时正在经历扩展过程的初创公司来说尤其如此。

结果,被录用的候选人致力于公司当前的问题,并且没有履行通常被录用的专家角色。


我有同事(数据科学家)的证词,他们以软件开发人员的身份编写后端代码。我认识其他成功解决其公司财务问题的“数据研究人员”。

这可以与您的期望形成鲜明对比,尤其是在Kaggle竞赛的影响下形成的期望。

3. 根据数据来看长跑选手的孤独感


大多数公司不需要像软件工程师那样多的数据专家。到目前为止,其他公司只雇用了他们的第一位(目前是唯一)数据专家。

因此,许多数据研究人员独自工作,即使他们与开发人员坐在同一张桌子上。

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

相反,软件开发团队的优势之一就是能够始终告诉同事:“我相信您需要在XYZ中实现ABC。您的意见?”。

因此,请做好心理准备,与您自己或... 与橡皮鸭讨论问题

4.数据科学具有明显的研究性质


准备好与管理人员就不宜使用2周的主题进行不愉快的对话。

解决可解决问题和不可解决问题是软件开发和AI之间的根本区别之一。

鉴于软件开发固有的错误和局限性-在开始之前,您基本上对什么是可行的,什么不是可行的有所了解。关于机器学习,您不能说同样的话。在实施之前,尚不清楚该模型是否有效。

5.尚未做好AI的业务准备


即使在几乎每个大公司都引入人工智能的时代,大多数公司都没有适当的基础架构来支持人工智能。

我的一位朋友,是一家正在迅速发展的初创企业中的数据科学部门负责人,最近与一杯咖啡分享了他的初创企业智慧:

首先确定问题所在,然后构建基础架构,然后才吸引数据专家。所有这一切都很快发生。 (不是逐字记录的)我的

另一个朋友是一家知名公司的数据科学专家,最近在一次谈话中抱怨说,她被迫在笔记本电脑上而不是云上的大数据上训练人工智能模型。

如果在您来到的新地方还没有解决某些特定的问题,或者甚至公司还没有准备好将数据科学引入其流程中,那么就准备在其力量极限下创建有价值的东西。

6.软件工程具有一般技能


成为初级软件工程师就像获得技术MBA一样。您将学到所有东西。

您将了解数据库,云技术,部署,安全性以及编写简洁的代码。

您将通过观察Scrum负责人,高级开发人员或项目经理来学习如何管理软件程序集。您将获得指导。

如果您发现自己的公司拥有一支成熟的工程师团队,几乎可以保证您将迅速提高自己的技能并获得全面的总体经验。

7.软件开发作为一种活动要灵活得多。


有了更全面的技术经验,当您决定更改某项内容时,软件开发将提供更多选择。

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

我知道许多从软件开发转向数据科学的开发人员。如果您正在查看数据科学的职位描述,您会立即注意到它们需要由软件开发产生的大量技能。


如果您可以创建E2E项目,则不仅可以为Kaggle竞赛创建模型,还可以做更多的事情。您可以采用此模型,进行制作,配置授权和电子付款,然后通过获利。这是您自己的创业公司。

我永远不会说数据科学在其范围之外毫无用处。基于大数据制定决策只是我们时代的杀手。但是,这也将导致一个事实,即随着企业越来越关注大数据,数据科学方法将在其他工作中越来越受欢迎。

8.机器学习将成为软件开发人员的常用工具。


随着AI变得更加方便和易于使用,软件开发人员将开始使用它来解决他们的问题。

我可以(下午)教一位开发人员构建sklearn分类器。这并不意味着我的padawan将创建下一个AlphaGo,但这使他可以替代基于用户输入的硬编码条件逻辑。

大数据专家具有专门知识,例如统计信息,他们对模型的工作原理有特殊的直觉。但是DevOps和安全工程师也有自己的专业知识。

我要说的是,这里的要点不是技能的不同,而是某些技能的使用频率降低而其他技能的使用频率更高。经验丰富的工程师可以在专业化之间快速迁移几个数量级,而初学者则可以从头开始学习。

尽管我认为我们不会看到数据科学与软件开发的完全融合。相反,数据科学将成为软件开发的另一个专业领域。

9.在可预见的将来,人工智能将不会取代软件工程师


不管现在听起来多么愚蠢,我在2014年开始开发软件,是因为担心AI会使其他任何工作过时。


但是,从那时起,我们还没有真正接近技术的未来。技术的采用速度很慢,而且我们离强大的AI还差得远。

与其他专业相比,机器学习离软件开发自动化更远。尽管我们有一些初创公司创建了很棒的产品,例如具有AI支持的代码完成功能,但是编码本身并不是真正的工作。当前的工作是使用技术来解决问题。

到目前为止,在奇异的时代,编写程序的能力将在很长一段时间内仍然是一项宝贵而高薪的技能。

结论


首先,这主要是我的恕我直言。其次,我知道我将数据科学家,机器学习工程师和人工智能开发人员混合在一起-我完全理解它们之间的区别。不过,值得深思熟虑地考虑这些论点,因为这是您的生活和职业。

不要把我所说的太当真。我希望您调查此问题并做出自己的决定。通常,这是任何数据专家的工作的一部分:)

最后,他们主要是为解决问题而向我们付费。

爱迪生博客上的翻译:


All Articles