想從事數據行業?你必須掌握這個最核心的技能
編者按:數據是新的石油,不過要想開採石油需要有熟練的工程師才行。數據科學家就是干這個的。但是要想成為一名數據科學家,你得掌握特定技能才行。哪些才是對數據科學家最迫切的技能呢?讓Jeff Hale告訴我們答案。最難能可貴的是,其對需求最迫切技能的研究分析也體現出了一位數據科學家的素養。這個分析過程本身就非常的嚴謹,值得學習借鑒。
大家對數據科學家的預期是應該懂很多——機器學習、計算機科學、統計、數學、數據可視化、溝通,以及深度學習。這些領域牽涉到很多的語言、框架以及技術的學習。數據科學家要想成為僱主想要的那種人才的話,應該把學習的精力放在哪些地方呢?
我到求職網站去尋找對數據科學家最迫切的技能需求是什麼。我看了一般的數據科學技能,也分別看了對語言和工具的要求。2018年10月10日,我在LinkedIn、Indeed、SimplyHired、Monster以及AngelList上面搜索了求職列表。下面這張圖列出了每個網站對數據科學家的需求數量。
我看了很多求職列表和調查以找出最常見的技能。像管理這類的術語就不進行比較了,因為可以用到的場合太多了。
所有的搜索都是針對美國,使用了「data scientist(數據科學家)」、「[keyword]」作為搜索關鍵字。採用精確匹配以減少搜索結果數。然而,這個方法確保了結果對數據科學家職位是相關的,並且對所有搜索術語都產生類似的作用。
AngelList提供的是列出數據科學家崗位的公司數而不是崗位數。我把AngelList從所有分析裡面排除掉了,因為其搜索演算法似乎按照OR型的邏輯搜索進行,沒有辦法改成AND。如果你尋找的是「數據科學家」「TensorFlow」的話,AngelList也沒問題,因為這隻能在數據科學家崗位裡面找到,但如果你的關鍵字是「數據科學家」「react.js」的話,它返回的結果就太多了,其中會包括一大堆非數據科學家的崗位列表。
Glassdoor也被排除在我的分析之外。該網站聲稱在美國有26263個「數據科學家」職位,但是顯示出來的卻不超過900個。此外,它上面的數據科學家崗位數超過任何其他主流平台3倍以上似乎極不可能。
LinkedIn上超過400個崗位列表都提到的通用技能以及超過200個崗位列表都提到的特別技術被納入到最終分析裡面。當然,這兩者之間會有一些交叉。結果已經被記錄進這張Google Sheet裡面。
我下載了.csv文件並且導入到JupyterLab。然後我計算了出現比例並求出求職網站之間的平均數。
我還將軟體結果跟GlassDoor的一項研究(2017年上半年,針對數據科學家崗位列表)進行了對比。再結合KDNuggets使用情況調查的信息,似乎一些技能正在變得越來月重要,而其他一些的相關性則在下降。後面我們會細談。
通用技能
下面這張圖反映的是僱主尋找最頻繁的數據科學家通用技能。
結果表明,分析和機器學習是數據科學家崗位的核心技能。從數據中發現洞察是數據科學的主要職能。機器學習則是要創建系統來預測表現,這是非常亟需的技能。
數據科學需要統計和計算機科學技能——這一點並不出奇。統計分析、計算機科學以及數學也是大學的專業,這大概對其出現頻率有幫助。
有趣的是溝通在將近一般的崗位列表中被提到。數據科學家需要將洞察與工作與他人進行溝通。
AI和深度學習的出現頻率沒有其他一些屬於那麼頻繁。然而,它們都屬於機器學習的子集。機器學習過去由其他演算法執行的任務正在被越來越多的深度學習演算法替代。比方說,大多數自然語言處理問題最好的機器學習演算法現在都是深度學習演算法。我預計深度學習技能在未來的需求會更加迫切,而機器學習也將日益變成深度學習的同義詞。
此外,哪些數據科學家的軟體工具是僱主想要尋求的呢?下面我們就來看看這個問題的答案。
技術技能
以下是僱主希望數據科學家掌握的排名靠前的20種語言、庫以及技術工具。
我們大概看一下其中最常見的技術技能。
Python
Python是需求最旺盛的語言。這門開源語言的流行度已經被很多人注意到。它對初學者很友好,有許多支持資源。絕大部分新的數據科學工具都兼容它。Python是數據科學家的主要語言。
R
R語言並不比Python落後多少。它一度是數據科學的主要語言。我反而對它的需求依然如此旺盛感到吃驚。這門開源語言的根在統計,至今在統計學家那裡仍非常流行。
Python或者R幾乎是每一個數據科學家崗位的必須。
SQL
SQL的需求也很高。SQL即結構化查詢語言(Structured Query Language),是與關係式資料庫的主要交互方式。SQL有時候會被數據科學界忽視,但這是一門值得掌握的技能,如果你打算切入求職市場的話。
Hadoop、Spark
接下來是Hadoop和Spark,這兩個都是出自Apache的大數據開源工具。
Apache Hadoop是一個利用商品化硬體搭建的計算機集群對超大規模數據集進行分散式存儲和分散式處理的開源軟體平台。
Apache Spark是一個有著優雅的、富有表現力的API,可讓數據工作者高效執行需要對數據集進行快速迭代存取的流處理、機器學習或者SQL負載的快速內存數據處理引擎。
相對於其他,這些工具在Medium和教程中被提及的次數少了點。我猜具備這些技能的求職者要比具備Python、R和SQL技能的求職者少得多。如果你掌握了一定Hadoop和Spark經驗的話,應該可以在競爭中獲得優勢。
Java、SAS
然後是Java和SAS。這兩門語言地位這麼高倒是出乎我的意料。其背後都有大公司的支持,支持至少都提供了一些免費的產品。不過Java和SAS在數據科學社區受到的關注都很少。
Tableau
對Tableau的需求次之。這個分析平台和可視化工具非常強大,易用,而且越來越流行。它有一個免費的公共版本,但是如果你想數據保持私有的話得花錢。
如果你對Tableau不熟悉的話,到Udemy上一門Tableau 10 A-Z快速了解一下絕對是值得的。聲明一下啊,我這麼建議可不是拿了傭金的——那是因為我上過這門課之後發現它的確有用。
下面這張表反映的是更大範圍內的語言、框架等數據科學軟體工具的需求情況。
歷史對比
GlassDoor對2017年1月到7月間數據科學家10大最常見的軟體技能進行了分析。以下是那些術語出現的頻度相對2018年10月在LinkedIn、Indeed、SimplyHired及Monster上出現頻度平均數的對比。
結果相當類似。我的分析和GlassDoor的分析都發現Python、R及SQL都是需求最旺盛的技能。兩份分析發現的需求前9大技術技能都是一樣的,儘管順序方面略有不同。
結果表明,相對於2017年上半年,R、Hadoop、Java、SAS及MatLab現在的需求略微下降,而對Tableau的需求則在上升。加上KDnuggets開發者調查這類的輔助性結果,我想這就是我預期的結論。R、Hadoop、Java和SAS均呈現出多年的下降趨勢,而則顯示出明顯的上升勢頭。
建議
基於這些分析的結果,以下是對當前和想要成為數據科學家的人提供的提升自我價值的建議。
證明你可以進行數據分析並且專註機器學習,要變得非常擅長。
對你的溝通技能進行投資。我建議去讀讀《Made to Stick(讓創意更有粘性)》這本書來讓你的想法產生更大影響。此外還可以用Hemmingway Editor這款app改進寫作的清晰性。
掌握一種深度學習框架。精通一種深度學習框架在精通機器學習中佔據了越來越大的部分。深度學習框架在使用情況、流行度等方面的對比情況可以看我的這篇文章。
如果你要走學習Python和R語言之間做選擇的話,選Python。如果你對Python不感冒,那就選擇R。如果你也懂R的話在市場上一定會更加搶手。
當僱主尋找懂Python技能的數據科學家時,他們可能也會預期應徵者了解常見的python資料庫庫:numpy、pandas、scikit-learn以及matplotlib等。如果你想學習這裡提到的工具的話,我建議你看看以下這些資源:
除了這些推薦以外,我還建議你學習自己感興趣的東西,儘管在決定如何分配學習時間方面顯然有很多考慮因素。
如果你要通過在線門戶找數據科學家崗位的話,我建議你從LinkedIn開始——這個地方總是有最多的結果。
如果你在求職網站上尋找工作或者職位的話,關鍵字很重要。每個網站搜「數據科學」返回的結果數幾乎是「數據科學家」的3倍。但如果你要找的就是數據科學家的工作的話,最好還是搜索「數據科學家」。
無論你去哪裡找,我建議你要製作一份在線作品集來證明你擅長許多亟需的技能。我也建議你在LinkedIn檔案上展示你的技能。
編譯組出品。編輯:郝鵬程。
※獲正大集團數億元C輪融資,「九曳供應鏈」將構建全球化生鮮供應鏈
※2018信用卡報告:線上辦卡已成主流,廣東人最愛辦信用卡
TAG:36氪 |