想成為數(shù)據(jù)工程師,你需要做哪些準(zhǔn)備?
本文轉(zhuǎn)載自公眾號(hào)“讀芯術(shù)”(ID:AI_Discovery)
與其他技術(shù)角色不同,數(shù)據(jù)工程沒(méi)有那么容易,許多人在上大學(xué)課程時(shí)可能從來(lái)沒(méi)有聽說(shuō)過(guò)數(shù)據(jù)工程師。然而,像Facebook、Amazon、PayPal和Walmart這樣的公司卻都有數(shù)據(jù)工程的職位空缺,也有很多初創(chuàng)公司在尋找數(shù)據(jù)工程師。
但是如何從大學(xué)生變成數(shù)據(jù)工程師呢?數(shù)據(jù)工程師需要什么學(xué)位?如何成為數(shù)據(jù)工程師?數(shù)據(jù)工程師有哪些技能?數(shù)據(jù)工程師每天都做些什么?這些是筆者在過(guò)去一年中遇到的一些問(wèn)題,我想寫一篇文章來(lái)回答這些問(wèn)題。
數(shù)據(jù)工程師需要什么學(xué)位?
筆者曾與數(shù)據(jù)工程師共事,他們擁有從英語(yǔ)到物理等多個(gè)領(lǐng)域的學(xué)位。盡管許多職位描述似乎要求數(shù)據(jù)工程師、擁有數(shù)學(xué)或工程學(xué)位,但如果你有合適的經(jīng)驗(yàn),學(xué)位往往沒(méi)那么重要。當(dāng)然,這就引出了一個(gè)問(wèn)題:你是如何獲得這種經(jīng)驗(yàn)的。
作為一名數(shù)據(jù)工程師,如何獲得真正的工作經(jīng)驗(yàn)?
有一些方法很管用。首先,你可以獲得一個(gè)數(shù)據(jù)工程師的實(shí)習(xí)機(jī)會(huì)。這個(gè)時(shí)候的門檻最低,雇主們?cè)敢庹乙粋€(gè)沒(méi)有工作經(jīng)驗(yàn)的人。
另一種方法是側(cè)面獲得該職位。通常情況下,即使你沒(méi)有計(jì)算機(jī)科學(xué)或數(shù)學(xué)背景,你仍然可以通過(guò)獲得分析師或項(xiàng)目經(jīng)理的職位進(jìn)入數(shù)據(jù)工程領(lǐng)域。從那里你可以開始著手越來(lái)越多的數(shù)據(jù)工程領(lǐng)域的工作。
筆者已經(jīng)多次幫助許多人從不同崗位起步來(lái)了解這份工作。但是你不僅需要做自己份內(nèi)的工作,也要做一些額外的數(shù)據(jù)工程工作。你也可以試著爭(zhēng)取與數(shù)據(jù)工程師非常接近的職位,比如商業(yè)智能分析師。
數(shù)據(jù)工程師應(yīng)具備哪些技能?
高水平的數(shù)據(jù)工程師將數(shù)據(jù)從A點(diǎn)傳輸?shù)紹點(diǎn),并將其重新構(gòu)建為分析師和數(shù)據(jù)科學(xué)家可以輕松使用的格式。
從技能的角度來(lái)看,這意味著數(shù)據(jù)工程師需要ETLs(提取、轉(zhuǎn)換、加載)、自動(dòng)化(通常使用Python或其他編程語(yǔ)言)、數(shù)據(jù)建模或者數(shù)據(jù)倉(cāng)庫(kù)、SQL和NoSQL數(shù)據(jù)操作以及數(shù)據(jù)可視化等專業(yè)技能。
對(duì)于許多人來(lái)說(shuō),ETLs和數(shù)據(jù)倉(cāng)庫(kù)是一種新技能。在獲得學(xué)士學(xué)位后,通常會(huì)在碩士或證書課程中得到更多的涉獵。
數(shù)據(jù)工程師使用什么工具?
數(shù)據(jù)工程師使用各種工具,從編程語(yǔ)言到拖放工具,從云數(shù)據(jù)倉(cāng)庫(kù)到數(shù)據(jù)可視化程序。可供數(shù)據(jù)工程師使用的工具比一個(gè)人一生可能掌握的工具要多得多。例如,數(shù)據(jù)工程工具包括SSIS、Azuredata Factory、Tableau、Informatica、Matillion、Fivetran、Snowflake、Redshift和Databricks等等。
ETL/ELTs
- Airflow and Luigi
- SSIS
- Fivetran
- Informatica
數(shù)據(jù)倉(cāng)庫(kù)
- Snowflake
- Redshift
- BigQuery
- Azure Synapse
數(shù)據(jù)可視化
- Tableau
- PowerBI
- Looker
數(shù)據(jù)流
- Kafka
- AWS Kinesis
其他
- Spark
- Presto
- Hadoop
數(shù)據(jù)工程工作機(jī)會(huì)很難找到嗎?
數(shù)據(jù)工程工作存在于世界各地的公司和各個(gè)行業(yè)。你可以在銀行業(yè)、醫(yī)療保健業(yè)、大型科技企業(yè)、初創(chuàng)企業(yè)和其他行業(yè)找到工作機(jī)會(huì)。
數(shù)據(jù)工程師和數(shù)據(jù)科學(xué)家有什么區(qū)別?
筆者經(jīng)常被問(wèn)到這個(gè)問(wèn)題,有許多文章可以提供每個(gè)技能與技能之間的差異。然而,這次的答案筆者將把重點(diǎn)放在二者的目標(biāo)上。這可以更容易地看到不同的工具和技能如何為這兩個(gè)數(shù)據(jù)專業(yè)排列。
數(shù)據(jù)工程師的目標(biāo)更著眼于全局和開發(fā)。數(shù)據(jù)工程師建立自動(dòng)化系統(tǒng)和模型數(shù)據(jù)結(jié)構(gòu),以使數(shù)據(jù)得到有效處理。這意味著數(shù)據(jù)工程師的目標(biāo)是創(chuàng)建及開發(fā)表和數(shù)據(jù)管道,以支持分析儀表板和其他數(shù)據(jù)客戶(如數(shù)據(jù)科學(xué)家、分析師和其他工程師)。這和大多數(shù)工程師很相似。有很多設(shè)計(jì)、假設(shè)、限制和開發(fā),能夠創(chuàng)建某種最終的強(qiáng)健系統(tǒng)。
這個(gè)系統(tǒng)可能是一個(gè)數(shù)據(jù)倉(cāng)庫(kù)和ETL或者流式管道。所有這些都是為成百上千需要訪問(wèn)可靠數(shù)據(jù)來(lái)幫助回答問(wèn)題的用戶而設(shè)計(jì)的。
相比之下,數(shù)據(jù)科學(xué)家往往以問(wèn)題為中心,因?yàn)樗麄冋趯ふ医档统杀?、增加利?rùn)或改善客戶體驗(yàn)或提高業(yè)務(wù)效率的方法。這意味著他們需要先提出問(wèn)題,然后回答問(wèn)題(提出問(wèn)題、假設(shè),然后得出結(jié)論)。
他們需要提出一些問(wèn)題,比如影響患者的再入院率的因素,如果給客戶看A vs. B這樣的廣告,客戶是否會(huì)花更多的錢,或者是否有一個(gè)更快的途徑來(lái)運(yùn)送包裹。跳過(guò)剩下的過(guò)程,這里的目標(biāo)是找到任何一個(gè)問(wèn)題的答案。它可能是一個(gè)最終結(jié)論或更多的問(wèn)題。在整個(gè)過(guò)程中,數(shù)據(jù)科學(xué)家分析、收集支持,并對(duì)問(wèn)題得出結(jié)論。