本文转载自公众号“读芯术”(ID:AI_Discovery)
与其他技术角色不同,数据工程没有那么容易,许多人在上大学课程时可能从来没有听说过数据工程师。然而,像Facebook、Amazon、PayPal和Walmart这样的公司却都有数据工程的职位空缺,也有很多初创公司在寻找数据工程师。
但是如何从大学生变成数据工程师呢?数据工程师需要什么学位?如何成为数据工程师?数据工程师有哪些技能?数据工程师每天都做些什么?这些是笔者在过去一年中遇到的一些问题,我想写一篇文章来回答这些问题。
数据工程师需要什么学位?
笔者曾与数据工程师共事,他们拥有从英语到物理等多个领域的学位。尽管许多职位描述似乎要求数据工程师、拥有数学或工程学位,但如果你有合适的经验,学位往往没那么重要。当然,这就引出了一个问题:你是如何获得这种经验的。
作为一名数据工程师,如何获得真正的工作经验?
有一些方法很管用。首先,你可以获得一个数据工程师的实习机会。这个时候的门槛最低,雇主们愿意找一个没有工作经验的人。
另一种方法是侧面获得该职位。通常情况下,即使你没有计算机科学或数学背景,你仍然可以通过获得分析师或项目经理的职位进入数据工程领域。从那里你可以开始着手越来越多的数据工程领域的工作。
笔者已经多次帮助许多人从不同岗位起步来了解这份工作。但是你不仅需要做自己份内的工作,也要做一些额外的数据工程工作。你也可以试着争取与数据工程师非常接近的职位,比如商业智能分析师。
数据工程师应具备哪些技能?
高水平的数据工程师将数据从A点传输到B点,并将其重新构建为分析师和数据科学家可以轻松使用的格式。
从技能的角度来看,这意味着数据工程师需要ETLs(提取、转换、加载)、自动化(通常使用Python或其他编程语言)、数据建模或者数据仓库、SQL和NoSQL数据操作以及数据可视化等专业技能。
对于许多人来说,ETLs和数据仓库是一种新技能。在获得学士学位后,通常会在硕士或证书课程中得到更多的涉猎。
数据工程师使用什么工具?
数据工程师使用各种工具,从编程语言到拖放工具,从云数据仓库到数据可视化程序。可供数据工程师使用的工具比一个人一生可能掌握的工具要多得多。例如,数据工程工具包括SSIS、Azuredata Factory、Tableau、Informatica、Matillion、Fivetran、Snowflake、Redshift和Databricks等等。
ETL/ELTs
- Airflow and Luigi
- SSIS
- Fivetran
- Informatica
数据仓库
- Snowflake
- Redshift
- BigQuery
- Azure Synapse
数据可视化
- Tableau
- PowerBI
- Looker
数据流
- Kafka
- AWS Kinesis
其他
- Spark
- Presto
- Hadoop
数据工程工作机会很难找到吗?
数据工程工作存在于世界各地的公司和各个行业。你可以在银行业、医疗保健业、大型科技企业、初创企业和其他行业找到工作机会。
数据工程师和数据科学家有什么区别?
笔者经常被问到这个问题,有许多文章可以提供每个技能与技能之间的差异。然而,这次的答案笔者将把重点放在二者的目标上。这可以更容易地看到不同的工具和技能如何为这两个数据专业排列。
数据工程师的目标更着眼于全局和开发。数据工程师建立自动化系统和模型数据结构,以使数据得到有效处理。这意味着数据工程师的目标是创建及开发表和数据管道,以支持分析仪表板和其他数据客户(如数据科学家、分析师和其他工程师)。这和大多数工程师很相似。有很多设计、假设、限制和开发,能够创建某种最终的强健系统。
这个系统可能是一个数据仓库和ETL或者流式管道。所有这些都是为成百上千需要访问可靠数据来帮助回答问题的用户而设计的。
相比之下,数据科学家往往以问题为中心,因为他们正在寻找降低成本、增加利润或改善客户体验或提高业务效率的方法。这意味着他们需要先提出问题,然后回答问题(提出问题、假设,然后得出结论)。
他们需要提出一些问题,比如影响患者的再入院率的因素,如果给客户看A vs. B这样的广告,客户是否会花更多的钱,或者是否有一个更快的途径来运送包裹。跳过剩下的过程,这里的目标是找到任何一个问题的答案。它可能是一个最终结论或更多的问题。在整个过程中,数据科学家分析、收集支持,并对问题得出结论。