数据工程职业道路:到底该选编程还是无码?

数据工程职业道路:到底该选编程还是无码?

作为一名高级数据工程师,我经常会思考我接下来的职业路径。很多公司认为他们的数据工程师是分析工作的延伸(Meta)。而许多其他公司,比如 Apple 和 Netflix,将他们的数据工程师视为软件工程的延伸。

目前,我的技能更侧重于低代码和无代码,例如我会在 DBT/Airflow 这类工具中编写 SQL 和调度脚本。虽然我使用过 API,但我没有上手写过任何 的API。

我开始质疑:低代码/无代码数据工程师未来应该怎么走?有职业天花板吗?在我在这门学科中脱颖而出之前,我应该向哪个方向发展?下面就给大家分析一下。如果你想了解更多数据工程师相关内容,可以阅读以下这些文章:
数据工程师Data Engineer的常用工具指南

我开始质疑:低代码/无代码数据工程师未来应该怎么走?有职业天花板吗?在我在这门学科中脱颖而出之前,我应该向哪个方向发展?下面就给大家分析一下。如果你想了解更多数据工程师相关内容,可以阅读以下这些文章:
数据工程师Data Engineer的常用工具指南
数据工程师都做哪些工作?带你了解我的一天
DS vs DE:数据科学家与数据工程师的薪资对比
2021年数据工程师,你最需要这10个技能!

我相信,上面这种分歧是由 DBT、Snowflake、DataDog、Palantir、 DataBricks 等优秀的数据平台产品造成的。这些工具可以让 SQL 人员能够利用数据的运输能力,而在过去,这些都需要软件工程师或数据工程师才能做到。显然,这些工具可以让公司们以更高的速度交付价值,而市场也注意到了这点 。

►►► 数据工程师为什么要编程?

在把数据工程视为软件工程延伸的这些公司中,数据工程师们会身兼数职。构建 API、设计数据模型、设计有效负载结构、构建数据平台基础设施等等,都属于数据工程。最常用的语言(在 Python 之后)是 Java、Scala 和 C++。

这些数据工程师经常使用 Kafka 和 Flink 等流技术,以及 Docker、Kubernetes 和 Glue 等 DevOps 基础设施。他们可能经常会和软件工程师合作;软件工程师可以专注于构建应用程序的功能,而数据工程师可以专注于从应用程序数据中提取价值。

优点:

  • 能够解决更广泛的工程上的挑战
  • 通常平均薪资更高

缺点:

  • 可能因为需要太多技能,和未能充分利用每一个技能
  • 与同等软件工程师的薪酬可能存在差异

►►► 为什么无代码越来越受欢迎?

无代码和低代码是指用工具提取、转换和加载数据的数据工程师。常见的无代码工具包括 DBT、Snowflake、Data Bricks 和 Airflow。

这种模式的好处是,数据工程师可以专注于利用数据的价值,而软件工程师会负责创建数据摄取管道。虽然, SQL 在技术上是一种编码语言,但我把仅仅使用 SQL 的数据工程师们归类为低代码/无代码类别。

优点:

  • 使用 SQL/Python ,降低进入门槛
  • 更快地适应新环境

缺点:

  • 通常会依赖工程团队进行上游的更改
  • 一般薪资低于工程优先的数据工程师职位

►►► 市场会走向何方?

我注意到,市场上出现了很大的分歧。虽然数据工程师的头衔保持不变,但工作内容正在发生明显的分裂。这个问题对我来说很重要,原因有 3 个。

1在面试中我可以表现地更出色

当我在找软件/数据工程师、低代码数据工程师的工作时,我会浏览职位信息,来确保我面试的成功。如果我注意到岗位描述中出现了一些类似“3-5 年交付软件项目”的描述,我就知道,面试问题会更偏向于软件工程。

我被问到过这样的问题:“编程的 4 大支柱是什么?”和“解释垃圾回收(garbage collection)”。

2学习有回报的技能

我很喜欢工程上的挑战,如果有机会,我总会选择需要学习新技术的项目;代码越多越好。在某个时候,我感觉自己在 SQL 方面已经达到了顶峰,而 Airflow 和 DBT 等工具的学习曲线相当浅。为了继续提高我在更深层次的工程学科中的技能,我选择了工程上的挑战,比如构建流式的项目、优化协议缓冲区有效负载、或用 Java 或 C++ 重构数据管道。

3在高薪职位上保持竞争力

为了比较和我轨迹相关的两个数据点,Glassdoor 指出,Netflix 的高级数据工程师平均工资为293,596 美元,而亚马逊仅为 256,000 美元。当然了,这些都是很高的薪资。但查看主管、员工、高级员工和首席数据工程师角色描述时,薪资的差异会扩大。很明显,专门从事软件交付的数据工程师会有更高的薪水。

►►► 那我们都应该学习编程吗?

从广义上讲,我不认为只有一个正确或错误的答案。这两条赛道都有丰富的知识。坚持使用 SQL 和低代码工具并没有错。

对于许多公司来说,走这条路会带来更多经济上的好处。我认为,这个问题的答案应该取决于你的热情。如果你喜欢处理复杂的底层数据传输,那么技术性更强的路线可能会更激发你的热情。如果你更愿意选择价值的创造,更喜欢使用数据来回答业务问题,那么低代码路线将更激发你的热情。

我个人呢?我将逐渐接近工程学科,并寻找更多方法,将代码集成到我的项目中。当我得到机会时,我构建了 SQL linter、代码分析器、数据管道库和流框架。这些项目对于我很重要,我可以更好地了解这些低代码、无代码工具正在解决哪些挑战,除此之外,我还可以根据公司的需求定制我的解决方案。

►►► 行业会走向何方?

我开始看到越来越多的“分析工程师(Analytics Engineer)”出现,它们指代了低代码/无代码数据工程师,以及需要更深层次技术能力的数据工程师。

我相信,很多数据工程师的工作将逐渐转向与软件工程师相关的职责。而使用 SQL 和自动化基础架构来提取、转换和加载数据的人,就会更接近分析工程师或商业智能工程师的职责。

感谢你的阅读!欢迎订阅我们的公众号,不错过更多数据分析相关的精彩内容。你还可以订阅我们的YouTube频道,观看大量数据科学相关公开课:https://www.youtube.com/channel/UCa8NLpvi70mHVsW4J_x9OeQ;在LinkedIn上关注我们,扩展你的人际网络!https://www.linkedin.com/company/dataapplab/

原文作者:DataExpert
翻译作者:Jiawei Tong
美工编辑:过儿
校对审稿:Jiawei Tong
原文链接:https://towardsdatascience.com/data-engineering-career-path-to-code-or-to-no-code-1f09cd30552a