「有人的地方就有江湖,有江湖的地方必然有紛争。」
在昨日釋出的《Android 告急》一文中,曾于 Google 工作了 13 年技術人 Steve Yegge 揭露,在 Google 内部不為外人所熟知的技術圈中,存在一種難以想象的“鄙視鍊”,即高高在上的是用着 C++ 寫搜尋引擎的工程師,而他們自認為要 Java 工程師酷,再者 Java 要比 Python 酷,Python 又比 JavaScript 程式員厲害。同時,寫搜尋的比寫廣告系統的酷,寫廣告的比寫 App 的酷,寫 App 的比工具酷,工具又比做前端的更酷。
在網際網路的江湖中,Google 尚且如此,那麼在全球範圍内,技術圈的紛争又是什麼樣的狀況?
作者 | 屠敏
出品 | CSDN(ID:CSDNnews)
近日,位于美國舊金山的知名招聘公司 Hired(專門為 Facebook、Uber 等頂級公司招聘人才)在走訪全球 10,000 多家企業、邀請 98,000 名求職者參與其中之後正式釋出了《2019 年軟體開發者現狀》調查報告,在以人工智能、機器學習、區塊鍊、物聯網等為首新技術打開網際網路新紀元之際,與全球的開發者共同探讨技術圈最為流行的開發技能,程式設計語言以及市場最前沿趨勢。
接下來,我們就來一探究竟。
前端需求量墊底,區塊鍊工程師最搶手
正如文章伊始所述,随着大型企業紛紛尋求數字化轉型、初創公司引入最新的技術方法,技術更新疊代的速度變得越來越快,市場中對着不同種類的開發者需求也發生了巨大改變,這意味着在目前的競争愈演愈烈的大環境中,并非各種類的程式員都能收獲同等薪酬及待遇,這就在無形之中形成了技術的“鄙視鍊”,而這究竟呈現出怎樣的局面?
根據 Hired 釋出的《2019 年軟體開發者現狀》報告結果顯示,全球對于區塊鍊工程師的需求迅猛增長,同比增長了 517%。不過在此需要提醒對區塊鍊感興趣的開發者們,也不要對目前的需求資料過于樂觀而盲目投身于該行業。單從技術層面來看,想要成為一名專業的區塊鍊進階工程師,首先需要具備後端工程師、系統工程師或解決方案架構師等職位技能,是以做好基礎的技能儲備才是王道。
對于區塊鍊的前景,其實從過去一年中,無論是國内還是國外的從業者,都可以明顯看出市場對于具有區塊鍊技能的開發人員需求一直在激增,而未來随着企業開始落地無數區塊鍊應用,譬如數字身份、智能合約、勞動力管理、分布式資料存儲等等,預估需求将會繼續增長。
市場對于技術工程師需求量
從上圖中,我們也可以看出,具有安全專業知識的工程師也非常搶手。在此分析其原因,可能是由于資料洩露事件不斷增加以及消費者隐私問題日益嚴重而導緻。在過去的一年中,各大公司對安全工程師的需求累計增加了 132%。
此外,在目前網際網路市場不太景氣的環境下,許多公司開始節衣縮食減少對外投資,轉而專注于自有的業務,同時希望借助于個性化推薦等算法來提升使用者體驗,增強使用者黏性,這就導緻市場對于資料分析和機器學習相關的技術人才需求上漲。整體而言,市場對具有這些技能的工程師的需求分别增加了 38% 和 27%。
除了以上,我們還可以看出,在移動網際網路時代較火的移動開發、前後端職位如今已經趨于飽和,因而招聘需求也在逐漸減少。
搜尋引擎工程師位居“鄙視鍊”頂端不無道理
随着不同職位的需求增加,人才變得搶手,薪酬自然也水漲船高。在 Hired 分析大型技術中心工程師職位之後,得出無論是在哪個地區,區塊鍊工程師均位列最高薪的 Top 3。
其中,在舊金山灣區,區塊鍊工程師平均薪酬排第三名,為 15.5 萬美元。而位列第一的是如 Google 内部“鄙視鍊”頂端的搜尋引擎工程師,薪酬 15.7 萬美元,其次是安全工程師。
舊金山灣區技術工程師薪酬排名
在倫敦,區塊鍊工程師的平均收入為 89,000 美元。
倫敦技術工程師薪酬排名
值得注意的是,由于不同的薪酬标準和競争格局,美國以外的技術工資可能要相對低得多,但從中我們看到了積極的趨勢是,如在倫敦,在對比 2018 年薪酬狀況報告(https://hired.com/state-of-salaries-2018)發現,整個科技從業者的工資正在上升。
此外,根據報告結果對比,同種技術的軟體工程師在不同的城市薪酬會有很大的不同,如遊戲工程師是紐約收入最高的群體,平均收入為 14.7 萬美元,而在其他地區可能屬于薪酬榜的底端。
紐約技術工程師薪酬排名
最搶手的程式設計語言技能并非 Java,而是 Go
一直以來,程式員對着自己的開發利器之程式設計語言有着的屬于自己獨特的看法,并基于此劃分出最喜歡和最讨厭的程式設計語言。
根據此次報告的資料顯示,讓不少開發者頗為驚訝的是,最受雇主喜歡的程式設計語言竟然不是 Java ,而是普及度沒有那麼高的 Go 語言。對于其中原因,Hired 官方猜測可能是因為 Go 語言是由 Google 設計的,而這增加了掌握 Go 語言的程式員在 Google 工作的機會。
全球最受雇主歡迎的程式設計語言排行榜
不過,在調查開發者日常工作中最常用的程式設計語言時,Hired 的資料顯示,Go 語言并沒有達到預期的歡迎度,在受訪者中,隻有 7% 的程式員表示經常使用它。此外,最受歡迎程式設計語言排行榜 Top 5 的另外四種 Scala、Ruby、Typescript 和 Kotlin 語言在市場中應用現狀也遵循類似的趨勢,開發者對其熟悉程度均比較低。同時,令人驚訝的是,和 Python 應用領域有着極大相似性 R 語言,無論是在需求量還是在使用量上均為墊底語言。
全球常用程式設計語言排行榜
從上圖中,我們可以看出,JavaScript 是開發者常用的進階語言,占比 62%。其實 JavaScript 的排名可謂實至名歸,其曾在多個排行榜中均列第一。不過,它第一名的位置顯得另外一種 TypeScript 語言頗為尴尬。衆所周知,TypeScript 是 JavaScript 的超集,按理來說,JavaScript 程式員學習起來會更簡單,但根據資料顯示,隻有 12% 的受訪者正在使用 TypeScript(盡管它在全球程式設計語言技能需求量中排名第四)。但從另一個角度來看,這也為熟練掌握 JavaScript 的開發者提供了學習 TypeScript 的機會,畢竟整個市場對掌握 TypeScript 的技術人才需求在逐漸增長。
Ruby 工程師越老越吃香
為了進一步分析市場對程式設計語言的需求,Hired 基于使用程式設計語言的年限來劃分市場的需求量變化。根據結果顯示,在具有多年經驗的開發者中,Ruby 技術工程師的需求量特别高。其中擁有 6 年以上工作經驗的 Ruby 工程師在目前招聘需求中成功的幾率高達 11.7%。
此外,在 4-5 年工作經驗的技術工程師中,那些了解 Typescript 和 Go 的人才需求也高。
開發者最愛 Python,最讨厭 PHP
顯然,雇主對于程式設計語言技能的需求量并不代表開發者自身對于程式設計語言的态度。根據調查顯示,51% 的開發者将 Python 視為自己最喜歡的程式設計語言之一,JavaScript 緊随其後,占比 49%。其次,對于 Java,很多開發者給出了“愛與恨”的雙重态度,它既是最受歡迎的程式設計語言第三名,又是最令人讨厭的程式設計語言排行榜的第二名。
此外,素有“世界上最好程式設計語言”之稱的 PHP 在這一次竟然成為衆多開發者讨厭的對象,占比 19%。
來源于網絡
教育訓練機構對于開發者而言,真的沒有用嗎?
通過上面了解了網際網路行業最熱門的領域以及程式設計語言的最新趨勢後,對于開發者而言,要做的就是加強自己的專業知識。如今入門程式員行業,部分新手是直接畢業于科班,但也有一部分人直接進入教育訓練機構學習。
在國内的大環境下,無可否認的是,一些大廠在招聘時直接設定了學曆門檻,導緻一部分人哀怨 IT 行業看不起教育訓練機構出身的程式員。而一些企業也會無奈的表示,教育訓練機構出身的程式員底子真的比較弱。那麼事實究竟如此?
根據報告結果顯示,76% 的受訪者表示通過在教育訓練機構裡的學習對自己工作有所幫助。
同時,雖然有一些雇主對聘請具有僅限教育訓練機構經驗的開發者猶豫不決,但57% 的軟體工程師表示他們可以接受一名教育訓練機構出來的畢業生擔任軟體工程師角色。
其中,36% 不确定以及 7% 不會的雇用教育訓練機構出來的開發者的雇主,主要是擔心教育訓練機構的畢業生太過缺乏經驗。
你是如何入門的?
在獲得各大公司面試機會之前,開發者自身就應開始做好充分的準備,譬如進行一系列編碼考試、白闆考試和言行舉止學習。
在此次報告中,54% 的開發者認同編碼考試可以有效測試自身的能力,但有 63% 的受訪者覺得這與他們實際工作無關。
事實上,學習如何編碼并不是一件容易的事,通常需要從業者花費數年的時間來掌握它,這也是為何開發者能獲得高薪的原因。根據報告顯示,雖然大多數軟體工程師采用獲得計算機科學學位的預期途徑(46%)來入門,但也有五分之一的受訪者表示他們是自學成才。
那麼對于開發者而言,最感興趣學習的是什麼類型的技術?根據調查顯示,各大公司需求和開發者的興趣并不總是相符。例如,區塊鍊技術是市場上最需要的技能,但隻有 12% 的受訪者認為區塊鍊是他們想要了解的頂級技術。對于機器學習,興趣和需求倒是同步,有 61% 受訪者表示機器學習是他們有興趣了解的第一或第二技術。
揭秘開發者的工作風格
依照開發者自己的說法,團隊合作才能使夢想成真。根據調查資料顯示,軟體工程師對結對程式設計感興趣,這是一種開發方法,簡而言之,兩個程式員在一個計算機上一起工作。事實上,48% 的人表示,如果公司提供結對程式設計,就會增加他們在公司工作的興趣。
其中主要緣由是開發者認為結對程式設計效率更高,因為它有助于捕捉 Bug。同時,42% 的人認為結對程式設計對初級工程師有好處,但對于經驗豐富的人來說沒有意義。
對開源的看法
現在很多公司都在擁抱開源,但是對個人開發者而言,頻繁貢獻的群體要比期望值要少得多。根據調查資料顯示,隻有 9% 的受訪者經常參與開源,53% 的受訪者以前從未參與過開源。
而 30% 的開發者表示他們為開源做貢獻,因為它很有趣。但是對于大多數人而言,因為平時的空閑時間以及精力有限,是以無法深度擁抱開源。
總結
以上的趨勢僅供大家參考,但更具體的技能需求還是需要因地方而異。對于身處日益月異技術圈的開發者來說,順應潮流、不斷地學習才能保證自己不被淹沒于淘汰的長河之中。最後,以西漢經學家劉向的經典警句,「少而好學,如日出之陽;壯而好學,如日中之光;老而好學,如炳燭之明。」與君共勉。
完整報告可參考:https://hired.com/page/state-of-software-engineers/