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