身為一名數(shù)據(jù)科學家“過來人”,我為什么更建議你去做軟件工程師
大數(shù)據(jù)文摘出品
來源:medium
編譯:朱科錦、yawei
在數(shù)據(jù)最火的時候,數(shù)據(jù)科學家被稱為21世紀最性感的工作,一時進入了全民數(shù)據(jù)科學的時代。數(shù)據(jù)科學的價值雖然有目共睹,但不是每個公司都有條件來實現(xiàn)數(shù)據(jù)驅動的商業(yè)愿景,每個公司的數(shù)據(jù)基礎設施水平層次不齊,有些遠達不到數(shù)據(jù)科學家可以大展拳腳的水平。
作為前數(shù)據(jù)科學家和現(xiàn)軟件工程師,作者給出了過來人的建議。讓我們聽聽他為什么勸想做數(shù)據(jù)科學家的勇士不如去做軟件工程師。
當有人問我如何進入數(shù)據(jù)科學領域時,我建議他們去做程序員。
這只是我的個人觀點。我很希望能聽到你的反駁意見。
每個人都希望成為一名數(shù)據(jù)科學家。雖然數(shù)據(jù)科學可能是21世紀最火熱最的工作,但是軟件工程師也同樣是一份回報率很高的職業(yè)。
經(jīng)常有應屆生和跳槽者來問我要如何進入數(shù)據(jù)科學這個領域。我給他們的建議是:還是去做軟件工程師吧。
我在這兩個領域都有經(jīng)驗,我想用親身經(jīng)歷說服你,軟件工程師是更好的選擇。
1. 軟件工程領域的就業(yè)機會更多
與數(shù)據(jù)科學相比,軟件工程領域的工作機會要多出一個數(shù)量級。以下截圖展示了谷歌搜索“數(shù)據(jù)科學家”和“軟件工程師”工作后的搜索結果。

谷歌搜索:indeed(求職網(wǎng)站)美國數(shù)學科學家

谷歌搜索:indeed 美國軟件工程師
我們可以得到7616條有關數(shù)據(jù)科學工作的搜索結果和53,8893條有關軟件工程工作的搜索結果。該搜索只是針對于在美國的工作,在其他國家試下來也有類似的結果。
根據(jù)Glassdoor的說法,數(shù)據(jù)科學家能賺更多的錢,但根據(jù)我個人未經(jīng)檢驗的假設,數(shù)據(jù)科學工作的平均所需的工作經(jīng)驗也要求更高。

www.glassdoor.ca
www.glassdoor.ca
但如果Open AI給你開出100萬美元的薪水,我建議你還是接下這份工作。
2. “數(shù)據(jù)科學”的定義仍沒有達成共識
管理層通常無法對“數(shù)據(jù)科學”的定義達到共識。由于業(yè)務限制,完全尊重該職位的本來定義有時也是一種奢侈。這意味著“數(shù)據(jù)科學家”的職責因公司業(yè)務需求而異。

一張簡圖
盡管軟件工程師和數(shù)據(jù)科學家之間存在很多不同的角色分工,但現(xiàn)實不太可能遵循這種明確的職責劃分。仍在搭建基礎架構的初創(chuàng)公司尤其如此。
被聘用的候選人最終將致力于解決公司當前最需要解決的問題,而不是解決他們被錄用“職位”的工作范疇內的問題。
很多同事的經(jīng)驗表明,許多數(shù)據(jù)科學家發(fā)現(xiàn)自己像軟件工程師一樣在編寫后端代碼。我還認識一些精通Excel和財務工作的“數(shù)據(jù)科學家”。
這與你在經(jīng)歷Kaggle比賽中成長時的期望形成了鮮明的反差。
3. 數(shù)據(jù)科學家們仍處于孤軍奮戰(zhàn)的狀態(tài)
大多數(shù)公司不需要像軟件工程師那樣多的數(shù)據(jù)科學家。很多公司目前正在雇用他們的第一位數(shù)據(jù)科學家。
因此,即使與開發(fā)人員坐在同一張桌子上,許多數(shù)據(jù)科學家最終還是獨自工作,這樣工作的問題是很難獲得別人的反饋。軟件工程師們要么不了解預測建模,要么忙于處理完全不同的問題。
相比之下,當軟件工程團隊的好處之一就是你有機會對同事說:“我認為我們應該以XYZ方式實施ABC。你怎么看?”。
4. 數(shù)據(jù)科學是偏探索性質的工種,不保證結果
你準備好跟你的老板解釋為啥過去兩周以來的勞動成果不能用于提高業(yè)務了么?這種尷尬的對話時常會發(fā)生。
解決已知的問題或是未知問題是軟件開發(fā)與AI之間的根本區(qū)別之一。
暫且不談代碼問題和其他限制,作為軟件工程師,在開始工作之前你大概知道大多數(shù)軟件工程項目是否可行。但在建立一個ML模型之前你并不能知道該模型是否會有效。
5. 公司還沒有準備好使用AI
即使在“每個公司都是AI公司”的時代,大多數(shù)公司沒有支持AI的基礎架構,很多公司甚至不需要AI。
一家快速擴展的初創(chuàng)公司的數(shù)據(jù)科學主管最近分享了一些建議。
首先,你要發(fā)現(xiàn)問題,然后構建基礎架構,然后請數(shù)據(jù)科學家來解決問題。這不是一個可以快進的過程。
最近,另一家知名公司雇傭的第一位數(shù)據(jù)科學家向我抱怨到:她被迫在筆記本電腦而不是云端的大數(shù)據(jù)上訓練AI模型。
如果你沒有特定的問題要解決,或者公司沒有做好數(shù)據(jù)科學戰(zhàn)略的準備,那么你很難體現(xiàn)自身的價值。
6. 軟件工程學習更普適的技能
成為初級軟件工程師就像獲得一個科技領域的MBA一樣。你可以在很多方面都學到一點知識。
你會學習數(shù)據(jù)庫,云技術,部署,安全性以及如何編寫簡潔的代碼。
通過敏捷大師,高級開發(fā)人員或項目經(jīng)理,你將學習如何管理軟件開發(fā)的過程。
通過代碼審查,你將得到很多指導。
如果你加入的公司擁有一支成熟的軟件開發(fā)團隊,毫無疑問你會迅速提高自己的各項技能。
7. 軟件工程的經(jīng)驗更容易遷移
當你決定進行跳槽時,軟件工程可以提供更全面的技術經(jīng)驗,從而給你更好的就業(yè)機會。
DevOps,安全性,前端,后端,分布式系統(tǒng),商業(yè)智能,數(shù)據(jù)工程,數(shù)據(jù)科學…
我知道許多從軟件轉向數(shù)據(jù)科學的開發(fā)人員。如果你搜索數(shù)據(jù)科學的職位描述,你會發(fā)現(xiàn)它們包括了很多核心的軟件開發(fā)技能。

資料來源:Indeed(我精選了資料來源)
如果你可以搭建端到端的項目,那么除了為Kaggle構建模型外,你還可以做更多的事情。你可以搭建一個模型,進行生產(chǎn)化,設置授權和Stripe(線上支付),然后開始向訪問用戶收費。那么你已經(jīng)可以做自己的創(chuàng)業(yè)公司了。
我不是說數(shù)據(jù)科學的經(jīng)驗不適合遷移。根據(jù)數(shù)據(jù)做決定是一項重要的技能。但是隨著社會變得越來越受數(shù)據(jù)驅動,這種技能也將成為每一項工作的一部分。
8. 機器學習將成為軟件工程師的一項工具
隨著AI的商品化和使用簡化,軟件工程師將開始使用AI來解決他們的問題。
我可以用一下午教一位開發(fā)人員如何構建Sklearn分類器。這并不意味著他們可以構建出下一個AlphaGo,但這確實為他們提供了一種可替代基于用戶輸入的條件邏輯編碼的方法。
數(shù)據(jù)科學家具有關于統(tǒng)計以及模型工作原理的專業(yè)知識和直覺。但是運維和安全工程師也有他們自己的專業(yè)知識。
我認為這幾者的相同比不同更加普遍。經(jīng)驗豐富的軟件專業(yè)人員可以在不同專業(yè)之間遷移,其適應速度可以比新入職者更快。
雖然我不認為數(shù)據(jù)科學會完全整合到軟件工程中,但我確實感覺數(shù)據(jù)科學可能會成為另一個軟件工程專業(yè)。
9. 人工智能不能取代軟件工程師
因為擔心AI會取代其他工作,我于2014年進入軟件工程領域。
自那以后,AI并沒有像我想象得那樣快速發(fā)展。技術的場景落地速度很慢,而AI的使用范圍也遠沒有媒體所宣傳得那么廣。
與其他工作相比,機器學習要實現(xiàn)把軟件工程自動化的進程更路漫漫。雖然有一些新興公司在開發(fā)諸如“AI編寫代碼”之類的出色產(chǎn)品,但編寫代碼并不是真正的工作。真正意義上的工作是指使用技術去解決問題。在AI擁有這項能力之前,編程將仍然是一項寶貴且高薪的技能。
結語
首先,這篇文章只是經(jīng)驗之談。其次,我把數(shù)據(jù)科學家,機器學習工程師和AI研究人員粗略地歸為一類,這三類工作有其個體差異。但是我認為我的論點仍然值得你考慮,畢竟這關乎你的職業(yè)選擇。
不要太把我的觀點當真。我希望你做好充分的行業(yè)研究然后做出自己的決定。這也是成為數(shù)據(jù)科學家的一部分:) 。
歸根結底,我們通過解決問題來獲得報酬。
相關報道:https://towardsdatascience.com/dont-become-a-data-scientist-ee4769899025
【本文是51CTO專欄機構大數(shù)據(jù)文摘的原創(chuàng)譯文,微信公眾號“大數(shù)據(jù)文摘( id: BigDataDigest)”】




























