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

我希望在成为数据工程师之前就知道这些事

我希望在成为数据工程师之前就知道这些事

照片由 Chris Ainsworth拍摄, 来自 Unsplash

随着2022年的临近,数据工程有望成为最重要、发展最快的领域之一。据 《福布斯》报道,数据科学家、机器学习工程师和大数据工程师是领英上最热门的三大职业。

InterviewQuery进行的一项调查进一步证实了这一点,该调查访问了 10,000 个数据科学 和工程职位,发现数据工程面试正在增加。

这引起了人们的疑惑。

我应该成为一名数据工程师吗?

为了更好地帮助那些正在考虑从事数据工程职业的人,我想回顾一下我自己的职业生涯。

在开始数据工程师职业生涯之前,我希望自己知道哪些事情?

我本可以如何更好地度过我的早年时光?

我希望能够解答这些问题。

以下是我在开始数据工程职业生涯之前最希望知道的五件事。

1. 不要被炒作所迷惑。

在我刚开始从事数据工程工作时,我希望自己能知道的第一件事就是不要被炒作所迷惑!

每天都有无数的软件被创造出来,因此你必须明白,掌握基本的 数据工程技能 和核心框架比追逐最新最棒的技术产品更重要。

我在数据工程路线图中讨论过其中一些核心概念 

总而言之,重点学习编程、SQL、基础数据分析和数据建模、数据管道和 数据仓库等技能。

以下是在使用“炫酷”的新软件之前,先专注于学习基础知识非常重要的几个主要原因:

  • 新工具往往只是昙花一现的潮流,其生命周期并无保障。最新软件的一个问题是,似乎总有下一个“闪亮”的新工具即将问世。如果你没有完全掌握核心技能就急于使用生命周期短的软件,你的职业发展可能会因此而严重受阻。
  • 掌握基础知识将有助于您更好地理解如何利用新软件。如果您首先掌握基本的数据处理流程,就更容易理解新软件如何帮助您简化工作流程。许多数据工程师在使用一些最新工具时会遇到困难,无法有效利用这些工具,原因就在于他们没有完全掌握基础知识。
  • 掌握基础知识可以让你在不喜欢数据工程的情况下转行。虽然有些职位(例如软件工程)与数据工程有所不同,但两者之间也存在一些交叉。这两个职位都需要编程、理解数据结构以及使用云组件。如果你真的不喜欢数据工程,那么你或许可以转行。当然,这取决于你作为数据工程师编写的代码量,因为如果你使用的是低代码解决方案,那么转行可能并不容易。

2. 专注于开发可维护的代码

学习如何编写可维护的代码是成为数据工程师的关键步骤之一。

当你刚入行,想要结合 Python、Bash 等多种技能以及任何其他编码工具来创建一个复杂的系统时,你实际上是在创建只有你自己才能维护的软件。

虽然短期内这可能没什么问题,但如果你决定继续你的职业生涯,或者其他团队成员需要使用你的软件,那么它要么必须重写,要么必须被抛弃。

为了项目的长期有效性,请确保创建的项目易于其他数据工程师阅读和理解。

3. 谎言即真理之源

数据世界中的真理来源是指存在一个权威的数据副本。

这意味着每次进行更改时,都会进行跟踪和记录,以便每个人都知道每次修订更改了什么。

假设你能在数据工程职业生涯早期就掌握这项技能,那么在日后为不同目的组织数据集或确保所有利益相关者都能访问最新版本的数据集时,它将为你省去很多麻烦。

我发现新入行的数据工程师常犯的一个错误是,他们没有从一开始就决定如何管理数据源。这往往会导致他们之后花费大量时间来整理数据,因为他们一开始就没有选择最适合自己需求的工具。

关于真理的来源,需要记住的重要一点是,它是一个不断变化的目标,而不是一个最终目的地。

4. 保存您的 SQL

SQL 包含许多复杂的业务逻辑,即使做出最细微的更改,也很难记住。

当我刚开始从事数据工程师工作时,并不知道从一开始就保存查询这个重要事实,我花了几个小时来修复数据集,因为它们突然不再按我想要的方式运行。

确保每次创建数据集时都将其保存为当前状态,这样,如果以后出现问题或需要更改,就不必从头开始重新创建整个数据集。

记住最初的查询语句是不现实的。使用版本控制,这样你就无需记住具体的查询语句了。有很多不同的方法可以实现这一点。你可以在 GitHub 上为分析团队创建一个代码库,或者使用像 dbt 这样的工具,它们可以帮助你 应用最佳实践,例如开发环境和生产环境的划分以及版本控制

5. 对所有请求都说“是”并非解决之道

许多数据工程师面临的一个普遍问题是:对所有请求都说“是”!好吧,说实话,这其实是大多数人都会遇到的普遍问题,与职业选择无关。

但这并不改变它的重要性。

当然,你肯定想帮助尽可能多的人,但现实是你的时间很宝贵,即使是最小的任务也可能非常耗时。我曾经遇到过像添加一列这样简单的任务,结果却变成了一个长达两个月的项目,因为在添加列之前需要先进行 Python 3 迁移(别问我为什么)。

在接受一项任务之前,最好先分析一下这项任务的重要性。如果你认为这项任务并不重要,那么你可以考虑拒绝这项任务。

此外,还要考虑你已经有多少工作要做。即使你手头上摆着一项优先级很高的任务,你也无法凭空变出新的时间。

所以,如果你已经感到力不从心,无法承担太多工作,请确保当前的请求方以及你的经理了解你目前的限制。

这样你就可以重新评估和重新确定需要完成工作的优先顺序。

这不仅可以节省您的时间,还可以确保您的团队了解哪些项目比其他项目更重要,并据此确定优先级!

结论

数据工程是一项非常有价值的职业,在我们如今所处的这个数据驱动型世界中,它的需求和重要性都在不断增长。然而,在开始你的数据工程职业生涯之前,有很多事情你必须了解!

专注于核心技能、开发可维护的软件、了解数据源、保存 SQL 语句以及学会说“不”是我在数据工程师职业生涯中学到的最重要的一些经验教训。

数据工程师、分析工程师和分析师

为什么要迁移到现代数据栈?以及从哪里开始?

2021 年 5 款优秀的数据工程工具——我最喜欢的数据工程工具

4 个数据科学家必备的 SQL 技巧

云数据仓库有哪些优势?为什么你应该迁移到云数据仓库?

文章来源:https://dev.to/seattledataguy/what-i-wish-i-knew-before-i-became-a-data-engineer-5aip