发布于 2026-01-06 2 阅读
0

转型进入数据工程领域 DEV 的全球展示挑战赛,由 Mux 呈现:展示你的项目!

将你的职业生涯转型到数据工程领域

由 Mux 主办的 DEV 全球展示挑战赛:展示你的项目!

作为一名:拥有丰富经验的专业人士/大学毕业生/任何人,我该如何开始数据工程领域的职业生涯?

我经常被问到这个问题。

数据工程是一个技术格局多元化的复杂领域,很难确定合适的切入点。它是否会随着时间的推移而保持其相关性?

在这篇文章中,我将尝试帮助那些想要进入数据工程领域的人,因为我曾经也需要回答这些问题,现在我有一些想法想要分享。

有几个因素阻碍了新晋专业人士进入这个领域。首先,我们先来谈谈一个普遍存在的误解:转型之后,之前积累的所有技能都会被弃用。其实不然!虽然这确实是一个循序渐进的技能提升过程,但现有的技能仍然会派上用场。而且,对于新手来说,他们将从零开始,具备软件工程方面的知识。

以大型机专业人员为例。这些专家掌握的关键技能包括数据存储与检索、数据处理、优化和可视化。这些技能将会发生怎样的变化?数据存储与检索的理念保持不变,但机制会改变。文本格式将变为 Avro/Parquet 文件格式,我们将使用 Snappy 压缩代替 EBCDIC,文件指针读取将取代块读取等等。数据处理是这两个职业的另一个关键要素;可以使用 MapReduce 将文件/数据库中的一页或一行数据转换为块处理。数据库处理和系统设计技能也将建立在您已有的知识之上。

正如你所见,数据处理的关键要素始终不变,改变的只是处理数据的理念,而这种理念会随着市场上新工具或方法的出现而改变。就像那些拥有 PeopleSoft、QA 或 ETL 背景的人一样——拥抱变化,并具备适应变化的韧性。

基于我们已知的信息,让我们来看看成为一名专业数据工程师的关键技能。首先,你需要掌握一种编程语言,例如 Python、Scala 或 Java。不过,要达到一定的基础水平还需要一些学习。数据库技能至关重要,你应该熟悉关系型数据库、MPP、NoSQL、云数据仓库和 SQL。你还应该了解如何使用处理框架(例如 MapReduce、Spark、ETL 框架等)。你需要掌握的最后一项技能是数据密集型设计。以此为核心,我们需要用云、DevOps、调度、文档编写、基础设施即代码、安全等方面的知识来完善我们的技能组合。最重要的是,解决问题的能力至关重要,因为技术格局在不断变化,但解决问题的方法和直觉始终不变。

从哪里入手是个棘手的问题。我建议先找出知识上的不足,然后通过学习相关概念来弥补。一个好方法是创建一个 Git 代码库来展示成果并进行练习。下载开放数据集,使用实时或批量方式导入数据,并使用结构化流处理、Spark SQL 或 CDC 进行转换。然后将数据推送到 BI 工具,实现工作流程自动化,最后通过假设使其变得复杂。一旦你开始熟悉单个项目,就可以尝试回顾之前的概念,并将其提升到更高层次,专注于设计模式,从而更深入地利用经验。

这段旅程或许充满挑战,你很可能会在某个阶段感到迷茫或停滞不前,但转型总是如此。一旦你成为一名数据工程师,你就会学会如何适应不断变化的现实,相应地调整你的技能组合对你来说也将不再是难题。

文章来源:https://dev.to/ramsjha/transitioning-your-career-into-data-engineering-4e14