一張圖看懂數據科學家、數據工程師和軟體工程師之間的區別
文章推薦指數: 80 %
大家都知道,這三種角色各有不同定位,也知道他們之間有許多一致的地方,但是否能講明白這其中的區別呢?
國外 ETL 服務商 Stitch 的 CEO Jake Stein,近日對這個話題進行了總結。
他還繪製了一張工具圖,來呈現他們在日常工具使用上的不同。
對於新手,也可以通過這張圖來看典型的「數據科學家」、「數據工程師」和「軟體工程師」都要掌握哪些工具。
Jake Stein:隨著數據的爆炸式增長,對數據處理的專家技能需求也隨之井噴。
這帶來的結果之一,是更精細的分工。
對於數據管理工作的核心角色:數據科學家、數據工程師和軟體工程師,過去幾年見證了他們越來越清晰的定位。
對於新興職位「數據工程師」,它算是「軟體工程師」下面新浮現出的一個子類別。
單列出該職位是一項英美近年來的趨勢。
但在許多公司,遷移、管理數據仍舊是軟體工程師的活。
三種數據職位的不同技能需求
職能概括
軟體工程師
軟體工程師乾的活兒是開發應用和系統。
這過程中的每一個環節,從設計、寫代碼、測試到檢查,開發者都要參與。
生成數據的產品都是他們開發的。
軟體工程是三個角色中最古老的一個,並且有相當成熟的方法體系和工具庫。
工作內容包括:
前端、後端開發
網頁應用
移動應用
作業系統開發
軟體設計
數據工程師
數據工程師需要開發能對數據進行整合、存儲和提取的系統,並從軟體工程師開發的應用和系統中獲取數據。
數據工程的誕生,是作為軟體工程大類下的一個更細分的技能類別。
據雷鋒網了解,根據國外統計,40% 的數據工程師原本是軟體工程師。
雷鋒網獲知,這是目前一個很普遍的職業發展道路(軟體工程師專注做數據工程)。
工作內容包括:
高級數據結構
分布式計算
並發程序設計
使用 Hadoop, Spark, Kafka, Hive 等新工具
開發ETL/數據流水線(data pipelines)
數據科學家
數據科學家的職責是基於數據作分析。
或許有一隻想要更好理解消費者行為的團隊,僅僅做一個單次分析。
也可能是開發一個機器學習算法,然後將之在軟體工程師和數據工程師開發的代碼基礎上執行。
工作內容包括:
數據建模
機器學習
算法
商業智能的 dashboards
這些角色定位仍在進化之中。
有些大公司從軟體工程團隊中拉出數據工程師,組建一支中央數據團隊。
這樣,基礎設施和數據分析工作能在一起。
雷鋒網獲知,有些案例中,數據科學家既需要做數據分析,也需要做數據整合。
via datascience 101