數據科學家和工程師的「五誡」

2021-01-13 網際網路數據資訊網

在實際的工作中,數據科學家們不僅要學會如何實用工具,還要懂得如何與同事合作。The Yhat Blog這篇文章探討了在實際的數據建模和數據處理的過程中數據科學家和數據工程師應該如何處理好關係順利地完成項目的問題。它引用「摩西十誡」的典故,提出了給數據處理者的五個「誡律」。我們一起來參考一下!

從表面上看,數據科學與工程科學就像是天作之合——數據科學家為商業問題創造全新的解決方案,而他們的同行工程師負責構建網絡程序環境和集成來將這些「創造」變成現實。這種合作看起來是如此天衣無縫。 但事實上不幸的是,數據科學家和數據工程師之間現存的是一種普遍被認為脆弱的關係。對於大多數團隊來說,兩者之間的關係「正介於不存在和無法作用之間」。這對於大部分過於樂觀的人無疑是一記痛擊吧!

那麼,為什麼會產生這種不和諧的關係,如何能避免這種不和諧?在這篇簡短的文章中,我們將介紹五個「誡律」用於使數據科學家和工程師之間更合拍。快拿本本記下來。

1、了解你的數據

好的模型依賴於好的數據。要建立真正具有生產力的模型,數據科學家需要知道他們基於創造和存儲產品的資料庫是否可靠,以及資料庫更新的頻率。這些信息在項目開始之前就應該被收集並且分享給工程團隊,以避免項目進程之中可能產生的阻礙。

在一個理想的世界裡,科學家和工程師都應該提前做好應對即將發生的變化的準備(例如,多種變量類型之間的變化),使他們能夠據此共同創建,測試和部署相應的新版本。即使不能夠保證避免每一個程序中的事故,共享資源和儘早發現缺陷也可以使工程師們降低風險和預見解決可能出現問題的部分。

2、熟悉合作夥伴使用的工具

數據科學家運用的主要程式語言是R或Python,這種語言便於數據的清潔,探索和建模。而工程師,卻需要使用多種不同的工具集來構建可擴展的網絡和行動應用程式(例如,NET、Ruby on Rails、Node.js 或 JVM)。雖然期望一個人完全懂得使用這兩套工具是不切合實際的,但是跨過技術「藩籬」的限制對對方使用的語言和流程有一個基本的了解將大大有助於合作的開展。

將統計代碼手動重新編寫為另一種語言是一項費時費力又極其容易犯錯的工程,所以當出現問題的擔憂增加的時候,建立良好的溝通機制(面對面和網絡數位化的)絕對是至關重要的。

3、了解技術的局限

當數據科學家和工程師運用不同的工具包工作的時候必然會遇到技術的限制。這常常使他們發狂,因為沒有人喜歡被要求返工,或者看著自己辛勤勞作創造出來的產品不理想,甚至更糟糕,看到自己的辛勤勞動付諸東流。

一旦你清楚了模型開發和部署所需要使用的語言(見誡條2),就應該花時間研究一下使用這種語言做什麼是可能的,什麼是完全不能夠實現的。然後就應該設定定期的跨職能討論會的時間表,科學家和工程師雙方要經常溝通例如:你考慮在哪些方面做一些突破?雙方在哪些地方可以做出讓步?哪些又是技術完全實現不了的?有沒有其他選擇?要實施需要付出多少努力?這些努力符合商業價值的考量嗎?

在實際工作中,假設你是一個數據科學家正在為一個Ruby編寫的APP編寫一段使用R語言的反欺詐算法,那麼你應該知道的是R的GLM功能(用於構建廣義線性模型的函數),在Ruby(或Java,對這個問題來說)中並沒有相對應的本地功能。這時候就需要大家一起來一場頭腦風暴來找尋出路啦。

4、互相尊重

在任何時候,一個數據科學家的工作總是需要大家共同的努力才能夠完成,在這個過程中充滿了產生誤解的可能。那我們的建議是什麼呢?就是像老話講的,己所不欲,勿施於人。

對於數據科學家來說,你要做的就是寫出便於維護和使用的高質量的代碼,積極聽取工程師關於重構模型和採取更好替代方法的建議,詢問他們怎樣才是一個現實的可實行的時間表,你還能提供哪些幫助等。

對於工程師來說,與數據科學家合作,需要明確必須的職責,並且共同商討達成一份書面的處理問題的優先次序文件,遵循一個不斷更新的和現實的路線圖,並根據項目的進程不斷檢驗、細化和落實科學的數據模型。

5、履行你的責任和義務

有人認為一個模型一旦創造出來,並且投入了實際的商業運用,無論是創造它的數據科學團隊,還是實現了它的工程師們就可以自由地著手下一個大項目,不需要再管理這個項目了。這種想法是非常危險的。事實上,這只是分析的生命周期的另一階段的開始。

因為,數據科學家和工程師建立生產過程中的監控和管理模型的計劃是非常重要的。誰將會監督模型和伺服器的穩定性?如何將輸入和輸出數據存儲和共享?升級版本,再培訓和重新測試的路線圖是什麼?還要為解決可能出現的問題製作一個行動計劃。如果模型吞吐量增加怎麼辦?擴展需要花費多少時間和金錢?由此確定共同承認的公平的前期職責劃分,相應地分配團隊成員的工作時間。

6、總結

數據科學家和數據工程師都在朝著同一個目標努力:運用代碼建造程序來解決實際的商業問題。不幸的是,誤解和技術效率低下常常導致人們忽略了這一目標。當我們在工作中處理和他人的關係的時候,雖然沒有萬能的神奇公式,但是這五個誡律應該可以在消除數據工程師和數據科學家之間的鴻溝上產生深遠的影響。

      譯者:趙晨,沈浩老師門下碩士研究生

原文網址:http://blog.yhat.com/posts/five-commandments.html

相關焦點

  • 圖解:數據科學家、數據工程師和軟體工程師之間的區別
    對於新手,也可以通過這張圖來看典型的「數據科學家」、「數據工程師」和「軟體工程師」都要掌握哪些工具。Jake Stein:隨著數據的爆炸式增長,對數據處理的專家技能需求也隨之井噴。這帶來的結果之一,是更精細的分工。對於數據管理工作的核心角色:數據科學家、數據工程師和軟體工程師,過去幾年見證了他們越來越清晰的定位。
  • 算法工程師和數據科學家處理大規模的交易數據
    你可以閱讀原文本文將科學技術和實際現實的各種交叉融合,通過自動駕駛服務平臺搭建一個可以持續運行、人性化和智能化的服務,包括uber無人駕駛汽車。從構思到實施一個優質、易用、可拓展的服務平臺,需要足夠的資料庫。要實現低成本、高可靠性、更快速度和更好用的訓練集,還需要強大的算力系統。計算機視覺,機器學習和深度學習是計算機科學中最重要的研究領域之一。
  • 數據科學家和數據分析師的區別在哪兒?
    數據科學家和數據分析師的區別在哪兒?數據科學家和數據分析師在所用程式語言、平臺/工具,以及所解決的問題方面都有共同之處。這些工具包括但不限於SQL、Tableau,以及相似的分析流程,定義問題、分析數據和輸出結果;一部分差異在分析的自動化上,數據科學家專注於使用Python等語言編寫算法,進行自動化分析和預測;而數據分析師則使用靜態的或者過往的數據,在某些情況下會使用Tableau和SQL等工具去做預測。
  • 如何成為一名大數據工程師?
    現實的情況是這樣的,無論公司屬於哪個行業,要想在當今競爭激烈的市場環境中取得成功,需要一個強大的軟體架構用來存儲和訪問公司數據,最好從公司創立一開始就要搭建它。在如今有時候有數據的地方就叫大數據,這未免有些誇張,在本文中統稱為數據工程師和數據科學家。先了解一下,數據工程師究竟做什麼事?一個人怎麼樣成為數據工程師?我們將討論這個有趣的領域以及如何成為數據工程師。
  • 怎樣從數據分析師轉型數據科學家?
    數據分析師的首要作業是對數據進行搜集和處理,並通過統計算法分析已處理的結構化數據,從而為數據賦能,改進決策。數據科學家也會進行相似的作業,但對其提出了更高的要求。那麼,怎樣從數據分析師轉型數據科學家呢?
  • 大數據開發和大數據分析有什麼不同?
    大數據分析工程師和大數據開發工程師分別能做什麼?通俗解釋開發和分析非要把他倆分開的話,一個是偏向於數據,一個偏向於工程。好比要炒個菜,工程師是燒火、墊勺的那個,偏向於工具的使用。分析師是放調理、掌握火候的那個,偏向菜怎麼做好吃。數據影響生活數據越來越多的影響並塑造著那些我們每天都要交互的系統。
  • 數據科學家常用的10種程式語言和工具
    【IT168 翻譯】SAP大中華區副總裁劉偉曾經在DTCC大會上說過:「數據科學家是21世紀最性感的職業」。那麼要進入數據科學領域應該掌握哪些技能?如何從一個數據分析師轉變角色成為一個數據科學家?首先你要對數據科學家這份工作做一個研究,例如數據科學家需要掌握哪些數據科學工具和程式語言?一般來說,R和Python是需要重點掌握的。
  • IBM Data Science Experience - 數據科學家實驗室
    這背後的技術離不開一個重要的角色-數據科學家。現代的數據科學家需要具備跨學科的能力,他(她)可能是某行業專家,例如需要了解醫療方面的信息,知道如何去採集和查看醫療的數據;他(她)可能需要具備一定的統計學、數學知識,對於一定量的數據信息,知道如何去分析和統計從而掌握一定的經驗和規律
  • 21世紀最性感的數據科學家,原來只是一群沮喪的天氣預報員
    根據Gartner的數據,數據科學家花費47%的時間用於數據收集,準備和問題分析,而不是開發模型。為此數據科學團隊陷入了困境,因為他們當初選擇來公司並不是被用來解決這些問題的。這就導致了一些項目的失敗和人員的高流失率。
  • 淺談電子工程師和軟體工程師差距
    其次,根據在職友網收集到的軟體工程師與硬體工程師的薪資數據顯示—— 兩者之間的薪資水平相較之下,區間在10K-15K的人數佔比都是最高的,其次為區間在15K-20K的範圍也均是佔份額第二。 因而,在雙方各方面旗鼓相當的情況下,只要自身有足夠的能力,不管是硬體工程師還是軟體工程師都能爭取到高薪的機會,並不單純只有軟體工程師的薪資略高一籌。
  • 微軟、優步,老工程師告訴你哪些數據結構和算法最重要
    一位在 Uber 等科技公司工作過的開發者分享了他的一手經驗,告訴你實際工作中會用到哪些數據結構和算法。日常工作中,你經常使用算法和數據結構嗎?曾就職於 Uber 等科技公司的工程師 Gergely Orosz 提出了這樣一個問題。此外,他也注意到,越來越多的人覺得算法是無用的,並認為它們只是科技公司提出的一種強制性措施罷了。
  • 數據科學家的技能樹該怎麼點?
    作為一名數據科學家,你使用什麼方法?你還有其它方法嗎?數據科學家必須要會使用SQL嗎?本文將討論SQL在數據科學中的作用,以及結構化查詢語言(SQL)的替代方法。SQL是否需要了解SQL具體取決於個人所屬公司和數據科學團隊。
  • 兩個牛人的例子 告訴你什麼是科學家思維和工程師思維
    這位先生首先認為,也許「人造肉」市場意義比較大,比如假設「人造肉」每年能夠替換10%,即大約1000萬噸的肉和肉製品,按照每斤10塊錢計算,那麼「人造肉」的市場規模就達到2000億元。可是,「人造肉」的戰略意義和社會意義,遠不如去做「人造土豆」。怎麼理解呢?
  • 大數據工程師的日常工作都包含哪些內容
    大數據工程師是一個比較寬泛的叫法,正常情況下會細分為大數據開發崗位(包含平臺開發、行業應用開發)、大數據運維、大數據分析等崗位,不同崗位的任務具有一定的差異。大數據工程師與雲計算工程師之間的合作也比較多,很多團隊也會讓雲計算工程師完成一部分大數據工程師的工作任務,二者之間的工作邊界也比較模糊,比如很多存儲方面的工作雲計算工程師和大數據工程師都可以完成。
  • 不學好數學也想當數據科學家?不存在的
    隨著越來越多優秀開源項目的湧現,各類數據科學工具都實現了「半自動化」,數據分析的背後數學原理似乎不再是數據科學家的必備技能。作為一名技術開發工程師,我的日常工作內容主要涉及半導體物理,矽製造過程的有限元模擬,以及電子電路理論。當然,這其中會涉及一些數學,但令人難過的是,我並沒有用到過數據科學家們所需要的那些數學。
  • 程式設計師和工程師的不同
    當時我覺得太詫異了,從很多招聘啟事來看,「程式設計師」不就等於 「工程師」嗎,只是「工程師」更好聽一些而已。等我工作久了,才知道「程式設計師」和「工程師」真的是不一樣的——程式設計師只寫程序,工程師寫能在現實世界中創 造價值的程序。
  • 我是如何10天通過谷歌雲專業數據工程師認證的?
    全文共4288字,預計學習時長8分鐘今天推薦的這篇文章,其作者參加了升級後的谷歌雲專業數據工程師認證考試。他認為,備考是推動谷歌雲數據工程學習的好方法。在本文中,他分享了如何助你在考試中竭盡所能。圖片來源:pexels.com/@wdnet如果你想使用谷歌雲產品並且具備以下條件,建議參加考試:· 是一名數據工程師· 想要成為一名數據工程師· 想要創立一家科技公司
  • 數據科學家成長指南:從入門到被逼瘋
    看到急缺的崗位和高薪,誰能不動心呢?可是你確定想好要成為一名數據科學家了嗎?你知道成為一名DS,需要具備什麼技能嗎?那就請準備好,下面我們要開車了! 你可能已經從媒體鋪天蓋地的報導中,了解到數據科學家這個抬頭非常火。根據UiPath數據顯示,2018年12113個崗位爭奪AI人才,數據科學家需求量排名第二。
  • 給工程師提供所需的OT工具
    運營數據是寶貴的。如果處理得當,它可以解決以前無法解決的操作問題。它還可以基於知識對假設進行證實(或證否)。最重要的是,它可以帶來改進操作性能的新方法。今天,各組織機構都感受到了壓力;他們聽到分析師和競爭對手在討論數位化、工業4.0、機器學習和人工智慧等熱門話題。這些新話題被奉為「下一個時代的事物」。似乎在某種程度上,未來幾年的競爭中,沒有它們就無法生存。
  • 零基礎轉戰年薪50W數據科學家的方法抉擇
    馬雲Ofer Mendelevitch近日在Hortonworks官方博客發表了自己關於人們轉型數據科學家的觀點。以下是Mendelevitch對不同人群給出的具體建議: 統計學家與應用科學家 如果你有統計學或者機器學習的背景,那麼你很可能很多年前就開始使用諸如R, Matlab或SAS進行回歸分析、聚類分析等機器學習相關任務。 R、Matlab和SAS是很強大的統計分析和可視化工具,對於很多機器學習算法都有很成熟的實現方法。 但是,這些工具通常被用於做數據勘探和模型開發,很少單獨用來開發產品級的數據產品。