最想學 Go、Python,全棧開發者緊缺!分析了 11 萬條程式設計師數據後有...

2020-12-03 站長之家

聲明:本文來自於微信公眾號CSDN(ID:CSDNnews),作者:唐小引,授權站長之家轉載發布。

科技江湖眾生態,技術各有千秋,但有一個定律似乎一直存在,即隨著時代的推移,強大的技術未必長久不亡,長久的技術未必強大不衰。那麼,就當下而言,什麼才是仗「技」走天涯的程式設計師們最愛?主流技術圈又在以怎樣的趨勢不斷發展?

近日,編碼社區 HackerRank 調研了全球 162 個國家/地區的 116000 多名開發者,正式發布了《2020 HackerRank 開發者技能報告》,基於此,開發者可以了解最新的技術趨勢與技能,希望能夠給大家帶來一定的參考。

基礎篇:C 的熱度超越了 BASIC

如今在物聯網、AI、雲計算等技術熱潮之下,很多人根據業務需求來選擇不同的程式語言與工具。然而,時針撥回 30 年前,你要問當時的程式設計師選擇的入門級程式語言是什麼?想必很多人的答案之一會有 BASIC。

作為一種直譯式程序設計語言,很多人將其視為彙編與 C 的過渡性語言,且它的定位也是設計給初學者使用的程式語言。

嬰兒潮一代(出生於 1946- 1964 年)和 Xers 一代(1965 年至 1980 年出生)的大多數程式設計師都學會了使用 BASIC 進行編碼。BASIC 於 1964 年開發用於教育用途,是大學教室中一種流行的教學語言。目前,在大學計算機相關的專業中,我們還能經常性看到基於 BASIC 語言的《程序設計》書籍存在。

不過,BASIC 整體應用趨勢在 1972 年貝爾實驗室(Bell Labs)發明 C 語言起就發生了改變,其市場份額也逐步被 C 侵蝕。儘管 C 語言並非一朝崛起,但隨著 Unix 的發展,該語言在 70 年代末和 80 年代初開始流行。

當下,48 歲的 C 語言因其長壽、較好的靈活性和易用性而備受開發者喜愛。根據調查顯示,年輕一代如 Z 世代(1997 年至 2012 年出生)的入門級開發者大多學會了使用 C 語言進行編碼,其次受歡迎的首要入門程式語言為 Java。

經驗篇:培訓機構崛起,年輕一代的開發者藉此修煉技能

Z 世代的程式設計師更喜歡利用培訓機構學習新技能

基於以上,就學習的渠道方面,Z 世代(1997 年至 2012 年出生)比前幾代人更可能喜歡培訓機構(線上、線下)的方式來學習與提升新技能。據調查顯示,將近六分之一的受訪者表示正在使用這種模式。

除此之外,我們還發現年輕一代不太可能從老一輩程式設計師那裡學習編碼技能,如根據下圖調查結果顯示,在書籍、在職培訓等選項中,Z 世代的佔比相對比其他年齡層次的人少了很多。

顯而易見,隨著信息的數位化、開源的普及,Z 世代越來越依賴培訓機構、開源網站等非傳統教育資源。

三分之一的招聘經理聘請了培訓機構的畢業生

目前,據調查顯示,已經有 32% 的公司聘請了一名從培訓機構學習編碼技能的開發者。

但是,並不是所有的招聘主管都能利用培訓機構這個不斷增長的人才庫來招聘。據調查,將近一半(49%)的招聘經理從未招聘過培訓機構出來的畢業生。而這些所有公司規模的結果都是相似的。

對此,HackerRank 社區在報告中進行了預測,隨著年輕一代越來越被培訓機構吸引,企業在招聘過程中的這種心態必須改變。Z 一代比前幾代人更可能從培訓機構來學習編碼技能。總的來說,這表明培訓機構的畢業生人數將不斷增加,並且隨著時間的流逝可能會作為人才來源而增長。

就國內而言,現在不少正規大學的學生在畢業之後,也經常性選擇通過培訓機構的系統學習,再次加深自身的編碼實踐技能。

培訓機構出來的開發者不必科班出身的人差

實際上,已招聘培訓機構應屆畢業生的招聘經理中,有 72% 的人認為,培訓機構出來的開發者比其他應聘者具有同等甚至更好的技能。而這些主要體現在以下幾個方面:

  1. 快速學習新技術和語言的能力(71%)

  2. 豐富的實踐經驗(61%)

  3. 渴望承擔新的責任(52%)

這種快速增長的編碼教育形式得到了國外的強烈認可。雖然 2011 年開始,才出現了第一個編碼培訓機構,但在過去的十年中,它們的普及程度呈爆炸式增長。最近的一項研究對 2019 年來自 110 個全日制課程的 20,000 多名培訓機構畢業生進行了統計——僅美國和加拿大。

倘若這一觀點放在國內,想必會引發不少爭議吧。

大廠對學歷的要求依舊很嚴格

不過,針對培訓機構出來的開發者,國內外大廠在一定層面上有著相似性。據了解,國外如 Google、蘋果、IBM 等技術型科技巨頭在招聘時大幅提高了學歷的招聘門檻,對四年制學位的要求也更加嚴格。因此,僱用沒有學位的開發者,可能更多的是由小公司來領頭。

這一點在調查的數據中也得到了驗證。據報告顯示,小公司(1-49 名員工)中有 32% 的開發者尚未獲得學士學位。與大型公司(超過 10,000 名員工)形成鮮明對比:在大廠,有 91% 的開發者獲得了學士學位或更高的學位,而只有 9% 的開發者沒有學位。

需求篇:全棧開發者最緊缺

一直以來,市場對於「全棧開發者」的定義很廣泛,沒有明確的界線,但大多數人同意其應該對技術棧的所有層有一個基本的了解(或更佳),並且應該能夠在此基礎上生成一定的可行產品。

如今無論大小公司,都希望能找到一些全棧開發者。對此,38% 的招聘經理表示,這是 2020 年的首要任務。其次,第二和第三位分別是招聘後端開發者和數據科學家。

就小型企業(擁有 1-49 名員工)而言,對全棧開發者的重視與需求最為明顯,其中 43% 的公司將作為其首要招聘任務。究其原因,小企業規模小,但人少事多,需要的是全能型人才節省很多方面的開支,因此小企業迫切想要招聘全棧開發者合乎情理。

全棧開發者需要經常性學習新技能以充電

所謂全棧開發者,即全能型開發人才,相較而言,其技能要求會高一些。據統計,去年,有 60% 的全棧開發者被要求學習一個全新的框架(技術迭代的速度要比其他程式設計師更快)。

除此之外,全棧開發者還必須學習更多的程式語言,對此有 45% 的受訪者表示他們必須在去年內選擇一種新的語言。在此之下,其他程式設計師可能更多地是學習有關理論概念的知識,如數據科學家和 DevOps 工程師被要求最頻繁地學習新概念(33%)。

在這種環境中,憑藉涵蓋前端、後端以及更多(取決於業務)的專業知識,全棧開發者成為技術界中較為模糊的職位描述之一。他們的角色相對靈活,但這就硬性要求他們必須緊跟多種技術,這也意味著日常工作中,他們需要不停地學習各種技能。

在很多開發者的招聘技能中,並不會和程式語言直接掛鈎

整體而言,程式語言這一技能並不是招聘經理在面試時衡量的主要標準。此前,JavaScript 是招聘經理尋找候選人技能時最流行的語言。但是,在全球範圍內,有 14% 的受訪者表示,在篩選候選人時他們不懂程式語言。

這種趨勢在美洲地區(AMER)最為明顯:該地區 21% 的招聘經理在尋找新員工時與語言無關。亞太地區(APAC)的招聘經理與語言無關的可能性是其一半(10%)。

開發工具篇:JavaScript 最流行,Go 成為開發者最想學的程式語言

JavaScript 是今年最廣為人知的語言

在最知名的語言中,過去三年幾乎沒有變化。實際上,排名前 10 位的程式語言與去年相比僅發生了兩次變化:C# 和 PHP 在第六和第七位之間切換。

值得注意的是,最廣為人知的語言 JavaScript 不是大多數開發人員都在學習的語言,只有 5% 的受訪者表示它是他們的第一門程式語言。Java 遵循類似的趨勢:它雖然是知名語言的第二位,但是只有 13% 的開發者表示,Java 是他們學習的第一門語言。

Django 和 Vue.js 穩步上升

今年,框架的流行度與去年一樣充滿活力,Top 10 中有 5 位發生了趨勢變化。

在 HackerRank 連續三年發布的開發者技能報告以來,Vue.js 一直表現出穩定的增長,且自 2018 年以來每年遞增一位。但是 Django 發生的變化最為明顯,它在 2019 年至 2020 年之間上升了兩位(從最受歡迎的第六名上升到第四名)。

Django 使用率的提高與 Python 的興起密不可分。當下,Python 在 2019 年使用率呈上升趨勢,是機器學習和人工智慧(AI)的主流選擇,並且一直被大家視為開發者每年都希望學習的頂級語言之一。而且由於 Django 是基於 Python 的框架,因此 Django 的使用率和歡迎度上升也在意料之中。

Go 是開發者想要學習的第一語言

連續第三年,Go 是開發者未來要學習的第一語言。

其實,自 2009 年誕生以來,由 Google 開發的 Go 語言就受到越來越多的歡迎,部分原因是其創造者即 Google 的知名度影響不無關係。這也正如,《2018 年開發者技能報告》中指出的那樣,這並非科技巨頭第一次為推動程式語言而行動,此前,Twitter 決定放棄 Ruby on Rails 並全力推廣 Scala;Apple 在弱化 Objective-C 的同時為 Swift 所做的扶持。

如今,越來越多的開發者加入了 Go 的陣營,而它的排名也從 2018 年的第 13 名上升到 2020 年的第 12 名知名語言。

那些了解 Perl 的人比普通開發人員的收入高出 54%

Perl 是與高工資最緊密相關的語言。在全球範圍內,了解 Perl 的開發人員的收入比其他開發人員的平均年薪高出 54%。其次是 Scala(+ 42%)和 Go(+ 33%)。

一定程度上,與 Perl、Scala 和 Go 等高薪語言相關的程式設計師,也可從中看出其技能水平。例如,大約 10% 的高級開發人員知道 Perl,但只有 2% 的初級開發人員知道 Perl。據報告顯示,Scala 和 Go 顯示了相似的模式。而且由於高級開發人員的薪水往往更高,因此與每種語言相關的平均薪水也有所提高。

開發人員正在學習 React、AngularJS 和 Django

從去年起,越來越多的開發者開始學習 React,而它也成為大多數開發人員想要學習的框架:32% 的受訪者表示這是他們接下來要學習的框架。

因此,它有機會成為 2020 年最知名的框架。不過在今年的調查中,React 在知名的框架排行榜中位居第二,略遜 AngularJS 一籌。

接下來,AngularJS 和 Django 分別排在了第二和第三名:28% 的人表示他們計劃學習 AngularJS,而 26% 的人表示他們正在學習 Django。這三個框架都在招聘經理招聘的人才技能中排名前五。

在全球範圍內,Backbone.js 的薪酬最高

Backbone.js 是與高薪酬相關的框架:知道它的開發人員的收入比全球平均水平高 49%。

Cocoa 和 Ruby on Rails 分別與第二和第三高的平均工資掛鈎。知道 Cocoa 的開發者收入比全球平均水平高 35%,而知道 Ruby on Rails 的人的收入比全球平均水平高 30%。

同樣,薪資較高的開發者也與資歷相關。以 Backbone.js 為例。7% 的高級開發人員知道這一點,而初級開發人員只有 2%。而且由於高級開發人員的收入較高,因此可以提高與框架相關的平均工資。

值得注意的是,Backbone.js 也是一項不常見的技能。在全球範圍內,只有 4% 的開發人員知道。因此,低知識供應可能會使那些知道它的人要求更高的薪水。

薪酬篇:美國程式設計師薪酬比其他國家的要高,但薪酬不是衡量一份開發者職業生涯的標準

美國開發者的收益比其他任何國家都高

在同等的職位上,美國開發者的平均薪水最高:那裡的開發人員平均每年可賺 109,167.36 美元。

澳大利亞和加拿大是第二高薪國家,開發者的平均工資分別為 88,538.51 美元和 72,771.32 美元。荷蘭和英國排在收入最高的五個國家之列。

在全球範圍內,有 39% 的開發人員認為他們的報酬不公平

只有 35% 的開發人員認為他們獲得了合理的報酬;有 39% 的人認為自己的薪酬與同行相比不公平,還有 26% 的人不確定。

隨著諸如 Glassdoor 和 LinkedIn 等網站的薪資共享已成為常態,全球的開發者可以獲得同行薪資估算。從諸多方面來看,這是一件好事,畢竟它為開發者在進行應聘談判時提供了一定的薪酬參考,使其與公平市價保持一致。但從側面來看,也有不好的一面,開發者會更清楚地了解到自己的薪酬,並將其與同行業的他人進行對比,由此產生落差。

職業發展最重要的形式:新技術技能

不過薪酬並不是程式設計師用來衡量自己工作的最直接標準。根據調查顯示,能夠在工作中收穫技能成長對於開發者而言至關重要,而薪酬標準排在第三位。

事實上,多數開發人員都認可:他們希望有機會在工作中學習新的技術技能。高達 59% 的開發人員將其視為職業發展的最重要形式。這一佔比是「承擔新職責的能力」這一選項的兩倍,比「發展軟技能的機會」重要四倍。

開發者更希望成長為技術主管,而不是管理層的經理

有 62% 的開發者希望在未來三年內成為技術主管。與希望成為項目經理的人數(15%)形成鮮明對比。

這可能就是為什麼大多數開發人員在找工作時,會更優先考慮學習新技術技能的機會。對於技術人而言,大多數人對管理工作的興趣降低了,而對像首席架構師這樣的技術領導職位更感興趣,因此掌握新的技術技能至關重要。

另一方面,目前擔任項目經理和技術負責人的開發者對其當前的角色感到滿意。大多數人希望繼續擔任同一職務。

興趣篇:程式設計師愛聽歌和上網

此前,知乎上有個提問:程式設計師上班時戴耳機是在聽什麼?高贊的回答是:戴上耳機是告訴其他人不要打擾我,實際上並沒有在放音樂。

在真實的辦公環境,事實如此,帶上耳機,外界的嘈雜與我無關。但是在業餘時間時,你如果看到程式設計師帶上耳機,那說明真的可能是在聽歌。據數據統計,61% 的開發者會花時間聽音樂,其次程式設計師的主要愛好/時間分配是上網(52%)、吃點東西(48%)和運動(48%)。但是 3% 的開發人員表示,他們永遠不會休息!

相關焦點

  • 全球開發者調查報告:IT人最想學習 Go 和 Python、美國開發者收入...
    此次調查涵蓋的範圍比較廣泛,從開發者的消遣方式到招聘者對培訓班出身的程式設計師的看法,還有開發工具和程式語言的問題。受篇幅限制,本文將挑選一些有趣且有一定參考價值的調查結果進行介紹。由於全棧開發者必須熟悉更多的技術棧,因此有60%的全棧開發者表示,在過去的一年裡,曾因為工作需求而被要求學習全新的框架,有45%則表示曾被要求學習新語言。
  • 全球開發者調查報告:IT 人最想學習 Go 和 Python、美國開發者收入...
    技能 38% 的招聘主管對全棧開發者的需求最大,其次是後端開發者和數據科學家儘管關於如何評估「全棧開發者」的技能水平是一個有爭議的話題,但大多數人都同意任何開發者都應該對所有層面的技術棧有基本的了解(或更深入的了解)。尤其是是在小型團隊中,要求一名開發者身兼數職是基本要求,恨不得一個人把前端、後端、測試和運維的活全乾了。從這方面來看,國內國外似乎都是一樣。 60% 的全棧開發者因工作需要而學習一個全新的框架
  • java、python不知道學哪個?
    如果問Java程式設計師一定會告訴你先學Java,如果問Python程式設計師一定會告訴你先學python。今天小編來給你分析一下、你到底適合學哪個?本文內容要點:1、什麼樣的人群適合Java/python?2、學習Java/python有什麼特點、及發展前景、發展方向。3、python400集?Java300集內容 教程贈送。
  • 學python?不是一個python入門教程就行,學之前你必須知道這些
    第一 學習方向:python應用方向很多,必須明確學習方向想全棧開發:就是web應用開發,是用來寫網站後臺的數據分析:就是做大數據分析的,數據量級起碼是千萬級別的,做的是大數據分析網絡爬蟲:其實屬於數據分析的部分,就是獲取數據源的方式。
  • 長沙黑馬程式設計師:轉行IT,首先你得分得清前端、後端、全棧!
    據統計,我國信息化人才總需求量高達1500萬—2000萬人。其中「軟體開發」、「網絡工程」等人才的缺口最為突出。以軟體開發為例,我國軟體人才需求以每年遞增20%的速度增長,每年新增需求近百萬。這也是目前很多非科班出身的同學為了搭上網際網路的快車開始學習編程的原因,但是對於很多轉行IT的人來講,「前端、後端、全棧」這三個的概念非常模糊,很多人不清楚前端、後端、全棧到底指的是什麼?
  • 2018必看程式設計師開發者報告!最賺錢的竟然是……
    每一年Stack Overflow都會面向社區的所有開發者發起一場調查問卷,調查問卷囊括從每一位開發者喜歡技術內容到工作日常,這個活動已經持續了8年,而今年2018年是這個活動參與人數最多的一年,這一次有超過10萬人次參加了該問卷調查。這10萬人次中大多數都是程式設計師,不是程式設計師應該也不會上這個網站。接下來我們看看這一年的開發者是什麼樣子的,他們過得好嗎?禿了嗎?
  • 為什麼老有人說Python程式設計師要學Linux?
    所以Python程序看上去總是簡單易懂,初學者學Python,不但入門容易,而且將來深入下去,可以編寫那些非常非常複雜的程序。而且學完python後,可從事的職業非常廣。目前來說這個Python主要方向有五個:自動化運維、自動化測試、人工智慧、數據分析、全棧開發。很多人都想學習Python,不少Python新手經常問到學Python到底需不需要學習Linux?
  • 看完本文若不能讓你學通python,豪言我願永久退出IT界
    零基礎的話,紮實掌握python基本概念和語法元素是非常有必要的。,通過故事的方式傳達給讀者,同時也分享了蟒樣(Pythonic式)的知識獲取技巧,而且希望將最常用的代碼和思路,通過作弊條(Cheat Sheet,提示表單)的形式分享給有初步基礎的Python 用戶,來幫助大家多快好省地完成功能。
  • 假如這篇文章都不能讓你學通python,編程界你怕是進不來了
    當我們掌握了知識最基本的概念之後,我們就開始還帳了,這時,帳本就開始慢慢薄了一旦基礎概念掌握熟練了,日後無論做什麼都會更加輕鬆,像python在別的方面的應用,如數據分析,人工智慧,爬蟲等等,都是以python為基本內核的。零基礎的話,紮實掌握python基本概念和語法元素是非常有必要的。
  • 假如這篇文章都不能讓你學通python,編程界你恐怕是進不來
    0基礎小白怎麼學Python?今天給大家分享一些學習Python的基本概念圖,入門書籍、視頻教程以及學習路上最有效的方法。當我們掌握了知識最基本的概念之後,我們就開始還帳了,這時,帳本就開始慢慢薄了一旦基礎概念掌握熟練了,日後無論做什麼都會更加輕鬆,像python在別的方面的應用,如數據分析,人工智慧,爬蟲等等,都是以python為基本內核的。零基礎的話,紮實掌握python基本概念和語法元素是非常有必要的。
  • 想成為頂級 Python 程式設計師?請收下這份路線圖!
    你為什麼還要學Python?為什麼不在其他20種流行語言中選一種呢?當你開始你的學習之旅時,這個問題會出現多次(一天)。選擇第一種程式語言很像挑選一個pokemon。 語言的內在能力遜色於程式設計師使用對應語言的技能並進入大聯盟的勇氣。
  • 從事程式設計師的工作,Python大數據、Java、前端,哪個有發展前景?
    培訓機構藉助網際網路這股風,趁機培訓所謂的大數據課程,在我看來是沒有底線的,但凡有點常識的人都知道,大數據的工作是已經做了兩三年開發後,才能去做的工作,都是在工作中慢慢積累的,零基礎去培訓大數據就是扯淡,我接觸的所有培訓大數據的,沒有能找到工作的,因為一家公司不可能招聘一個沒有工作經驗的大數據工作者,這是完全不符合邏輯和現實的。
  • 想學Python,它的發展前景和就業方向有哪些?
    隨著Python的技術的流行,Python為人們的工作與生活上帶來了很多的便捷,因為Python簡單,學起來快,也是不少新手程式設計師入門的首選語言。那麼Python究竟是一種什麼樣的語言呢?又有哪些發展前景呢?
  • Python見效快,Go周期長,學那個更有錢景?語言生態的圈地運動
    16年後,2007年穀歌三位計算機語言學家開始開發go語言。一個是29歲的python一個是13歲的go,在當今網際網路和基於計算機集群的軟體和虛擬產品領域稱雄世界,那麼,跟誰混才更有「錢」景呢?今天我們聊一聊,go和python的發展前景問題。我們現在學習python,會不會有些過時?
  • 騰訊阿里多位專家分析Python前景+python教程分享
    以上就是目前比較好的Python的發展規劃和前景,讓你學習Python有個流程,不會暈頭轉向的。在透明屏幕前的程式設計師2020年最新python教程。如果你處於想學python或者正在學習python,python的教程不少了吧,但是是最新的嗎?說不定你學了可能是兩年前人家就學過的內容,在這小編分享一波2020最新的python全套教程,共計約426集,免費分享給大家!
  • 《笨辦法學python》再笨的人都能學會python
    《笨辦法學python》再笨的人都能學會python《笨辦法學python》內容本書結構共包括52個習題,其中26個覆蓋了輸入/輸出、變量和函數三個主題,另外26個覆蓋了一些比較高級的話題,如條件判斷、循環、類和對象、代碼測試及項目的實現等。
  • 當今軟體行業下的另類程式設計師,全棧軟體工程師
    全棧工程師這個頭銜在國內還是少有聽聞,但是在美國早已大肆流行開來,縱關Facebook,Twitter,Amazon的招聘要求來看,有相當多的職位寫的是Full Stack Enginner,即全棧工程師。
  • 看完本文若不能讓你學通Python,我願退出IT界
    今天我給大家分享一些Python的視頻教程和基本概念圖,以及學習路上最有效的學習方法。學習Python的前景未來1,Python前景發展Python語言中有一個特點就是沒有什麼特別強勢的,但是它可以使用非常多的範疇,並效率高得可怕,Python使用範疇非常的多,現在據了解國內應該沒有太多的人學習Python,而且Python的招聘和薪資確實是非常的高,現在有許多大型網際網路公司都是高薪聘請Python開發人員如:騰訊,阿里巴巴,百度,搜狐,微軟
  • Python:是!「用Python的,全是假程式設計師」!HR:太真實……
    Python遠不止我們看到的這麼簡單,往下看,一起偷偷學Python不為人知的小技巧,跟同事甩開差距,早日成為部門大牛吧!1Python:代碼界的「英語」!未來不會python的程式設計師,發展太受限Python能夠大展頭角的領域涵蓋方方面面。
  • Python為啥這麼火!轉行Python先看一下這篇文章(全是經驗)
    最近陸陸續續有很多小夥伴問我,學Python到底應該做什麼,從事哪種崗位。網上有一個段子,說老闆可以拼命罵80後的員工,但是不敢罵90後的員工,原因是因為80後很多都是35歲以上了,有家有口,都是上有老下有小,負擔很重,而且還有房貸,不敢輕易換工作,所以罵兩句沒有關係!