- Published on
Reddit 讨论:数据工程师工作技能
- Authors

- Name
- Charles Chen
近年来,数据工程(Data Engineering, DE)岗位的定义和人才现状在业内引起了广泛讨论。某公司在 Reddit 分享了他们的经验:他们避免在招聘中使用“数据工程师”这一职位名称,而是改为“软件工程师(数据方向)”,因为这样能吸引到质量更高的应聘者。
公司发现,许多自称数据工程师的申请人实际上编程能力不足,更擅长使用 Power BI 等可视化工具,对 Spark 等大数据框架几乎不了解。而使用“软件工程师”的职位描述后,申请者往往能够深入理解 Snowflake 架构、B-Tree 与 LSM-Tree 数据库原理、列式存储、JVM 性能调优,以及 Spark 的内部机制。他们不仅能写代码,还能进行 Terraform 等基础架构即代码(IaC)的管理,整体工程素质明显更高。
社区讨论中,有人提出以下观点:
- 数据工程岗位定义模糊
不同公司对 DE 的要求差异极大,有的仅仅负责编写 ETL 流程或维护数据库连接器,有的则要求大规模数据流处理、分布式计算、底层性能优化等技能。
- 数据工程岗位定义模糊
- 人才来源路径问题
很多数据工程师是从数据分析师或数据科学家转型而来,但这条路径跨度大。分析师擅长可视化和报表,却缺乏软件工程基础;而软件工程师转向数据岗位时,更容易上手分布式系统和数据管道开发。
- 人才来源路径问题
- 行业内部对技能层级的划分
有用户将数据工程师分为三类:
- 行业内部对技能层级的划分
- • Tier 1:软件工程型 DE,能高效处理海量数据,本质是构建数据流动与存储的软件系统。
- • Tier 2:使用工具完成大数据搬运任务的工程师,技术水平差异较大。
- • Tier 3:仅能复制粘贴 LLM 代码块的“名义数据工程师”,缺乏真正的工程能力。
- 公司需求与候选人匹配
有人认为,公司招聘难可能与自身定位有关。如果岗位实际只需要运营数据报表,却要求候选人掌握底层数据库和 JVM 调优,那么自然很难找到完全匹配的人选。
- 公司需求与候选人匹配
总体来看,数据工程正处于快速演化阶段。从传统数据库管理员、Hadoop/Spark 时代的双语工程师,到如今部分团队探索 Rust、Go 等低层语言与 AI 工具的结合,行业对技能的要求越来越多样。对于求职者来说,拥有扎实的软件工程功底、理解数据系统底层原理,仍然是进入高阶数据工程岗位的核心竞争力。