整理 | 蘇宓
出品 | CSDN(ID:CSDNnews)
身處技術圈的漩渦之中:
你是追著日新月異的技術潮流跑以此築造全棧本領,還是紮根於自己已有的技能繼續深造成為該領域的專業人士?
你是遵循自己的興趣使用新的程式語言等工具,還是滿足工作的硬需求點到即止?
在程式設計師的生涯中,時常有人陷入了迷茫,跟著浪潮隨波逐流,逐漸丟失了屬於自己進階的方向。近日,全球知名程式設計師問答社群 Stack Overflow 對來自全球 180 個國家/地區的 73268 名軟體開發者調查後,重磅釋出了《2022 Developer Survey》報告,剖析當代開發者如何學習與升級技能,以及正在使用的工具現狀。在此,也希望疾步行走中的大家不妨適當停下腳步看看當前的整體開發趨勢。
透過該報告,我們有以下最新發現:
線上學習程式設計的比例從 60% 上升到了 70%,45 歲以上的受訪者喜歡從書本上學習知識,而年輕人依賴線上學習與資源。
今年,Docker 似乎正在成為專業開發人員的基本工具,從 55% 增加到 69%。
Rust 已成為最受歡迎的語言的第七個年頭,87% 的開發人員表示他們希望繼續使用它。
Angular。js 連續三年成為開發者最討厭的框架。
Clojure 仍然是最高收入語言。Chef 開發人員是薪水最高的,但 Chef 也是開發者最不喜歡的工具之一。
85% 的開發人員表示,他們的組織至少部分是支援遠端的。
62% 的受訪者稱,每天花費超過 30 分鐘尋找問題的答案或解決方案。25% 的人每天花費超過一個小時。
對於一個由 50 名開發人員組成的團隊來說,搜尋答案/解決方案所花費的時間加起來是整個團隊每週損失 333-651 小時的時間。
當代開發者的學習狀態:身兼數職,依賴線上學習
當代開發者進入“內卷”時代,根據調查顯示,不少開發者身兼數職。46。82% 的受訪者稱自己為全棧開發者,尤其是資料庫管理員、產品經理、安全專業人員認為自己具備的技能最多,共有 7 種。
開發者當前的工作型別
無論是國內還是國外,程式設計師群體的學歷背景大多數是本科及以上,其中本科的學士學位最常見。
開發者所接受的正規教育程度
根據調查顯示,隨著開發者群體趨於年輕化,線上學習程式設計的人數比例從去年的 60% 上升到了今年的 70%。其中,45 歲以上的受訪者最有可能從書本上學習,而年輕人偏向線上學習。較年輕(18 歲以下)的受訪者最依賴線上資源,並且最有可能從線上課程或認證中學習。
學習程式設計的方式
在受訪者中,75% 的程式設計師作為專業開發者工作了 14 年及以下時間。而能做到高管、副總裁級別的大多數都是具備了多年專業編碼經驗的人,據此次調查顯示,做到高管級別的人員擁有平均 17。04 年的經驗。
專業編碼的年限
Oracle 上榜開發者最討厭的資料庫,JavaScript 最受歡迎
在今年調查報告中,Stack Overflow 進行三類人群的資料統計,分別是所有受訪者、專業開發者和正在學習編碼的人員。
最常用 JavaScript,Rust 最受歡迎,最討厭 MATLAB
根據資料顯示,2022 年是 JavaScript 連續第十年成為最常用的程式語言。
對於初學習編碼的人員而言,他們最常用的語言是 HTML / CSS、JavaScript 和 Python,而專業開發者則是 JavaScript、HTML/CSS 和 SQL。
相比專業開發者,正在學習編碼的人常會從 Python、C++、C 語言入手,不太可能用到 SQL(學習編碼 38% vs 專業開發者 53%)、TypeScript(學習編碼 15% vs 專業開發者 40%)和 Bash/Shell(學習編碼 19% vs 專業開發者29%)。
過去一年,常用程式語言的 Top 20
在嘗試過程中,Rust 已經連續 7 年霸榜最受歡迎的程式語言 Top1 寶座,今年仍然有 87% 的開發者表示希望繼續使用它。另外,Rust、Python、TypeScript 也成為開發者在未來最想要使用的技術。
相較之下, 古老的 MATLAB、COBOL、VBA 成為開發者最討厭的程式語言 Top3。
最喜歡和最討厭的程式語言
MySQL 最受歡迎,Oracle 入選開發者最不喜歡的資料庫之列
在資料庫領域,MySQL、PostgreSQL、SQLite 是開發者最常用的三種。
對於專業開發人員來說,PostgreSQL 從 MySQL 手中勉強拿下了第一的位置。專業開發人員比那些學習編碼的人更有可能使用 Redis、PostgreSQL、Microsoft SQL Server 和 Elasticsearch。
常用的資料庫
在受訪者群體中,專業開發者和學習編碼人使用 MongoDB 的比例相當,它也是學習編碼群體中第二大最受歡迎的資料庫(僅次於 MySQL)。這是有道理可循,因為它支援大量的語言和應用程式開發平臺。
對比之下,IBM Db2、CouchDB、Oracle 上榜開發者最不喜歡的三種資料庫榜單。
最喜歡和最討厭的資料庫
據調查顯示,目前使用 MySQL 的群體更有可能開始或繼續使用 MongoDB 而非其他資料庫。
未來希望使用哪種資料庫
Azure 超越 Google Cloud,位居第二
AWS 仍然是所有受訪者和專業開發人員最常用也是最受喜愛的雲平臺。Azure 超越了 Google Cloud,獲得了第二名的位置。
常用的雲平臺
學習編碼和專業開發者相比,他們對雲平臺的用法有很大不同。Heroku 是學習編碼的人最常用的平臺(35%),明顯高於專業開發人員(18%)。而在專業開發者中佔比 55。17% 的 AWS,在學習編碼的人中僅有 23。7%。
編碼群體中常用的雲平臺
有些出乎意料的是,在行業中應用非常廣泛的 IBM Cloud/Watson 和 VMware 是開發者最不喜歡的雲平臺。
最喜歡和最討厭的雲平臺
Angular。js 成為開發者最討厭的 Web 框架,React。js 最受歡迎
Node。js 和 React。js 是專業開發人員和學習編碼的人最常用的兩種 Web 技術。專業開發人員比學習編碼的人更多地使用 Angular(專業開發者 23% vs 學習編碼 10%),與 ASP。NET(專業開發者 16% vs 學習編碼 10%)和 ASP。NET Core(專業開發者 21% vs 學習編碼 10%)。
專業開發者常用的 Web 框架
另外,Phoenix 超越了 Svelte 成為最受歡迎的 Web 框架的地位,而 React。js 是開發者最想要學習的框架。與之形成鮮明對比的是,Angular。js 已經是連續三年成為開發者最討厭的框架了。
最喜歡和最討厭的 Web 框架
TensorFlow 比 PyTorch 更受歡迎,也成為開發者最想要學習的框架
根據調查顯示,TensorFlow 在機器學習方面仍然比 PyTorch 更受歡迎,但 Scikit-learn 緊隨 TensorFlow 之後。此外,Flutter 和 React Native 是兩種最流行的跨平臺工具。
常用的其他框架和庫
學習編碼的人比專業開發人員更有可能使用 NumPy(學習編碼 43% vs 專業開發者 24%)、Pandas(學習編碼 35% vs 專業開發者 22%)。其中主要原因是因為它們都是基於 Python,學習編碼的人正在使用 Python。
當談及未來想要使用哪種未曾嘗試過的框架時,15。33% 的受訪者表示是 TensorFlow,其次分別為 Flutter 和 React Native。
最想要嘗試的框架和庫
Docker 成為專業開發者的基本工具
去年的調查資料顯示,Git 成為開發人員的基本工具。而在今年,一切發生了巨大改變,Docker 似乎正在成為專業開發人員的基本工具,其使用佔比從去年 55% 增加到今年的 69%。
專業開發者最常用的工具
在工具層面,學習編碼的人比專業開發人員更有可能使用 3D 工具來自學 3D VR 和 AR 技能,如 Unity 3D(學習編碼 23% vs 專業開發者 8%)和虛幻引擎(學習編碼 9% vs 專業開發者 3%)。
VS Code 無可匹敵
Visual Studio Code 仍然是所有開發人員的首選 IDE。PyCharm 更多地被學習編碼的人使用(學習編碼 26% vs 專業開發者 16%),而 Vim 被專業開發人員使用得更多(專業開發者 24% vs 學習編碼 16%)。
最常用的 IDE
在受訪者中,有超七成開發者將最討厭的 IDE 這一票投給了 NetBeans。其次 Eclipse、Atom 紛紛上榜開發者最不喜歡的 IDE 榜單中。
最喜歡和最討厭的 IDE
基於 Linux 的作業系統使用率超過 macOS
Windows 是開發者群體中最流行的作業系統,涵蓋個人和專業用途。基於 Linux 的作業系統比 macOS 更受歡迎,而這也是開源軟體帶來的魔力。
最常用的作業系統
學什麼技術,能獲得高薪?
對於開發者最為感興趣的“學什麼技術最能掙錢”話題下,根據調研的資料顯示,在程式語言方面,Clojure 仍然是眾所周知的最高收入語言,中位數達到了 106,644 美元。其次,高薪語言分別為 Erlang、F#、LISP、Ruby。不過相較而言,這些技術在開發者群體中較為少見。
整體來看,2022 年,開發者的薪酬都比 2021 年有所提升。COBOL 漲幅最為明顯。
在資料庫領域,掌握 DynamoDB、Couchbase、Cassandra、Neo4j、Elasticsearch 的開發者往往更能獲得高薪。
基於平臺的維度,Colocation、AWS、IBM Cloud or Watson、Linode、Microsoft Azure 是高薪榜單的 Top 5,最高的年薪中位數為 111,196 美元。
Phoenix 既是開發者最受歡迎的 Web 框架也是最為高薪的技術。
Chef 開發人員是薪水最高的,但 Chef 也是開發者最討厭的工具。
在大資料維度,獲得 Apache Spark、Apache Kafka 和 Hadoop 的技能,能收穫意想不到的驚喜。
遠端工作已成未來辦公的一大趨勢
今年有 68。61% 的受訪者為全職,人數相比去年上升了 4%。其中,85% 的受訪者表示,公司支援遠端工作。擁有超過 10000 名員工的公司最有可能採用混合模式,即辦公室和遠端的方式來辦公。
在薪酬方面,公司的高管和技術經理等高階職位拿到薪酬往往比較高。高管的年薪中位數達到 117,126 美元。工程經理的年薪中位數為 111,976。
值得注意的是,在所有職業中,區塊鏈成為近幾年來的熱門崗位,尤其在美國、德國、英國和加拿大等國家,即使開發者的相關經驗年限較低,但是薪酬水平不錯。
事實證明,隨著開發者經驗的增長,薪酬也水漲船高。根據資料顯示,平均而言,收入最高的三種職位擁有超過 11 年的工作經驗。
按語言進行劃分,與具有相同經驗的其他語言相比,PHP 開發人員的薪水仍然過低。
影響專業開發者工作效率的「攔路虎」
在職業生涯中,程式設計師在每個階段都會遇到不同的問題。對於專業開發者而言,根據調研資料顯示,近一半的受訪者表示,知識孤島(在組織中由於資訊資源得不到有效的交叉融合,知識板塊之間相互割裂而形成的無序狀態,彷彿大海中的一個個“孤島”)使得他們無法從整個組織獲得相關知識,而在等待問題的解答過程中往往會導致他們中斷工作流程。
影響專業開發者效率的主要因素
具體來看,有 68% 的受訪者表示,他們每週至少遇到一次“知識孤島”問題。
為了解決這一問題,62% 的受訪者每天花費超過 30 分鐘的時間尋找問題的答案或者解決方案。25% 的人每天花費超過一個小時。
這意味著對於一個由 50 名開發人員組成的團隊來說,搜尋答案/解決方案所花費的時間加起來導致整個團隊每週損失 333-651 小時的時間。
每天花費在搜尋答案/解決方案上的時間
相對應的,46% 的受訪者稱,他們每天花在回答問題上的時間超過 30 分鐘。對於一個由 50 名開發人員組成的團隊來說,整個團隊每週回答問題所花費的時間加起來在 278-568 小時之間。
每天花費在回答答案/解決方案上的時間
在此趨勢下,入職培訓、工作時候的學習資源變得非常重要。78% 的受訪者表示,他們的僱主給他們時間學習,64% 的受訪者使用僱主提供的學習資源。
在大多數企業中,其內部都提供 CI/CD、DevOps 和自動化測試。不過,只有 38% 的受訪者表示公司擁有開發者門戶,以便於查詢工具和服務。
上面的開發者現狀是否是你的真實現狀?如果想要了解更多報告內容,可檢視:https://survey。stackoverflow。co/2022/
—