我到求職網站去尋找對數據科學家最迫切的技能需求是什么。我看了一般的數據科學技能,也分別看了對語言和工具的要求。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使用情況調查的信息,似乎一些技能正在變得越來月重要,而其他一些的相關性則在下降。后面我們會細談。
互動式圖表可以到我的Kaggle Kernel上面去看,額外分析可參見此處。可視化我用的是Plotly。為了本文結合使用Plotly和JupyterLab可費了一點功夫——相關指令可到我的Kaggle Kernel找,另外這里也有Plotly的腳本。
通用技能
下面這張圖反映的是雇主尋找最頻繁的數據科學家通用技能。
結果表明,分析和機器學習是數據科學家崗位的核心技能。從數據中發現洞察是數據科學的主要職能。機器學習則是要創建系統來預測表現,這是非常亟需的技能。
數據科學需要統計和計算機科學技能——這一點并不出奇。統計分析、計算機科學以及數學也是大學的專業,這大概對其出現頻率有幫助。
有趣的是溝通在將近一半的崗位列表中被提到。數據科學家需要將洞察與工作與他人進行溝通。
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均呈現出多年的下降趨勢,而對Tableau則顯示出明顯的上升勢頭。
建議
基于這些分析的結果,以下是對當前和想要成為數據科學家的人提供的提升自我價值的建議。
當雇主尋找懂Python技能的數據科學家時,他們可能也會預期應征者了解常見的python數據庫庫:numpy、pandas、scikit-learn以及matplotlib等。如果你想學習這里提到的工具的話,我建議你看看以下這些資源:
除了這些推薦以外,我還建議你學習自己感興趣的東西,盡管在決定如何分配學習時間方面顯然有很多考慮因素。
如果你要通過在線門戶找數據科學家崗位的話,我建議你從LinkedIn開始——這個地方總是有最多的結果。
如果你在求職網站上尋找工作或者職位的話,關鍵字很重要。每個網站搜“數據科學”返回的結果數幾乎是“數據科學家”的3倍。但如果你要找的就是數據科學家的工作的話,最好還是搜索“數據科學家”。
無論你去哪里找,我建議你要制作一份在線作品集來證明你擅長許多亟需的技能。我也建議你在LinkedIn檔案上展示你的技能。
原文來自:towardsdatascience.com 編譯自:36Kr