資料科學家、資料分析師,以及資料工程師是組成一個資料專案團隊最基本的三種角色,但是,在實務上,資料團隊又有哪些常見的狀況需要解決呢?本篇文章,將詳細說明一個好的資料專案團隊該如何分工,才能有效因應公司的需求與應用。
在剛入行的時候曾經寫過一篇文章 「資料專案團隊組成」,當時把資料團隊根據技能分成資料科學家、資料分析師和資料工程師三種角色。不過在工作幾年之後,發現實務上的資料分工其實更細而且更複雜,也隱含了更多的可能性。這一篇文章將談談實務上的資料團隊分工。
不同的技能與分工
首先我們先依照技能與工作簡單分成三種類型:
- 擅長 #分析應用 的: 資料分析師(Data Analyst)
- 擅長 #程式實作 的: 資料工程師(Data Engineer)
- 擅長 #模型理論 的: 資料科學家(Data Scienist)
換句話說,他們分別是「看資料」,「調資料」以及「玩資料」。不過實際上的分工與職能其實會更加複雜一點,有幾種常見的狀況:
- 資料科學家與資料工程師中間的 GAP
- 模型「部署/上線」的工作誰來做?
- 「資料分析師」與「商業分析師」
資料科學家與資料工程師中間的 GAP
在擅長模型資料科學家與擅長程式資料工程師之間,會有一小段的重疊的範圍。通常的合作方式會由資料科學家訓練出一個好的模型,再由資料工程師呼叫使用。不過偶爾會有部署所導致的效能或是或是需要再調整的工作。當模型遇到問題的時候,會有兩端都難以解決的狀況出現。
因此,我們會把兼顧模型理論和程式實作的人抽出來定位成「ML 機器學習工程師」,他們通常熟悉用程式操作模型的部分。
模型「部署/上線」的工作誰來做?
另一個常見的情境是,最終將模型交由工程師部署上線之後。可能會遇到重要的錯誤出現或需要週期性的更新時,往往都會需要整個流程重新跑一次。在傳統的開發模式當中,會有維運的工程師負責從開發到上線自動化的融合成一系列的工作線。這樣的想法轉移到資料科學的情境當中,被稱為是 MLOPs 機器學習維運工程師,主要概念是將模型的訓練與部署更加緊緊的自動化。
「資料分析師」與「商業分析師」
「資料分析師」也是資料產業中一個重要的職能之一,而且這個位置在資料科學熱潮之前就存在已久。資料分析師從資料技能的角度來看,會有一部分內容跟資料科學家重疊。我覺得從使用場景來看,可以明顯看出差異。資料分析師比較強調的是「如何找到適合資料可以解決的問題」,對資料理解與定義問題的敏銳度。就我所知,資料分析師在資料探索及資料視覺化的要求會高一點。而資料科學家則更重視模型與理論,需要比較完整的資料知識體系,例如統計,最佳化及資料模型這方便的了解。
以往我們可能會用「程式力」或「數學力」將資料分析師的下一步切分成「資料工程師」或「資料科學家」,不過其實還有一種選擇 - 「商業分析師」。商業分析師更強調的是如何用資料來解決的商業的問題,找到一個適合資料方法切入的應用場景。對於商業分析師來說,對資料與商業都須需要有一定的敏感度。資料科學很多時候是以理論的角度切入最佳化,可能與商業應用目的不完全相同,「商業分析師」能夠在其中扮演轉譯的角色。
不同背景的養成路徑
只要有心,人人都可以成為資料科學家。資料科學是一個跨領域的技能,需要同時有跨域的能力與開放的思維。這邊列出了一些常見的背景,與適合的養成路徑:
如果你本來就是軟體工程師的話,可以從程式需求大的資料工程師開始。統計/數學背景的話,適合研究資料科學模型。另外大部分的話,就會建議從資料分析師的起點逐步規劃。
資料團隊與分工
最後我們將以上講的各種位置,用資料科學的工作流程對應:
實際上資料專案需要的是一支團隊,一般會將資料科學的技能拆成多個不同的職缺。經過完善的各司其職可以完成強大的工作,達到明確的守備範圍。不過理想很豐滿、現實很骨感,在許多小團隊當中都會先配備一個角色打全場:
資料專案需要的是一支團隊
要完成一個好的資料專案,靠的不能只是一個厲害的強者,需要的是一支合作無間的資料團隊。跨領域的整合也是一個重要的應用關鍵。無論資料的多寡,資料專案都是建基在資訊、統計、視覺化等不同的領域專業上面。不過現實層面上來說,很難有人可以同時具備那麼多能力,因此在資料專案中更需要團隊合作。
根據公司的業務需求與應用層級,打造一個最適合的資料團隊才是王道。
原文刊登於:資料科學家的工作日常