當(dāng)你看到“數(shù)據(jù)科學(xué)”這個詞時,會想到什么?你可能會覺得它是統(tǒng)計學(xué)、機(jī)器學(xué)習(xí)、深度學(xué)習(xí)和“21 世紀(jì)最性感的工作”等關(guān)鍵詞的組合,或者你的腦海里會浮現(xiàn)出一個數(shù)據(jù)科學(xué)家的形象,她坐在電腦旁,將 AB 測試得到的結(jié)果拼接在一起,又或者你聽很多人說過干這行有賺不完的錢(根據(jù)權(quán)威部門統(tǒng)計:入門級數(shù)據(jù)科學(xué)家的平均年薪約人民幣 744253 元)。無論是哪一種,它都是迷人、聰明和復(fù)雜的。
從本文作者 Vicki Boykis 十年前進(jìn)入這一領(lǐng)域以來,數(shù)據(jù)科學(xué)一直給人這樣的印象,但現(xiàn)在,數(shù)據(jù)科學(xué)已經(jīng)不再是當(dāng)初的樣子了。
我最初是一名數(shù)據(jù)分析師。
我是否曾經(jīng)提到過我有多討厭 Excel 默認(rèn)的數(shù)字字符串格式?
我經(jīng)常是一邊苦等 SQL 的運(yùn)行結(jié)果、整理亂糟糟的 Excel 文件,一邊看著 Hacker News 上有關(guān)海量數(shù)據(jù)挖掘的文章、Facebook 數(shù)據(jù)科學(xué)團(tuán)隊的新聞和谷歌首席經(jīng)濟(jì)學(xué)家 Hal Varian 寫的文章,然后一邊做著白日夢。
2012 年,我很幸運(yùn)地被分配到了一個數(shù)據(jù)分析工程團(tuán)隊,他們正在將一些 ETL 作業(yè)從 Oracle 遷移到 Hadoop 上,以便滿足不斷增長的數(shù)據(jù)吞吐量要求。
有沒有“給白癡用的 Hadoop”? 給小白用的 Hadoop 并不適合我。
我自愿成為第一個使用 Pig 和 Hive 的分析師,主要是因為我不想等到工程工作完成后才能訪問我的數(shù)據(jù)。而且,我沉迷于數(shù)據(jù)科學(xué)家的光環(huán)——這些人開展很酷的實驗,提出很酷的分析想法,并可以使用 MacBook。
我也想成為這樣的人!所以,我在線學(xué)習(xí)了 Python,重溫了我在大學(xué)學(xué)習(xí)過的統(tǒng)計學(xué)。在早期,并沒有真正形式化的方法來學(xué)習(xí)“數(shù)據(jù)科學(xué)”,最多只能看看其他人在做什么、去參加聚會或者試著從人力資源招聘的職位描述中讀出點什么。
在獨(dú)自摸索了很長一段時間之后,我在過去的六年時間里已經(jīng)在“數(shù)據(jù)科學(xué)”領(lǐng)域站穩(wěn)了腳跟。并且,作為一名導(dǎo)師(但我之前并沒有導(dǎo)師),我一直在回復(fù)電子郵件,和那些希望進(jìn)入數(shù)據(jù)科學(xué)領(lǐng)域的人喝咖啡會面。
自 2012 年以來,數(shù)據(jù)科學(xué)行業(yè)發(fā)展極其迅速。它幾乎經(jīng)歷了甘特炒作周期的每個階段。
我們已經(jīng)經(jīng)歷了早期采用階段、有關(guān)人工智能和偏見的負(fù)面新聞、Facebook 等公司的第二輪和第三輪風(fēng)險投資,現(xiàn)在正處于高采用增長階段:銀行、醫(yī)療保健公司和其他財富 100 強(qiáng)企業(yè)(這些公司已經(jīng)落后市場五年)也在為機(jī)器學(xué)習(xí)招聘數(shù)據(jù)科學(xué)家。
很多東西都變了。大數(shù)據(jù)(記得 Hadoop 和 Pig 嗎?)已經(jīng)出局了,R 語言的采用率急劇上升,Python 成為經(jīng)濟(jì)學(xué)家的寵兒,而云計算再次改變了一切。
然而,媒體針對數(shù)據(jù)科學(xué)領(lǐng)域的炒作卻沒有變,一直在鼓吹數(shù)據(jù)科學(xué)家是“21 世紀(jì)最性感的職業(yè)”。但我現(xiàn)在認(rèn)為這是一個很嚴(yán)重的問題,需要引起社區(qū)的注意。希望進(jìn)入這個行業(yè)的初級數(shù)據(jù)科學(xué)家供過于求,而一旦他們獲得了夢寐以求的“數(shù)據(jù)科學(xué)家”頭銜,他們能夠得到的東西與他們的期望其實是不匹配的。
新數(shù)據(jù)科學(xué)家的供過于求
首先,我們來談?wù)劤跫墧?shù)據(jù)科學(xué)家的供過于求。針對數(shù)據(jù)科學(xué)的持續(xù)媒體炒作導(dǎo)致過去五年中市場上的初級人才數(shù)量激增。
這純粹是道聽途說的東西,所以不要太當(dāng)真。但是,基于我自己作為簡歷篩選者、數(shù)據(jù)科學(xué)家導(dǎo)師、面試官、面試者,以及與從事類似職業(yè)的朋友和同事的對話,我有一種直覺,每個給定的數(shù)據(jù)科學(xué)職位(特別是入門級的科學(xué)職位)的候選人數(shù)量從 20 個增加到 100 個或更多。我最近了解到,我的一位朋友在招聘一個職位時收到了不止 500 份簡歷。
這都很正常,類似的情況還有很多。機(jī)器學(xué)習(xí)教父吳恩達(dá)的 AI 創(chuàng)業(yè)公司每周要求工作 70 到 80 個小時,但仍然收到了大量申請,甚至有人愿意免費(fèi)做志愿者。在寫這篇文章時,他們的辦公室已經(jīng)容不下更多的人。
對 4 月份招聘廣告的研究發(fā)現(xiàn),美國有超過 10,000 個針對人工智能或機(jī)器學(xué)習(xí)的職位空缺。
超過 10 萬人參加了 Fast.ai(一家專注于推廣人工智能的創(chuàng)業(yè)公司)的深度學(xué)習(xí)課程。
假設(shè)平均 MOOC 完成率約為 7%,那意味著有 7000 人可以填補(bǔ)這 10,000 個工作崗位。但是,今年是這樣,那么明年呢?我們是否在假設(shè)數(shù)據(jù)科學(xué)創(chuàng)造的就業(yè)率是穩(wěn)定的?如果實際情況不是這樣的,那么數(shù)據(jù)科學(xué)就業(yè)市場有可能會萎縮。
LinkedIn 提供的數(shù)據(jù)表明,市場上有 151,717 個數(shù)據(jù)科學(xué)人才空缺。雖然目前還不清楚它們是不是就是指數(shù)據(jù)科學(xué)家,或者是只擁有部分技能的人,但我們假設(shè)是前者。因此,我們可以說美國現(xiàn)在有 150,000 多個數(shù)據(jù)科學(xué)家職位空缺。
我們假設(shè)有 100,000 個人已經(jīng)參加了數(shù)據(jù)科學(xué)課程,并且其中有 7,000 個人會完成課程。
但是,上面這數(shù)字并沒有考慮到其他的數(shù)據(jù)科學(xué)候選人計劃和途徑:Fast.ai 之外的 MOOC,比如 Coursera、Metis(超過 10 個全國性訓(xùn)練營)和 General Assembly(每 12 周就有 25 人參加)、來自加州大學(xué)洛杉磯分校等地的遠(yuǎn)程學(xué)位、分析和數(shù)據(jù)科學(xué)的本科學(xué)位、YouTube,等等。還有很多博士正在從學(xué)術(shù)界轉(zhuǎn)向數(shù)據(jù)科學(xué)領(lǐng)域,但卻無法在競爭極其激烈的就業(yè)市場中找到工作。
這篇文章指出,在 2015 年有 4 萬個數(shù)據(jù)科學(xué)家職位空缺。總體而言,到 2018 年,分析技能的市場供應(yīng)將超過市場容量。

??參加數(shù)據(jù)科學(xué)計劃的初級人才數(shù)量,再加上數(shù)百個開設(shè)數(shù)據(jù)科學(xué)課程的訓(xùn)練營,你將看到一場完美的風(fēng)暴。
除了我從工作中了解到的以及與 100 多名同事進(jìn)行的交談之外,下面的兩條推文讓我確信目前存在真正的數(shù)據(jù)科學(xué)供應(yīng)泡沫。
@Cal 的數(shù)據(jù)科學(xué)入門課程 Data 8 非常受歡迎。它位于有澤勒巴大劇院。2018 年秋季開學(xué)。
UVA(美國弗吉尼亞大學(xué))很自豪地宣布開設(shè)數(shù)據(jù)科學(xué)學(xué)院的計劃,它將滿足社會對數(shù)據(jù)科學(xué)不斷增長的需求。
由于學(xué)術(shù)界在跟上新趨勢方面通常會滯后,因此,對于所有希望在數(shù)據(jù)科學(xué)領(lǐng)域找到職位的初級數(shù)據(jù)科學(xué)家來說,這確實令人感到擔(dān)憂。對于一個擁有數(shù)據(jù)科學(xué)新學(xué)位的人來說,要找到一個數(shù)據(jù)科學(xué)的職位是非常困難的,因為他們要在市場上與許多新人展開競爭。
但在三、四年前,情況并非如此。而現(xiàn)在,數(shù)據(jù)科學(xué)已經(jīng)從流行語變成了連硅谷之外的公司都在招聘的職位,職位的準(zhǔn)入門檻更高了,而且偏愛具備數(shù)據(jù)科學(xué)經(jīng)驗的人,數(shù)據(jù)科學(xué)面試仍然很難通過。
正如很多文章指出的那樣,你不一定會在第一次嘗試時就能找到你夢寐以求的工作。市場可能非常殘酷,并且對于大量初入者來說非常令人沮喪。
數(shù)據(jù)科學(xué)是一個具有誤導(dǎo)性的崗位需求
第二個問題是,一旦這些初級人員進(jìn)入市場,他們會對數(shù)據(jù)科學(xué)工作產(chǎn)生不切實際的期望。每個人都認(rèn)為他們將從事與機(jī)器學(xué)習(xí)、深度學(xué)習(xí)和貝葉斯模擬相關(guān)的工作。
這不是他們的錯,這就是數(shù)據(jù)科學(xué)課程和技術(shù)媒體所宣揚(yáng)的。
但現(xiàn)實的情況卻是,“數(shù)據(jù)科學(xué)”大多數(shù)時候是關(guān)于如何清理和整理數(shù)據(jù)以及將數(shù)據(jù)從一個地方移動到另一個地方。
我最近進(jìn)行的一次非科學(xué)調(diào)查證實了這一點:
一段時間以來,我一直對此感到好奇,所以決定做一個民意調(diào)查。
“作為一個 2019 年被稱為’數(shù)據(jù)科學(xué)家’的人,我花了大部分時間(60%以上):”
也歡迎“其他”選項,請在回復(fù)中添加。
還有很多行業(yè)專家發(fā)來的推文也是如此:
對于我最近的幾個 ML 項目,復(fù)雜性并不在于建模或訓(xùn)練,而在于輸入預(yù)處理。我發(fā)現(xiàn)在一個項目中耗盡了 CPU(而不是 GPU),我不確定如何進(jìn)一步優(yōu)化 Python(我正在考慮使用 C++)。
我看到初級 ML/CV 工程師對構(gòu)建數(shù)據(jù)集完全缺乏興趣。雖然這是一項無聊的工作,但我認(rèn)為在整理數(shù)據(jù)集時需要學(xué)到很多東西,畢竟這占了問題的一大半。
角色和責(zé)任:
- 自動化糟糕的商業(yè)行為
- 根據(jù)需要編寫臨時 SQL
經(jīng)驗要求:
15 年使用 Python 進(jìn)行深度學(xué)習(xí)的經(jīng)驗
寫過有關(guān)貝葉斯建模的博士論文
7 種語言的 NLP 經(jīng)驗
10 年從頭開始創(chuàng)建 Hadoop 集群的經(jīng)驗
在過去兩年中,項目的工作類別所占百分比:
- 涉及 ML:15%
- 涉及移動、監(jiān)控和統(tǒng)計數(shù)據(jù):85%
顯而易見的是,在炒作周期的后期階段,數(shù)據(jù)科學(xué)逐漸向工程學(xué)靠近,數(shù)據(jù)科學(xué)家需要的技能不再是基于可視化和統(tǒng)計學(xué),而是更接近傳統(tǒng)計算機(jī)科學(xué)課程所提供的那些:
像單元測試和持續(xù)集成這樣的概念很快就成為數(shù)據(jù)科學(xué)家和從事 ML 工程的數(shù)值科學(xué)家的行話和常用的工具。
這導(dǎo)致了一些事情的發(fā)生。首先是“機(jī)器學(xué)習(xí)工程師”這個頭銜的崛起,在過去的 3 到 4 年里,它帶來了更多的聲望和更高的收入潛力。
其次,它導(dǎo)致數(shù)據(jù)科學(xué)家頭銜含金量嚴(yán)重縮水。由于數(shù)據(jù)科學(xué)家頭銜的聲望,像 Lyft 這樣的公司會招聘數(shù)據(jù)科學(xué),但實際上他們只需要數(shù)據(jù)分析師的技能,導(dǎo)致“數(shù)據(jù)科學(xué)”職位對技能的要求發(fā)生了扭曲,究竟需要多少新進(jìn)入者也變得不明確。
給新數(shù)據(jù)科學(xué)家的建議
因此,本著繼續(xù)為初學(xué)者提供建議的初衷,如果有人問我如何在 2019 年進(jìn)入數(shù)據(jù)科學(xué)領(lǐng)域,我會給他們發(fā)送下面這樣的電子郵件。
這是一個兩步走的計劃:
不要死盯著數(shù)據(jù)科學(xué)的工作崗位。
為大多數(shù)數(shù)據(jù)科學(xué)家相關(guān)的工作做好準(zhǔn)備,但不要成為數(shù)據(jù)科學(xué)家。調(diào)整你的技能組合。
這些話可能有點令人沮喪!但請允許我解釋一下,希望它們不像聽起來的那么悲觀。
不要進(jìn)入數(shù)據(jù)科學(xué)領(lǐng)域
因為每個初級職位一般有 50 個(有時 100 個,有時 200 個)人申請,所以不要與這些人去競爭。不要去攻讀數(shù)學(xué)科學(xué)學(xué)位,不要參加訓(xùn)練營(我見過的大多數(shù)訓(xùn)練營的效果都不太好)。
不要做別人正在做的事情,因為這樣無法讓你脫穎而出。你正處在一個過度飽和的行業(yè)中,這樣只會給自己增加難度。在我之前提到的那份PWC 報告中,數(shù)據(jù)科學(xué)職位的數(shù)量估計為 5 萬,數(shù)據(jù)工程師職位的數(shù)量為 50 萬,數(shù)據(jù)分析師職位的數(shù)量是 12.5 萬。
通過“后門”進(jìn)入數(shù)據(jù)科學(xué)領(lǐng)域要容易得多,也就是說從初級開發(fā)人員開始,可以是 DevOps 工程師、項目管理人員、數(shù)據(jù)分析師、信息管理員或類似的角色。這可能需要更長的時間,但在你努力完成數(shù)據(jù)科學(xué)工作的同時,你也將學(xué)會對職業(yè)生涯來說至關(guān)重要的 IT 技能。
了解當(dāng)今數(shù)據(jù)科學(xué)所需的技能
以下是你在數(shù)據(jù)領(lǐng)域需要解決的一些問題:
1)創(chuàng)建 Python 包
2)將 R 語言用在生產(chǎn)環(huán)境中
3)優(yōu)化 Spark 作業(yè),使其更有效地運(yùn)行
4)對數(shù)據(jù)進(jìn)行版本控制
5)讓模型和數(shù)據(jù)可重現(xiàn)
6)對 SQL 進(jìn)行版本控制
7)在數(shù)據(jù)湖中建立和維護(hù)干凈的數(shù)據(jù)
8)大規(guī)模時間序列預(yù)測工具
9)共享 Jupyter Notebook
10)尋找可用于清理數(shù)據(jù)的系統(tǒng)
11)JSON
作為一名數(shù)據(jù)科學(xué)家,優(yōu)化模型、可視化和分析數(shù)據(jù)是職責(zé)工作的一部分,而數(shù)據(jù)科學(xué)主要是(也一直是)關(guān)于在一個地方獲得用于插補(bǔ)的干凈數(shù)據(jù)。
你應(yīng)該如何為解決這些問題做好準(zhǔn)備?如何為工作做好準(zhǔn)備?你可以考慮學(xué)習(xí)下面這三種技能,它們都是基礎(chǔ)技能,并彼此依賴,從簡單到困難。
所有這些技能也是數(shù)據(jù)科學(xué)以外的軟件開發(fā)的基礎(chǔ)和關(guān)鍵,這意味著,如果你無法找到數(shù)據(jù)科學(xué)工作,可以快速轉(zhuǎn)做軟件開發(fā)或 DevOps。我認(rèn)為這種靈活性與針對特定數(shù)據(jù)相關(guān)工作的培訓(xùn)同樣重要。
1. 學(xué)習(xí) SQL
首先,我建議每個人都要學(xué)習(xí) SQL,無論他們的目標(biāo)是成為數(shù)據(jù)工程師、ML 專家還是 AI 大師。
SQL 并不性感,也不是上述問題的解決方案。但為了訪問數(shù)據(jù),你很可能需要針對數(shù)據(jù)庫編寫一些 SQL 查詢,并用它獲取答案。
SQL 非常強(qiáng)大且非常流行,甚至有些 NoSQL 和鍵值存儲數(shù)據(jù)庫也在重新實現(xiàn)它。比如 Presto 推出的 Presto 和 Athena、BigQuery、KSQL、Pandas、Spark,等等。如果你發(fā)現(xiàn)自己陷入了數(shù)據(jù)工具海洋之中,很可能可以找到一個適合你的 SQL 工具。而且,一旦你理解了 SQL,你會發(fā)現(xiàn)它比其他查詢語言更容易理解,從而開辟了一個全新的世界。
在熟悉了 SQL 之后,下一步是了解數(shù)據(jù)庫的工作原理,這樣你就可以學(xué)會如何優(yōu)化查詢。你不一定要成為數(shù)據(jù)庫開發(fā)人員,但很多概念將延續(xù)到你的其他編程生活當(dāng)中。
2. 學(xué)好一門編程語言和學(xué)習(xí)編程概念
SQL 不是一門編程語言嗎?它是的,但它是聲明性的。你指定所需的輸出(即你要從表中獲取哪些列),但不指定這些列以怎樣的形式返回給你。SQL 抽象了很多數(shù)據(jù)庫底層的細(xì)節(jié)。
你需要一門過程式語言,你可以自行指定如何以及從哪里獲取數(shù)據(jù)。大多數(shù)現(xiàn)代語言都是過程式的:Java、Python、Scala、R 語言、Go 語言,等等。
關(guān)于為數(shù)據(jù)科學(xué)應(yīng)該選擇哪種語言存在很多爭論,我不會針對任何特定情況規(guī)定說要學(xué)習(xí)哪一種語言,只是在我的職業(yè)生涯中,Python 對我來說非常有用。作為一個初學(xué)者,它很容易入門,可以說是數(shù)據(jù)領(lǐng)域最流行的編程語言,并且可以用來完成很多不同的事情,從將模型嵌入 scikit 中,到訪問 AWS API,再到構(gòu)建 Web 應(yīng)用程序、清理數(shù)據(jù),以及創(chuàng)建深度學(xué)習(xí)模型。
當(dāng)然,也有一些任務(wù)不太適合用 Python 來完成:大型應(yīng)用程序、打包依賴項和一些特定的與數(shù)字相關(guān)的任務(wù),特別是時間序列和 R 語言提供的一系列功能。
如果你不選擇 Python,也沒問題。但你至少要選擇一種語言,讓你在數(shù)據(jù)科學(xué)領(lǐng)域之外保持靈活性。例如,如果你的第一份工作是數(shù)據(jù)分析師、QA 分析師、DevOps 初級工程師,或者其他職位,掌握一門語言都有助于你站穩(wěn)腳跟。
在選擇了一門編程語言并弄清楚如何使用它之后,就可以開始學(xué)習(xí)它背后的范式以及它與計算機(jī)科學(xué)生態(tài)系統(tǒng)的關(guān)系。
你是如何使用你的語言實現(xiàn) OOP 的?OOP 是什么東西?你如何優(yōu)化你的代碼?你的語言的依賴項是如何工作的?如何使用給定語言打包代碼,如何進(jìn)行版本控制、持續(xù)集成,如何部署模型工件?你的語言社區(qū)在哪里,會在哪里舉行聚會?
了解你的語言,了解它的優(yōu)缺點,用你的語言開發(fā)一些有趣的東西。
然后,當(dāng)你有足夠的信心繼續(xù)下去時,也只有在這個時候,才能開始學(xué)習(xí)你的第二門語言。它將把你帶入更廣泛的語言設(shè)計、算法和模式的世界。
3. 了解云端的工作
現(xiàn)在你已經(jīng)知道如何編程,現(xiàn)在是時候?qū)⑦@些技能和理論帶到云端了。
如今,云無處不在,你可能需要在下一個工作中使用云。如果有更多的機(jī)器學(xué)習(xí)范例轉(zhuǎn)移到云端(如 SageMaker、Cloud AI 和 Azure 機(jī)器學(xué)習(xí)),已經(jīng)有現(xiàn)成的模板可用來實現(xiàn)算法,而且企業(yè)的更多數(shù)據(jù)也開始存儲在那里。
你可能會與行業(yè)領(lǐng)導(dǎo)者 AWS 合作,但越來越多的公司正在采用 Google Cloud,而很多已經(jīng)與微軟開展業(yè)務(wù)合作的保守企業(yè)在使用 Azure。我建議深入了解這三個云供應(yīng)商,然后挑選一個你最感興趣的。云設(shè)計范式都是類似的,你必須了解如何將服務(wù)粘合在一起,如何區(qū)分云端的服務(wù)器,以及如何使用 JSON。
有趣的是,這三家供應(yīng)商現(xiàn)在都提供了他們的產(chǎn)品認(rèn)證。我一般不會通過認(rèn)證來衡量一個人對知識的掌握程度與否,但通過認(rèn)證可以學(xué)到云的工作原理,這是工程的另一個組成部分:網(wǎng)絡(luò)。
了解這三種產(chǎn)品,并在開始下一份工作之前在云端構(gòu)建一些有趣的東西。
這里缺失的部分當(dāng)然是“軟技能”——知道在什么時候構(gòu)建什么,知道如何在工作場所進(jìn)行交流,知道其他人想要什么。軟技能與技術(shù)技能一樣重要,有很多專門討論它的文章,但為了保持這篇文章不會太長,這里就不作累述了。
最后的步驟
現(xiàn)在,請深呼吸,我想你已經(jīng)做好準(zhǔn)備了。
如果上述有任何一點(或者所有)讓你感興趣,那說明你已經(jīng)準(zhǔn)備好在 2019 年成為數(shù)據(jù)科學(xué)家、機(jī)器學(xué)習(xí)工程師、云專家或 AI 大師了。
請記住,你的最終目標(biāo)是打敗那些攻讀數(shù)據(jù)科學(xué)學(xué)位、參加訓(xùn)練營和學(xué)習(xí)教程的人。
你想要邁出第一步,獲得一個與數(shù)據(jù)相關(guān)的職位,然后朝著你夢想的工作前進(jìn),同時盡可能多地了解科技行業(yè)的總體情況。
我最后一個一般性的建議是給自己打氣:
這對每個人來說都很難,似乎有很多事情你必須知道。不要?dú)怵H。
不要因為想太多就望而卻步。先從小處開始,做一些小的事情,學(xué)習(xí)一些小的東西,構(gòu)建一些小的東西,把你做的事情告訴其他人。請記住,你在數(shù)據(jù)科學(xué)領(lǐng)域的第一份工作可能不是數(shù)據(jù)科學(xué)家。
(部分內(nèi)容來源網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系刪除)