入行需謹慎,你不必攻讀數(shù)據(jù)科學(xué)學(xué)位,也不必報訓(xùn)練營。
來源:大數(shù)據(jù)文摘,veekaybee
數(shù)據(jù)科學(xué)剛剛度過了它的黃金五年。
自2012年以來,這個行業(yè)發(fā)展迅速。它幾乎完整經(jīng)歷了Gartner技術(shù)成熟度曲線的每個階段。
度過了初期使用階段、有關(guān)AI和偏見的負面新聞、Facebook等公司的第二三輪風(fēng)投?,F(xiàn)在的數(shù)據(jù)科學(xué)正處于高增長使用階段:即使是銀行、醫(yī)療保健公司和落后市場五年的其他100強企業(yè),也在招聘機器學(xué)習(xí)中的數(shù)據(jù)科學(xué)崗位。
但現(xiàn)實正在發(fā)生巨大的變化。
來自captech基金的資深數(shù)據(jù)科學(xué)家Vicki Boykis發(fā)布了一篇《數(shù)據(jù)科學(xué)不一樣了》的文章,引起了廣泛討論。五年前被譽為“最性感“職業(yè)的數(shù)據(jù)科學(xué)家,正在進入一個新的階段。
我們該如何應(yīng)對?一起看看。
大數(shù)據(jù)(還記得Hadoop和Pig嗎?)已經(jīng)出局,R語言的采用率急劇上升,Python在《經(jīng)濟學(xué)人》雜志中被表揚多次,“云”已經(jīng)再次改變了一切。
不幸的是,大眾媒體在數(shù)據(jù)科學(xué)領(lǐng)域的炒作始終沒有改變。
直到今天,在各類不負責(zé)任的媒體口中,數(shù)據(jù)科學(xué)家依然是“21世紀最性感最容易找工作的職業(yè)”。而事實上,希望進入這個行業(yè)的初級數(shù)據(jù)科學(xué)家已經(jīng)供過于求,他們一旦獲得夢寐的“數(shù)據(jù)科學(xué)家”稱號后,實際展現(xiàn)出來的能力并不能達到預(yù)期的那樣。
新數(shù)據(jù)科學(xué)家的供過于求
首先,我們來談?wù)劤跫墧?shù)據(jù)科學(xué)家的供過于求。
圍繞數(shù)據(jù)科學(xué)的持續(xù)媒體炒作極大地提高了過去五年市場上的初級人才數(shù)量。
這純粹是傳聞,你大可不必相信。但是,基于我參與篩選簡歷、做剛?cè)腴T的數(shù)據(jù)科學(xué)家的導(dǎo)師、做采訪者和受訪者以及與處于類似職位的朋友和同事們的對話的經(jīng)歷,可以初步感受到,每個數(shù)據(jù)科學(xué)職位而言,特別是入門級的職位,候選人都已經(jīng)從20個增加到100個或更多。
我最近和一個朋友談話,他的一個開放職位收到了500份簡歷。
這并不奇怪。更多的傳聞是來自像機器學(xué)習(xí)教父吳恩達的職位空缺,他的AI創(chuàng)業(yè)公司每周要求70-80小時的工作時間。
即便如此,他依然收到了很多人試圖免費為他志愿工作。截止到目前,據(jù)他所說,他的辦公室已經(jīng)全部坐滿。
正確估計市場供需當然不容易,但Wired的一篇文章可以提供一些線索:
”對2018年4月份招聘廣告的研究發(fā)現(xiàn),美國有超過10000個職位空缺,面向有人工智能或機器學(xué)習(xí)技能的人。“
文章繼續(xù)表明:
”超過10萬人開始學(xué)習(xí)Fast.ai提供的深度學(xué)習(xí)課程,F(xiàn)ast.ai是一家專注于擴大人工智能應(yīng)用的創(chuàng)業(yè)公司?!?/p>
讓我們做一道簡單的數(shù)學(xué)題。
假設(shè)MOOC(慕課)的平均完成率約為7%,那意味著,這一年會有7000人可以填補這10000個工作崗位。這一年如此,但明年又如何呢?我們是否假設(shè)數(shù)據(jù)科學(xué)的就業(yè)率穩(wěn)定?如果是這樣,數(shù)據(jù)科學(xué)的就業(yè)市場看起來就會縮小很多。
我們再來看一項更廣泛的研究,LinkedIn表示市場上缺少151,717個具有數(shù)據(jù)科學(xué)技能的人才。雖然目前還不清楚這是指數(shù)據(jù)科學(xué)家還是僅具有部分技能的人,但我們假設(shè)是前者。那樣的話,該國數(shù)據(jù)科學(xué)家有150000個職位空缺。
鑒于有100000人已經(jīng)開始了數(shù)據(jù)科學(xué)課程,我們假設(shè)其中有7000人能完成課程。
但是,這些數(shù)字還都沒有考慮到所有創(chuàng)造新的數(shù)據(jù)科學(xué)候選人的計劃和途徑:有像Coursera這樣的Fast.ai之外的MOOC,有超過10個像Metis和GA(General Assembly)這樣的每季度25人參加的全國性訓(xùn)練營,還有像加州大學(xué)洛杉磯分校等地的遠程學(xué)位——分析和數(shù)據(jù)科學(xué)的學(xué)士學(xué)位,YouTube等,還有大量無法在極其緊張的就業(yè)市場找到工作、正從學(xué)術(shù)界轉(zhuǎn)向數(shù)據(jù)科學(xué)的博士們。
這里有第三個確鑿證據(jù),來自PWC,它指出2015年數(shù)據(jù)科學(xué)家有4萬個職位空缺。它還從總體上估計,認為分析技能的市場供應(yīng)(再次說明,它比數(shù)據(jù)科學(xué)范圍更大,但也是一個比較點)到2018年將會使市場過度擁擠。
將此與數(shù)百個數(shù)據(jù)科學(xué)課程的訓(xùn)練營相結(jié)合,如果有人要進入某個行業(yè),你將看到一場大風(fēng)暴。
根據(jù)我在業(yè)內(nèi)工作并與100多名同事交談的直覺,這兩條推特最終使我確信數(shù)據(jù)科學(xué)行業(yè)存在供應(yīng)泡沫。
首先,是這個有關(guān)入門數(shù)據(jù)科學(xué)課程的推特:
Cal的入門數(shù)據(jù)科學(xué)課程是Data 8,這門課很受歡迎,位于澤勒巴赫教室。開課時間是2018年秋季學(xué)期第一天。
和UVA開設(shè)數(shù)據(jù)科學(xué)學(xué)院的消息:
UVA很自豪地宣布計劃中的數(shù)據(jù)科學(xué)學(xué)院成立,它將滿足社會增長最快的需求之一
由于在適應(yīng)工業(yè)界的新趨勢上,學(xué)術(shù)界通常是滯后的,因此這個趨勢真的該引起初級數(shù)據(jù)科學(xué)家們的重視,所有人都希望找一個數(shù)據(jù)科學(xué)的職位??紤]到他們在市場上的競爭者數(shù)量,剛獲得數(shù)據(jù)科學(xué)學(xué)位的人很難找到真的入行。
在三、四年前情況還并非如此,然而現(xiàn)在數(shù)據(jù)科學(xué)已經(jīng)從一個流行詞匯轉(zhuǎn)變?yōu)楣韫扰菽飧蟮墓菊衅傅穆毼?,相關(guān)的職位不僅更加正式化,而且有著更嚴格的準入要求(即傾向于曾經(jīng)具備數(shù)據(jù)科學(xué)工作經(jīng)驗的人)。數(shù)據(jù)科學(xué)職位的面試仍然難以把握,并且與工作完全不匹配。
正如許多博客文章指出的那樣,你未必在第一次嘗試時就能找到理想工作。 因此,就業(yè)市場相當艱難,對于大量入門者來說更加困難重重。
Hinton對于機器學(xué)習(xí)領(lǐng)域現(xiàn)狀的想法:
“我們應(yīng)該采取全新的想法。我們都知道從長遠來看,一個全新的想法將比一個個微小的改進更有效。當我們這個群體只有一些資深人士和一大批青少年時,這就是缺點?!?/p>
數(shù)據(jù)科學(xué)存在有誤導(dǎo)性的工作需求
第二個問題是,一旦這些初學(xué)者進入市場,他們會對數(shù)據(jù)科學(xué)的工作模式產(chǎn)生不切實際的期望。每個人都認為他們將進行機器學(xué)習(xí)、深度學(xué)習(xí)和貝葉斯模擬。
這并不是他們的錯,這正是一些數(shù)據(jù)科學(xué)課程和技術(shù)媒體們一直以來強調(diào)的內(nèi)容。自從很久之前我第一次過分樂觀地瀏覽Hacker News 上邏輯回歸的帖子以來,情況并沒有發(fā)生多大變化。
現(xiàn)實情況是,“數(shù)據(jù)科學(xué)”從未像機器學(xué)習(xí)那樣關(guān)注數(shù)據(jù)清洗,數(shù)據(jù)轉(zhuǎn)換以及將數(shù)據(jù)從一個地方移動到另一個地方。
我最近進行的極其非科學(xué)的調(diào)查問卷證實了這一點:
作者2019年1月在推特上做的調(diào)查溫暖:
近一段時間以來對此非常好奇,所以我決定創(chuàng)建一個調(diào)查問卷:
“作為2019年被稱為'數(shù)據(jù)科學(xué)家'的人,我花了大部分時間在(60%以上):”
選擇了(“其他”)也歡迎在回復(fù)中添加。
調(diào)查結(jié)果:
6% 選擇特性/模型
67% 清理數(shù)據(jù)/移動數(shù)據(jù)
4% 在產(chǎn)品中部署模型
23% 分析/呈現(xiàn)數(shù)據(jù)
許多行業(yè)專家發(fā)送的推文也是如此:
“在我最近的幾個機器學(xué)習(xí)項目中,復(fù)雜的地方不再是建?;蚺嘤?xùn)里;二是在在輸入預(yù)處理中。我發(fā)現(xiàn)自己耗盡的是CPU而不是GPU,并且在一個項目中我真的不確定如何進一步優(yōu)化python(我也正在考慮c ++)。”
— mat kelcey
“我在初級ML/ CV工程師身上看到的最失敗的一面是對構(gòu)建數(shù)據(jù)集完全缺乏興趣。雖然這是一項無聊的工作,但我認為在整理數(shù)據(jù)集時能夠?qū)W習(xí)到很多東西。這就像是問題的一半?!?/p>
— Katherine Scott
伴隨著數(shù)據(jù)清洗,當炒作周期繼續(xù)發(fā)揮著它的效應(yīng)時,更加清晰的是,數(shù)據(jù)工具和將模型投入生產(chǎn)變得比在一臺機器上從頭開始構(gòu)建ML算法更加重要,特別是隨著云資源可用性的爆炸式增長。
顯而易見的是,在炒作周期的后期階段,數(shù)據(jù)科學(xué)將逐漸接近工程學(xué),而數(shù)據(jù)科學(xué)家需要的技能不再主要基于可視化和統(tǒng)計學(xué),而是更符合傳統(tǒng)的計算機科學(xué)課程:像單元測試和持續(xù)集成這樣的概念,很快就成了術(shù)語,并被用作數(shù)據(jù)科學(xué)家和從事ML工程的數(shù)值科學(xué)家常用的工具集。
這也導(dǎo)致了幾件事的發(fā)生:首先是“機器學(xué)習(xí)工程師”這個頭銜的崛起,在過去的3-4年里,它帶來了更多的聲望和更高的收入潛力。
其次,它導(dǎo)致了數(shù)據(jù)科學(xué)家職稱的嚴重縮水。由于數(shù)據(jù)科學(xué)家職稱的聲望,像Lyft這樣的公司會招聘這類職位,但要求擁有數(shù)據(jù)分析師的技能,這就造成了別扭的情況——數(shù)據(jù)科學(xué)的職位究竟需要做什么,又有多少職位提供給新入職的工作者。
我們作為資深從業(yè)者、記者、經(jīng)理、行業(yè)會議發(fā)言人、撰寫工作要求的人力資源經(jīng)理,仍然不能很好地解決這個重要的難題。
給新數(shù)據(jù)科學(xué)家的建議
因此,本著繼續(xù)為初學(xué)者提供建議的精神,我將給任何在2019年向我咨詢?nèi)绾芜M入數(shù)據(jù)科學(xué)領(lǐng)域的人發(fā)送這封郵件。
這是一個兩步計劃:
不要一味追求數(shù)據(jù)科學(xué)的工作
為成為數(shù)據(jù)科學(xué)家做好準備,而不是單單為了數(shù)據(jù)科學(xué)。調(diào)整你的技能組合。
這些聽起來真是令人沮喪!但是,讓我來詳細說明這兩個問題,希望它們看起來不那么黯淡。
謹慎選擇數(shù)據(jù)科學(xué)
鑒于每個初級崗位有50或100或200個人投簡歷,因此不要與那些人競爭。不必攻讀數(shù)據(jù)科學(xué)學(xué)位,不必參加訓(xùn)練營(邊注:我見過的大多數(shù)訓(xùn)練營都是效率低下的,他們在很短的時間內(nèi)讓求職者處理太多的信息,使得求職者無法有效地對數(shù)據(jù)科學(xué)有所了解,在這里我就不細說了)。
不要做別人正在做的事情,因為這樣不能使你脫穎而出。你是在和一個堆積如山、過度飽和的行業(yè)競爭,這只會讓事情變得更困難。在我之前提到的那份PWC報告中,數(shù)據(jù)科學(xué)職位的數(shù)量估計為5萬。數(shù)據(jù)工程職位的數(shù)量為50萬。而數(shù)據(jù)分析師的數(shù)量是12.5萬。
通過“后門”進入數(shù)據(jù)科學(xué)和技術(shù)的職位要容易得多,比如從做初級開發(fā)人員開始,或者從DevOps、項目管理開始,以及從事最相關(guān)的數(shù)據(jù)分析師、信息管理員等類似職位,而不是直接申請其他人也同時競爭的5個崗位。這將花費更長的時間,但是在你從事數(shù)據(jù)科學(xué)工作的同時,也在學(xué)習(xí)對你的整個職業(yè)生涯至關(guān)重要的IT技能。
了解當今數(shù)據(jù)科學(xué)所需的技能
下面是一些你在數(shù)據(jù)空間中實際需要處理的問題:
創(chuàng)建Python包
將R語句投入實際生產(chǎn)
優(yōu)化Spark工作,使其更有效地運行
版本控制數(shù)據(jù)
使模型和數(shù)據(jù)可復(fù)制
版本控制SQL
在數(shù)據(jù)湖中建立和維護干凈的數(shù)據(jù)
大規(guī)模時間序列預(yù)測工具
擴展Jupyter筆記本的共享
考慮清洗數(shù)據(jù)的系統(tǒng)
大量的JSON
雖然在數(shù)據(jù)科學(xué)中有許多有趣的統(tǒng)計問題需要考慮,但這些博客鏈接都沒有解決它們。盡管調(diào)整模型、可視化和分析占據(jù)了你作為數(shù)據(jù)科學(xué)家的部分時間,但數(shù)據(jù)科學(xué)一直主要的工作是如何得到可以直接使用的干凈數(shù)據(jù)。
所有這些博客文章有什么共同之處?那就是良好的數(shù)據(jù)背景下的各個工程技能。
你該如何準備解決這些問題,并為工作做好準備?學(xué)習(xí)以下三種技能,它們都是基礎(chǔ)技能,并且相互之間有關(guān)聯(lián),從入門到精通。
所有這些技能的真正關(guān)鍵之處在于,它們對于數(shù)據(jù)科學(xué)之外的軟件開發(fā)也是基礎(chǔ)和重要的,這意味著如果你找不到數(shù)據(jù)科學(xué)相關(guān)的工作,也可以快速地過渡到軟件開發(fā)或devops。我認為這種靈活性與針對特定數(shù)據(jù)相關(guān)任務(wù)的培訓(xùn)同樣重要。
1.學(xué)習(xí)SQL
首先,我建議無論目標是成為數(shù)據(jù)工程師、ML專家還是AI 專家,每個人都需要學(xué)習(xí)SQL。
SQL并不吸引人,它也不是我剛才列出的問題的解決方案。但實際上,為了理解如何訪問數(shù)據(jù),你極有可能在某個地方遇到需要編寫一些SQL查詢并獲得答案的數(shù)據(jù)庫。
SQL非常強大且受歡迎,以至于NoSQL和鍵值存儲解決方案也在復(fù)現(xiàn)它。只需查看Presto、Athena,它們由Presto、BigQuery、KSQL、Pandas和Spark等等提供支持。如果你發(fā)現(xiàn)自己被大量的數(shù)據(jù)工具所淹沒,那么很可能有SQL是適合你的。而且,一旦你理解了SQL范式,就能更容易理解其他查詢語言,從而開辟一個全新的領(lǐng)域。
在學(xué)好SQL之后,下一步是了解數(shù)據(jù)庫如何工作以及為什這樣就可以學(xué)習(xí)優(yōu)化查詢。你不會成為數(shù)據(jù)庫開發(fā)人員,但是許多概念將延續(xù)到你的其他編程生活中。
2.學(xué)好編程語言、學(xué)習(xí)編程概念
前文我們談?wù)撨^如何學(xué)習(xí)SQL的問題,當你使用SQL的時候,你會有這樣一個疑問,這樣的數(shù)據(jù)庫處理軟件,它是不是一個編程語言呢?答案是肯定的,不過它屬于聲明式編程。你可以指定所需要的輸出(就是你想從數(shù)據(jù)表中把哪幾列提取出來),但沒法控制它用什么方式把結(jié)果反饋。SQL抽象出大量發(fā)生在數(shù)據(jù)庫內(nèi)的信息。
與之相對的,如果你需要一種可以指定數(shù)據(jù)從哪里、用什么方式被選取出來。像Java、Python、Scala、R、Go等等這些都是現(xiàn)在流行的面向?qū)ο蟮倪^程化語言。
大家現(xiàn)在對用哪種語言去做數(shù)據(jù)科學(xué)依舊有很多爭論,當然也不會在這里指定一種語言是最合適的。但我想說的是,在我的日常工作中,Python對我的幫助真的很大。作為一個初學(xué)者來說,Python很容易上手,而且也是數(shù)據(jù)領(lǐng)域里最流行的編程語言。為什么這么說呢,因為它可以處理很多數(shù)據(jù)問題,如構(gòu)建一個模型放入到scikitlearn里、訪問AWS API云平臺服務(wù)接口、制作網(wǎng)頁服務(wù)應(yīng)用、清洗數(shù)據(jù)、創(chuàng)建深度學(xué)習(xí)模型等等。而在統(tǒng)計領(lǐng)域里,R還是更為廣泛使用。
但同樣的,我還是建議不用去深究統(tǒng)計領(lǐng)域,Python基本可以滿足編程需求了。
當然Python在大規(guī)模應(yīng)用、打包依賴關(guān)系、一些特定數(shù)字處理、特別是時間序列和R那樣開包即用(Python不像R有很多成型的功能包、更細致的統(tǒng)計功能模型) 等等問題上也不是很適用。
如果你不選擇Python,那也沒什么問題。但你應(yīng)該選擇一門語言讓你在數(shù)據(jù)科學(xué)之外的領(lǐng)域,一樣可以大展拳腳。舉個例子來說,如果你的第一份工作是數(shù)據(jù)分析師、質(zhì)量保障員、初級的軟件開發(fā)人員或者其他崗位,這都將是作為你進入這個行業(yè)的敲門磚。
如果說一旦你選擇掌握某種編程語言,就會開始學(xué)習(xí)它的范式,研究它與整個計算機生態(tài)系統(tǒng)的關(guān)系。
在開始研究之后,你就會面對這樣一系列問題。如何用你掌握的編程語言進行面向?qū)ο缶幊蹋∣OP)?什么是面向?qū)ο缶幊??如何讓你的代碼更簡化?你使用的語言是通過什么樣依賴關(guān)系工作的?對你寫好的代碼如何打包,怎樣進行版本控制、持續(xù)集成、模型部署?到哪里去找這種語言社區(qū)去交流學(xué)習(xí),他們什么時候進行交流研討會?
然后你需要做的就是不斷地了解這門語言,知道它的優(yōu)缺點,然后用這門語言做些有趣的編程,找到其中的樂趣。
聯(lián)系客服