想成為數據工程師,你需要做哪些準備?
本文轉載自公眾號“讀芯術”(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這樣的廣告,客戶是否會花更多的錢,或者是否有一個更快的途徑來運送包裹。跳過剩下的過程,這里的目標是找到任何一個問題的答案。它可能是一個最終結論或更多的問題。在整個過程中,數據科學家分析、收集支持,并對問題得出結論。