成為資料科學家,到底需要怎樣的學歷?高中,大專,本科,研究生?
想做資料科學家的話,該不該讀碩士、博士?本文作者根據自己的工作經歷,基於收集過的上千樣本給出了一個非常規的答案:這些都不是必需的。作者甚至認為,適當的時候本科輟學更好……
我是一個輟學的 PhD。
這意味著,雖然我已經完成了許多研究生課程,但最終收穫的只有「輟學」這麼個字眼。如果博士順利畢業,你就是萬千書呆子中的一個。但讀了兩年半後輟學,你就是一個前衛的書呆子。人們會想知道你接下來還會做些什麼。他們會說,「馬斯克也是從研究生學院輟學的。這傢伙可能跟他一樣!」
我之前的綽號是「無法確定未來、下 4D 棋的書呆子天才」,從研究生院退學對我的名聲有了一些影響。我越來越清楚地知道,不是所有人都需要讀博,你選擇讀博或者中途輟學都可以。碩士學位也是如此。對於一般有志於 STEM 的專業人員來說,情況的確如此,而對有志於成為資料科學家的人來說更是如此。我馬上就會講到原因。
在這裡我還是要推薦下我自己建的大資料學習交流qq裙:458345782, 裙 裡都是學大資料開發的,如果你正在學習大資料 ,小編歡迎你加入,大家都是軟體開發黨,不定期分享乾貨(只有大資料開發相關的),包括我自己整理的一份最新的大資料進階資料和高階開發教程,歡迎進階中和進想深入大資料的小夥伴。
但首先,你可能想知道我是怎麼知道這個的。
事情是這樣的:我在一家資料科學導師創業公司工作。通過這份工作,我大概採訪了一千多位有抱負的資料科學家——有些人有博士學位,有些人有碩士學位,有些人有本科學位,也有一些人在攻讀各個學位的過程中輟學了。這給我留下了罕見而珍貴的東西:具有統計學意義的資料科學職業生涯故事的重要樣本。
我從這些故事中瞭解到:不同學歷對不同時間、地點的不同人來說都是有意義的。但是因為大部分人都會諮詢大學學院的研究生導師來決定是否要進入研究生學院,因此他們在註冊之前並不會完全瞭解研究生院的情況。
從一位前學術轉型的創業公司創始人那裡我瞭解到:不是所有學位都適合每個人。下面會陳述原因。
01
博士學位
「警告:以下內容可能會引起很多博士的不適。我提前道歉。」
「我看很多資料科學工作都需要博士學位。我一定要有博士學位才能成為資料科學家嗎?」
當然不了,這不是一碼事。
不要誤會我的意思,在電子郵件簽名中能使用這三個字母(PhD)絕對是件好事。有的時候我也希望我能因為這個原因堅持下去。但隨後現實有變。
如果你的目標是成為一名資料科學家或機器學習工程師(研究員),那麼讀博士可能是很好的選擇。但也可能不是,原因如下:
要很長時間才能獲得博士學位。
除非你從「好的」導師那裡獲得了「好的」博士學位,否則你無法學到任何有價值的東西。
第一點:在美國或加拿大,獲得博士學位需要 4 至 7/8 年的時間。平均時間一般是 5-6 年,這取決於具體的院校。現在我們換個角度來看。
你知道 5 年前資料科學中沒有什麼嗎?Spark、XGBoost、jupyternotebooks、GloVe、spaCy、TensorFlow、Keras、Pytorch、InceptionNet、ResNet、強化學習等等。
所以除非你決定自學這些層出不窮的新東西(我不確定研究生院會教你這些東西),否則你在讀博的時候可能會像被冰凍在 2012 年一樣,然後到畢業時解凍,你完全變成了一個新手。你會發現自己置身於資料科學技術的美麗新世界,你必須得在畢業之後自學這些技術。
關鍵是,資料科學和機器學習發展得非常快。而它們在未來只會發展得更快。所以如果你想在資料科學或機器學習的相關領域獲得博士學位,而且你的目標是未來有一天從事相關的工作,那麼你本質上就是在賭博:你賭的是當自己畢業時,所學的專業知識依舊相關而且有很高的需求。這個賭注的風險和收益都很高。
第二點:花一點時間想一下你的導師會是誰,以及他們為什麼沒在 Google 或 Facebook 工作。
當然,有些人更喜歡做學術研究,而不是在業內做資料科學或機器學習的工作。但值得注意的是,大部分資金都提供給了 ML 行業中頂級的人才,而這對學術領域的人造成了明顯的下行選擇壓力。
有的地方也有一些例外情況。這些一般都是超級精英計劃,比如加拿大的 Vector Institute(向量學院)或 MILA、美國的麻省理工和伯克利的資料科學專案。當你看到這種專案就會知道它們的存在,但請記住,如果你當前所在的大學沒能排進全球「前 200」,那你們學校就不太可能會有這種專案。
綜上所述:如果你就想成為 Airbnb 的深度學習工程師,那麼毫無疑問,博士學位可能是為數不多的敲門磚之一。但是如果你在讀博時沒有參與過一流的專案,就別指望受僱於一流的公司。
但是如果你只是想做一名普通的資料科學家,那麼選擇讀博並非是明智之舉。如果想成為一名真正的資料科學家,首先你最好要有 4 到 8 年的工作經驗,在這個過程中每當有新技術出現時你都能學到,而且你可以在趨勢改變之前更好地預測出新的趨勢。
如果你想讀與資料科學無關領域(如物理學、生物學、化學)的博士學位,但你的目標是成為資料科學家的話,我會建議你:如果你得花 18 個月或更長時間才能畢業(而且你確定想成為一名資料科學家),那就輟學吧。沉沒成本誤區(sunk cost fallacy)會使你質疑這種說法(而你本來也應該認真思考),但就我的經驗而言(統計而得),這才是更正確的選擇。
02
碩士學位
要做資料科學的話需要碩士學位嗎?
這要視情況而定。下面我剛做的計分卡。你可以根據自己的情況把分數加起來,如果分數大於 6,那你可能就需要一個碩士學位:
有「硬」STEM 背景(物理學/數學/CS 的本科或其他學位):0 分
有「軟」STEM 背景(生物學/生物化學/經濟學的本科或其他學位):2 分
沒有 STEM 背景:5 分
使用 Python 的經驗少於 1 年:3 分
從沒涉及過程式設計相關的工作:3 分
無法獨立學習:4 分
當我說這個計分卡是基本的邏輯迴歸演算法時你無法理解:1 分
注意事項
你要想清楚,你需要的是資料科學碩士學位還是訓練營。如果你選擇參加訓練營,要注意他們的激勵措施:他們是否在不保障你被錄用的前提下要求你付款?訓練營有相關的職業服務嗎?
大多數人都懷疑訓練營。他們也確實值得懷疑。但是大多數人忘了他們也應該同樣懷疑任何不提供就業保障的大學碩士學位。碩士學位其實也是一種訓練營。要用同樣的方式對待它們。不要把注意力放在成績上,而是要放在所學內容上。問問你們專案的研究生就業率是多少。大學讓學生們相信簡單的專案就是好專案,或者只是領你進門而已。這是一個心理遊戲,而且通過「大學學位具有獨立價值」這一已經過時的「傳統觀念」來強化這個遊戲。但你的目標是獲得工作,而不是「投入時間」後獲得一張紙。
即便你已經完成了碩士課程,你也還有許多技能要學習。而且可能比你想象的還要多。但只要碩士課程足夠短(不超過 2 年),而且花費沒有那麼高昂,那還是很值得去讀的。
03
本科學位
一般來說,你要有本科學位才能成為資料科學家。這不一定是因為你需要本科所學的知識,而是因為公司普遍還不能接受這一點:自學加上參加訓練營和一些線上課程就可以讓你做好參加工作的準備(儘管在某些情況下這是絕對可以的)。
本科學的東西可能與工作無關。如果你和一些科技領域的人交談過,就會知道,就學習技術而言,工作經驗遠大於學習。部分原因是本科的教學內容一般會過時 5 到 10 年。如果你學的是不會發生太大變化的領域,比如物理學、數學或統計學領域,這倒還好。
但是如果你在工程學或 CS 領域,你暑假在一家很好的公司實習過,你想推遲畢業時間(或輟學)來獲得更多的工作經驗,你百分百應該考慮這麼做。如果你讀本科的目的是找一份工作並且你已經在一家有極大發展空間的公司找到工作的話,那麼支付更多的學費來畢業就沒什麼意義了。
我絕不是說你應該在本科時輟學。我說的是大部分人如果已經完成了實習,並且可以將實習轉變成具體的全職工作,那他們就應該想開一點——學業沒完成就算了。這種情況並不多見,但我懷疑這很大程度上只是因為許多本科生認為獲得本科學歷是「優秀的人做的事」而已。
我在本文給出的建議在很多方面都是非常規的。但是在像資料科學這樣飛速發展的領域中,慣例一般都會遠遠落後於最佳方案。從社會角度講,我們對研究生教育價值的看法很大程度上是源於傳統觀念的影響,而傳統觀念則是最需要趕上現實發展的。
當然這不意味著正規教育,或者說研究生學位是不值得獲取的。但是大家不應該把獲得碩士學位或博士學位當做必要條件:如果你只是為了良好的資料科學職業軌跡而申請碩士研究生,那也許你應該重新考慮你的策略。
在這裡我還是要推薦下我自己建的大資料學習交流qq裙:458345782, 裙 裡都是學大資料開發的,如果你正在學習大資料 ,小編歡迎你加入,大家都是軟體開發黨,不定期分享乾貨(只有大資料開發相關的),包括我自己整理的一份最新的大資料進階資料和高階開發教程,歡迎進階中和進想深入大資料的小夥伴。