Module 01 · What is Data Engineering?什么是数据工程?
Viewpoints: Skills and Qualities to be a Data Engineer成功数据工程师所需的技能与特质
在本视频中,我们将分两部分听取数据专业人士的分享:第一部分关于技术技能,第二部分关于特质和软技能。
Part 1: 技术技能 (Technical Skills)
数据工程是一个快速发展的技术领域,显然,您需要热爱数据。关于技术技能,它很大程度上取决于特定工作岗位所需的数据工程需求。
行业差异与专业化
- 零售业: 可能需要关系数据库、Cassandra 或 Google Big Table 等架构相关知识,因为他们试图构建 365 天 24/7 的应用程序。可能还需要使用 Kafka Streams 和 WebSphere MQ 来构建管道,对交易数据执行一些后端处理。
- 医疗保健: 可能需要不同的技能组合。
- 社交媒体 (如 Twitter 或 Facebook): 需要不同种类的技能组合。
👉 数据工程是一个非常广泛的话题,要求会根据工作岗位而异。
基础与学习意愿
- 学习意愿是核心: 技术实际上是容易的部分,因为您可以学习新技术,弄清楚新事物。但是,如果您不喜欢变化,如果您不喜欢学习,数据工程就不适合您。
- 数据基础: 重要的是要掌握数据结构和数据处理背后的基本理论。
核心技术能力清单
| 领域 | 具体要求 |
|---|---|
| 网络技能 | 具备良好的局域网 (LAN) 和广域网 (WAN) 方面的网络技能。 |
| 存储理解 | 擅长理解不同类型的存储,包括本地存储和云存储。 |
| 操作系统 | 具备非常扎实的操作系统知识。 |
| 数据库 | 必须是数据库专家,包括 RDBMS 数据库和 NoSQL 数据库。 |
| 编程能力 | 编程知识非常有帮助。任何语言如 Java、C 或 Python 都会带来巨大的附加价值。 |
| 自动化 | 在当今的数据工程环境中,自动化是一项非常优秀的技能。 |
必备技能总结
一位专业人士总结了数据工程师的必要技术技能:
- 能够使用一种或多种编程语言、操作系统,并掌握 IT 基础设施和环境的知识。
- 这包括计算机架构、云、虚拟机、容器以及不同类型的存储及其使用和操作方法。
- 需要非常精通 SQL,并具备一种或多种数据库(包括关系型和 NoSQL)的工作知识。
- 专业生态系统: 虽然不是起步所必需,但拥有更大的数据工程生态系统的知识和经验非常有用,这包括 ETL、数据管道、数据仓库、数据湖和其他大数据系统。
四项基本技术技能
尽管不同公司(甚至同一公司不同时期)对数据工程师的要求各不相同,但一位专家认为有四项基本技术技能:
- SQL
- 数据建模 (Data Modeling)
- ETL 方法论 (ETL Methodologies)
- 编程技能(如 Python)
Part 2: 特质与软技能 (Qualities and Soft Skills)
在本视频的第二部分,我们将听取数据专业人士讨论成为一名成功数据工程师所需的特质和软技能。
核心素质清单
| 素质/技能 | 具体要求与重要性 |
|---|---|
| 问题解决与故障排除 | 需要喜欢解决问题和故障排除。 |
| 团队合作与协作 | 必须擅长团队合作、协作和沟通。 |
| 逻辑与编码兴趣 | 擅长逻辑并对编码有兴趣是非常有用的。 |
| 沟通能力 | 必须具备非常好的沟通技巧,因为数据工程师需要不断地与多个团队打交道。 |
| 好奇心与提问 | 应该非常好奇,并且能够向业务用户和技术用户提出大量问题。然后利用这些问题的答案来构建健壮的数据管道,使用可靠的数据源和合适的数据管道。 |
| 细节导向与控制 | “最好的(DBA 或数据工程师)是注重细节的控制狂。” 这是因为处理数据涉及大量细节。要乐于处理细节,深入细节,确保不遗漏任何检查项。需要掌控数据环境,或清楚了解其中所做的选择以及这些选择所涉及的权衡。 |
| 互动与辩护 | 软技能最重要。需要能够与开发人员互动,能够向管理层辩护您的选择,并能够倡导您所做的选择及其细节,说明它们为何重要以及为什么事情需要以特定的方式完成。 |
| 职业道德与学习热情 | 职业道德和学习热情是最重要的事情。 |
关键软技能总结
对于数据工程师来说,好奇心、良好的沟通能力和学习的渴望是非常关键的。