最近,Stack Overflow 發佈了一篇 2017 開發者調查報告,這次在全球有超過 64,000 名開發者參與調查,分別對其技能、工具、學習趨勢等數據進行了統計,比較遺憾的是中國參與調查的開發者不多,只有大概 300 人左右,因此有些調查結果可能跟中國環境不太相符,不過毫無疑問,這幾乎表明了全球技術的趨勢,這份數據有不少有意思的點值得咱們關注。git
作技術的,我我的一直認爲必定要時刻關注趨勢,由於這個時代變化太快了,技術的更新突飛猛進,作技術的尤爲不能固步自封,咱們要以一種開放的心態,來擁抱變化,爲將來作準備,那麼今天,我就以我我的的角度,來帶你們解讀下這份報告,值得一提的是,這份報告涉及的方面不少,我只挑一些你們比較關心的報告進行解讀。程序員
此次受訪的開發者中有將近四分之三居然都是 web 開發,其次是桌面開發和移動開發佔比最高,這個結果其實蠻有意思的,咱們一直都說咱們已經從 PC 時代過渡到移動時代了,可是移動開發者數量依然是比 web 開發和桌面開發少很多的。web
這讓我聯想到了以前的一份互聯網趨勢調查報告,調查結果是人們對手機的使用時間一直在高速增長,然而 PC 的使用時間並無降低,而是平緩維持,也就說,手機其實並無吞噬 PC 的使用時間,而是吞噬了人們的閒暇時間而已。算法
不過從另外一個角度來看,web 開發的崗位需求仍是大,市場上 web 開發的人才供給量也是很大的,不過物以稀爲貴,這意味着競爭也更加激烈。咱們看下最近比較熱門的人工智能、機器學習崗位只有 3.8% ,因此人才很是緊缺,並且這是將來的趨勢,還在讀書的同窗,尤爲是那些算法、數學基礎比較好的同窗,建議考慮下機器學習的方向。編程
對了,Stack Overflow 又作了進一步調查,web 開發中有 63.7% 的比例是先後端通吃的全棧,若是你是 web 開發,可是不是全棧,你都很差意思說你是 web 開發,並且要當心了,將來極可能競爭壓力會很是大。vim
我想你們比較關心工資的問題,尤爲對於不少還沒工做的同窗來講,確定是想着將來哪一個方向工資高就幹哪一個方向,那麼下圖就來告訴你到底哪一個崗位工資高:後端
能夠看到移動開發的工資幾乎墊底,足以說明移動開發實際上已經沒有那麼搶手了,而 DevOps 與機器學習是工資最高的,DevOps 是近幾年剛興起的一個職位,是介於開發、運維和測試三個部門之間的一個部門,感興趣的能夠自行搜索瞭解下,機器學習的搶手我就不須要再強調了。微信
另外,若是按照編程語言劃分的話,到底哪一種編程語言工資最高呢?運維
能夠看到,相對來講 Rust、Go、Scala、Ruby、Python 這幾種近幾年較流行的語言工資較高,這幾種語言的開發人員也最年輕,另外,必需要提的是,這世界上最好的語言 PHP 工資排名墊底,因此若是想要面向工資編程的同窗,PHP 能夠從你的學習清單中剔除了。機器學習
若是你想學習編程,但不知道從哪下手? 那麼這份調查報告告訴你該如何學習編程。
調查結果顯示,有 64.7% 是經過一些在線課程、視頻學習的,49.9% 是買書學習的,31.9% 和 31.5% 的比例分別是經過業餘時間的課程以及參與開源項目學習的,不得不說,在線教育的普及程度比咱們想象的要大,如今這個時代,若是你想學習編程甚至其餘知識,徹底能夠經過一些在線教育網站的課程來學習,一些線下培訓機構死貴、沒效率並且無法保證課程質量,只不過在線學習這種理念在中國不少人還無法接受,但這是將來的趨勢,我我的建議,之後想學習編程,直接買本書,而後購買一些在線教育的課程,能夠充分利用本身業餘時間的同時還能培養本身的自學能力,我很看好在線教育,我認爲線下的培訓應該會被淘汰,你們之後能夠在家就學習到全球各類各樣的知識與技能。
JavaScript 連續五年奪得流行的編程語言,不過不意外,畢竟 web 開發者這麼多, SQL 再次佔據第二位,Java 第三。 值得一提的是,Python 增加勢頭很猛,在五年內首次超過了 PHP。
另外,Python 的勢頭可能還會更猛,由於此次 Stack Overflow 有一項調查是「你最但願使用哪一種語言」,調查結果顯示 Python 在今年居守,而去年僅僅第四。
超過 50% 的程序員在軟件、互聯網、以及金融三個行業上班,這個結果有點沒想到,沒想到金融行業對程序員吸引力也這麼大,不知道這個結果適應於中國不。
調查顯示,全球範圍內只有 7.6% 的女性開發者,不得不說,不止中國,全球範圍內程序員還都是以男性爲主,若是你的公司有女性程序員,好好珍惜吧!
假設咱們姑且認爲寫程序能寫 10 年吧,那麼此次對專業程序員工做經驗的調查結果顯示,10 年之內工做經驗的程序員佔比 74%,這份結果顯示 20 年以上工做經驗的程序員居然佔比 7.5%,不得不說國外環境跟國內不同,若是把這部分也去除的話,超過 10 年以上的程序員只佔比 18.5%,因此,不得不說,國外寫代碼的中堅力量依然是年輕程序員,國內的話程序員可能還會更年輕,競爭壓力更大,若是你已經工做十年以上了,還在寫代碼,這自己沒有錯,有些人就是熱衷於寫代碼,可是這部分人在企業工做的話不得不面對年輕人的衝擊與競爭。
在代碼的版本控制工具調查這項,結果顯示 69.2% 的人都在使用 Git,若是你尚未使用 Git,那麼你所在的企業不免有點技術落伍。
最後,Stack Overflow 的開發者調查報告內容很豐富,涉及到開發者的方方面面,我也只是挑了一些我認爲的你們比較關心的結果進行了解讀,想查看所有報告的能夠點擊閱讀原文。
另外,再給你們說個很是有意思的報告,此次報告挖出了一份數據:「使用空格縮進的開發者比使用 TAB 縮進的開發者工資更高」,是否是以爲有點扯?如下是調查截圖:
其實看似很扯,可是我以爲有道理,咱們知道咱們在寫代碼的時候,爲了使代碼可讀性更好,常常須要縮進,可是不一樣的人的縮進的習慣不同,有的習慣用 tab 有的習慣用空格,可是你知道這倆的區別麼?其實使用 tab 縮進最大的問題是可能不一樣的平臺、不一樣的編輯器設置,均可以表明不一樣尺寸的空格,也許在你這邊 tab 表明 4 個空格,而到了別人那裏就成了 2 個空格,這就會致使代碼格式不一致了,而使用空格縮進則沒這個問題。
其實這個對於一些使用 IDE 的同窗不是什麼大問題,通常 IDE 回車鍵會自動換行縮進,可是若是你用一些輕量級的編輯器,如 vim、sublime、atom 之類的,就會遇到這個問題,我以前作 Ruby 的時候使用 sublime 咱們團隊內部就默認使用空格縮進,並非說你如今把 tab 縮進習慣改爲空格工資就高了,這個調查結果說明,那些注意這種細節的開發者,每每在其餘地方依然會這麼細緻,這種工做態度是他們比別人高薪的本質緣由。
最後,以上就是我針對 Stack Overflow 2017 開發者調查報告的一些我的解讀,但願對廣大開發者有所幫助,若有不認同之處,歡迎交流。
本文原創發佈於微信公衆號 AndroidDeveloper,認真扯淡,關注請慎重。