一張圖看懂數據科學家、數據工程師和軟體工程師之間的區別

文章推薦指數: 80 %
投票人數:10人

大家都知道,這三種角色各有不同定位,也知道他們之間有許多一致的地方,但是否能講明白這其中的區別呢?

國外 ETL 服務商 Stitch 的 CEO Jake Stein,近日對這個話題進行了總結。

他還繪製了一張工具圖,來呈現他們在日常工具使用上的不同。

對於新手,也可以通過這張圖來看典型的「數據科學家」、「數據工程師」和「軟體工程師」都要掌握哪些工具。

Jake Stein:隨著數據的爆炸式增長,對數據處理的專家技能需求也隨之井噴。

這帶來的結果之一,是更精細的分工。

對於數據管理工作的核心角色:數據科學家、數據工程師和軟體工程師,過去幾年見證了他們越來越清晰的定位。

對於新興職位「數據工程師」,它算是「軟體工程師」下面新浮現出的一個子類別。

單列出該職位是一項英美近年來的趨勢。

但在許多公司,遷移、管理數據仍舊是軟體工程師的活。

三種數據職位的不同技能需求

職能概括

軟體工程師

軟體工程師乾的活兒是開發應用和系統。

這過程中的每一個環節,從設計、寫代碼、測試到檢查,開發者都要參與。

生成數據的產品都是他們開發的。

軟體工程是三個角色中最古老的一個,並且有相當成熟的方法體系和工具庫。

工作內容包括:

  • 前端、後端開發

  • 網頁應用

  • 移動應用

  • 作業系統開發

  • 軟體設計

數據工程師

數據工程師需要開發能對數據進行整合、存儲和提取的系統,並從軟體工程師開發的應用和系統中獲取數據。

數據工程的誕生,是作為軟體工程大類下的一個更細分的技能類別。

據雷鋒網了解,根據國外統計,40% 的數據工程師原本是軟體工程師。

雷鋒網獲知,這是目前一個很普遍的職業發展道路(軟體工程師專注做數據工程)。

工作內容包括:

  • 高級數據結構

  • 分布式計算

  • 並發程序設計

  • 使用 Hadoop, Spark, Kafka, Hive 等新工具

  • 開發ETL/數據流水線(data pipelines)

數據科學家

數據科學家的職責是基於數據作分析。

或許有一隻想要更好理解消費者行為的團隊,僅僅做一個單次分析。

也可能是開發一個機器學習算法,然後將之在軟體工程師和數據工程師開發的代碼基礎上執行。

工作內容包括:

  • 數據建模

  • 機器學習

  • 算法

  • 商業智能的 dashboards

這些角色定位仍在進化之中。

有些大公司從軟體工程團隊中拉出數據工程師,組建一支中央數據團隊。

這樣,基礎設施和數據分析工作能在一起。

雷鋒網獲知,有些案例中,數據科學家既需要做數據分析,也需要做數據整合。

via datascience 101


請為這篇文章評分?


相關文章