資料科學的浪潮更將資料科學工作者推到第一線,許多產業都能看到「資料」的影子與可能性。但是對資料科學職涯有興趣的人,該怎麼知道「哪裡有適合自己的位置」並「據以規劃自己的資料科學職涯」呢?由於資料科學需求時常是個很龐大的任務,實際上會需要一個團隊來實現。本篇文章就從資料團隊出發,解析其中的任務內容、工作流程、需求配置與和協作方式,一步步地洞察與貼近資料科學工作者的可能性,一窺資料團隊的樣貌。
- 資料專案的工作內容與流程
- 資料團隊中角色的技能與任務
- 逐步成長的資料團隊配置
資料專案的工作內容與流程
一個資料專案會經過「取得資料」、「資料前處理」、「訓練模型」、「模型評估」、「決策應用」五個流程。
首先的步驟是「取得資料」與「資料前處理」,這是整個流程中最花時間的部分。特別在資料量較大或較多元時,資料清理工作總是很費功夫。接下來,我們要從資料中學習、並找到規則,這便是「模型」或「演算法」的階段。而模型的概念有點像個神祕的黑盒子,對同樣的資料、能夠問不同問題,最後希望能獲得我們想要知道的關係或答案。最後,將模型的結果提供決策應用產生最終的效益。換句話說,資料科學的本質是利用模型去解讀不同的資料與其意涵,而資料科學的快速發展正在改變知識或決策的產生方式。如果可以利用機器的優勢來轉換知識,降低對經驗的依賴,那人們就得以更加專注於「決策」。
資料團隊中角色的技能與任務
講到資料科學團隊,很多人會想到的可能是「資料科學家(Data Scientist)」。但是實際上,資料科學家其實是比較資料/進階的職種,通常組織會從「資料專案」的實現來設計團隊,透過不同的專長組合成一個完整的團隊,而非配置很多個資料科學家。
三種技能的簡單分工
一般來說,可以先依照技能與工作簡單分成「資料分析師」、「資料工程師」和「資料科學家」三種角色。
資料分析師擅長分析應用,要找資料、問問題,主要任務是找到對的資料並從中發現想要知道的關係。其關鍵能力,是找到適合的資料來解決問題。故資料分析師需要有一定程度的資料理解力、與定義問題的敏銳度。資料工程師擅長程式實作,要提供好用的資料,能夠把資料變成可以用的樣子、或提供好用的資料。相關任務包括自動化蒐集資料、自動化分析資料等。若本身已經是軟體工程師,有較好的程式掌握能力,可考慮從資料工程師開啟資料科學職涯。資料科學家會對資料問出更深、更多的問題,並進而找出更複雜的關係。這個角色適合本身有數理背景、對模型的掌握度較高的人。而相較於資料分析師,資料科學家是比較資深/進階的角色。
相對於與工程或數理背景連結性較強的「資料工程師」與「資料科學家」,資料分析師是個能與更多元技能結合的角色,如產品、行銷等。故本身有既有專精領域的人,可考慮從資料分析師,開始瞭解與規劃資料科學職涯。
更加彈性的團隊角色 不過我在之前的文章
真.資料團隊與分工 也有提到實際上的分工與職能其實會更加複雜一點,原本的分工太細的狀況下可能會造成角色存在 GAP 與互踢皮球的狀況。因此常見有以下幾種替代的技能職種:
機器學習工程師這是一個延伸自分析師與工程師的角色,過去我們可能會拆成兩個團隊利用模組的方式來分工。但如果分析團隊與工程團隊交接的過程中遇到問題怎麼辦?很容易就會陷入兩方都難以解決的困境。因此在資料科學家與資料工程師間衍伸出「ML 機器學習工程師」這樣的職種,略種一點模型也略懂一點工程的它能夠作為兩者間的橋樑。另一個常見的情境是,最終將模型交由工程師部署上線之後。可能會遇到重要的錯誤出現或需要週期性的更新時,往往都會需要整個流程重新跑一次。在傳統的開發模式當中,會有維運的工程師負責從開發到上線自動化的融合成一系列的工作線。這樣的想法轉移到資料科學的情境當中,被稱為是 MLOPs 機器學習維運工程師,主要概念是將模型的訓練與部署更加緊緊的自動化。
資料分析師的也有兩種不同面向的下一步:「資料分析工程師」和「商業分析師」。
資料分析工程師(Analytics Engineers)是介於資料工程與資料分析的角色,比起傳統的資料工程師更多了一點分析的概念。從職能來解讀「資料分析工程師」的話,更專注在產出可用的資料提供分析(更多細節可以參考
資料分析工程手札粉專)。
商業分析師是處理商業問題的資料分析師,擁有濃厚的跨領域色彩,也負責轉譯的任務。從資料技能的角度來看會有一部分內容跟資料科學家重疊,但從使用場景來看可以明顯看出差異。資料分析師比較強調的是「如何找到適合資料可以解決的問題」,對資料理解與定義問題的敏銳度。就我所知,資料分析師在資料探索及資料視覺化的要求會高一點。而資料科學家則更重視模型與理論,需要比較完整的資料知識體系,例如統計,最佳化及資料模型這方便的了解。
除此之外,因應不同的團隊場影也有不同的職種,例如:
- 實現資料收集的自動化的「爬蟲工程師」
- 綜合工程師與數理模型的「機器學習工程師」
- 應用於不同領域的「生醫統計學家」、「金融/計量分析師」
- 研究於特定模型的「電腦視覺工程師」或「自然語言工程師」
逐步成長的資料團隊配置
資料團隊可以根據資料科學的技能,拆成四個主要的任務:資料探索、資料工程、分析模型與理論研究。但實務上,則會依據團隊的規模與發展階段加入不同的角色,很難在初期導入就有完整的配置。最後一段想聊聊,過去看到的幾種團隊配置方式以及如何打造逐步成長的資料團隊。
剛起步的一人資料團隊
當團隊只有一人時,速度時常會比完整度還要重要。而在此階段,會視是否有模型需求,來決定要不要找資料分析師或工程師。如果公司已經有資料、資料庫系統時,需要對現有資料進行探索或分析的話,可以一個配置資料分析師或商業分析師。有商業與分析觀念的分析師,能夠搭配工具對資料進行分析,快速滿足「產出有效的洞察」。
而如果公司是沒有資料庫或尚未整合外部資料來源時,通常是非資料背景的同事有一套搭配工具的第三方工具處理工作日常。這個時候可能會需要從「資料管線」的基礎面開始建置時,「工程」的需求就顯得更為重要,因此首選就會是資料工程師或的機器學習工程師。
從探索到自動化的兩人團隊
隨著「資料」的效益提升時,可能開始需要資料團隊的組成。通常只是「有資料」且「有需求」兩個條件都成立的情況下。這個時候其中一個角色會是資料分析師,專注在資料探索;而另一個角色則是工程師,專注在如何用自動化產生結果。
兩人數據團隊通常目標在於能夠自動化收集資料且產出資料,最常見的應用可能是內部的資料看板(Dashboard)或週期性的報表。這個階段對於模型還在比較嘗試或是觀望的階段,例如直接使用套件產出結果,但能完整資料驅動的效益上不明確。
導入分析模型的團隊
最終當團隊想導入更複雜的模型,就會需要資料科學家或機器學習工程師的角色。這個時候除了必須要有「資料面」、「分析面」的技能之外,有需要有對外之可能性探索的空間,也就是能夠從資料中問出有意義有價值的問題,進而使用合適的模型進行分析。
「資料科學家」與「機器學習工程師」在這裡的差別主要是研究程度的多寡,不然在工作任務上其實不會差太多。
資料團隊已就位,然後呢?
從資料專案的工作流程、資料團隊的角色分工以及資料團隊會如何配置,三個面向解析資料團隊的的配置。但有了資料團隊的下一步是什麼?資料團隊要怎麼樣才能發揮更大的效益呢?這些都是有了團隊之後需要煩惱的議題。所以建立資料團隊只是公司對於資料文化的第一步,真正的挑戰才正要開始。
---
嗨,你好,我是維元,持續在不同的平台發表對 #資料科學、 #網頁開發 或 #軟體職涯 相關的文章。如果對於內文有疑問都歡迎與我們進一步的交流,都可以追蹤我的
Facebook 粉專 和
Instagram 帳號,也會不定時的舉辦分享活動,一起來玩玩吧 ヽ(●´∀`●)ノ