數據科學家和工程師:各霸一方,一旦聯手,所向披靡
我們都可以獨立工作
但若聯手,便所向披靡
結對編程是指特地安排兩名軟件工程師坐在同一台工作站前,共同進行工作。
我參與了數百場技術講壇、公司宣講等活動遇到的第一個問題都會是為何我會熱衷於結對編程的工作形式。我的回答是:高效穩定學習好,質量更可靠,沒有信息孤島,結對讓工程師真正幫到彼此。我在Pivotal公司最大的辦公室有125對,也就是250名工程師從事結對編程,所以我對此非常清楚。
由於結對編程的這些優勢,讓我們想要在公司將其從高強度學習擴展至機器智能領域。
結對是最有效的學習方法
結對編程是快速創造高質量產品的最好方法,將機器智能元素融入產品,更不會拖你的後腿。
把數據科學家與工程師結成對子,將會使工程師快速具備機器學習研究的能力,讓工程師如虎添翼,同時,數據科學家也有機會了解自己的研究成果是如何應用的,還可以寫一些代碼,做出產品雛形。
如此一來,每個人都能看到係統全局,而不會囿於自身專業的一隅。合作的兩個人都能深入理解產品是如何端到端工作的,並嚐試更快地構建係統。最重要的是,工程師和數據科學家互相幫助,取長補短,破解難題,所向披靡。
如果是兩個工程師結對的話,彼此持續分享知識,省去了過多的頭腦風暴會議。結對的做法源自於人類社會屬性,因而能令人持續專注。工程師能夠在一起互學互助,心無旁騖地每天工作超過8小時,簡直就像在玩Facebook和看搞笑視頻一樣。
最終,代碼的質量就會提高。要知道,代碼的行數其實是越少越好。當兩名工程師一起寫代碼的時候,他們能夠互相交流,最終你會發現代碼質量在飛速提高。
Ben Rady: 如果所有的工程師都結對了,他們每個人的代碼數量不是減半了麼?
數據科學家過於學術化
經驗豐富的軟件工程師和數據科學博士們,像是來自於兩個完全不同的世界,他們創新和解決問題的方法是大相徑庭的。數據科學家通常熱衷於深入研究而比較少去接觸實際問題,他們善於開發新的機器學習理論,但並不會把這些理論用到實際產品中去。
與之對比鮮明的是,很多工程師對機器學習很有興趣,但是沒有接受過理論培訓或專業學習。在這一點上,我認為工程師並不需要博士學位才能有效應用機器學習。特別是,當他們能夠和博士們並肩工作的時候,他們就能夠快速積累相關知識。如此說來,還有什麼學習方法比與專家共事更為有效呢?
對我們來說,結對就意味著打破理論和實踐之間的壁壘。我們認為,數據科學家不應該在一個產品研發環境中進行純理論研究。研究的終極目的是為了將其成果付諸於產品。隻有機器學習使我們的用戶受益,方能體現出我們的價值。
孤立的團隊無法獲得成功
曾經(甚至現在),很多公司會設立獨立的研究團隊。這個團隊會將孤身奮戰,那些偉大的想法,可能要十年以後才能實現。到最後,隻有少部分成果會慢慢地轉化為實際產品,而大多數成果可能就此湮滅,很多研究實驗室的工作就是這樣令人扼腕。
這樣的做法是有缺陷的,它把產品開發的研究階段和應用階段割裂開來。數據科學家得不到足夠的反饋,而工程師也有很多客觀限製,無法把研究轉化為實際產品。一旦你把研究成果堆在牆角,產品設計理念也就無法實現,因此,這個方法必須改變。
結對編程,使我們能夠立即將學術理論以非常靈活的方式付諸於實踐。一些初創公司讓機器智能專家獨立於其他團隊工作,這些專家大門不出二門不邁,根本沒有真實客戶信息來驗證自己的想法。而我們恰恰反其道而行之,結對編程使我們能夠將最新的機器智能理論快速用於實際場景。
在Helpful公司,我們整個團隊的工程師和數據科學家都是結對工作的。我問過一些之前沒有結對編程經曆的工程師,在這裏感覺如何。他們回答說,第一,頗具成果;第二,學習力Max。有一名工程師說,我現工作能夠全情投入,並且大家也已經習慣於結對來解決問題,整個團隊充滿活力。
在Michael Lewis的新書中,他采訪了Daniel Kahneman關於他與Amos Tversky合作榮獲諾貝爾獎項的事情。Daniel再度將此成果歸功於他們之間的關係,歸功於他們結對工作,在關鍵思想中互相支持,最終創建了行為經濟學。Kahneman的回答非常簡潔:我們可以獨立工作,但若聯手,即為天才。
原文發布時間為:2017-02-06
本文來自雲棲社區合作夥伴“大數據文摘”,了解相關信息可以關注“BigDataDigest”微信公眾號
最後更新:2017-05-25 18:32:01
上一篇:
不幸的人各有不幸嗎?文本分析流浪漢乞討標語牌後發現的套路(附代碼)
下一篇:
Linux上TensorFlow的深入研究:構建一個低成本、快速、精準的圖像分類器
雲原生:雲計算時代命題之終極解決方案
360路由器:神一般主宰你所有的電子設備
又一個項目開源,阿裏已成為中國開源的關鍵力量?
58???????????????30???????????????-??????-????????????-?????????
iPhone8解鎖多少錢,iphone8怎麼解鎖id密碼忘記了
PPT一打開就放映,怎麼樣能還原到可以更改的窗口呢?
ActivityGroup中出現的Unable to add window -- token android.app.LocalActivityManager$LocalActivityRecord@
iphone7鎖機了怎麼辦,蘋果8被鎖了怎麼辦
'Ext.EventObject' 為空或不是對象的錯誤原因和解決方法
Java IO--壓縮流ZipOutputStream/ZipInputStream