在過去五年的最受開發者喜愛的技術榜單中,Python 語言的排名持續上升。但今年 Python 被 TypeScript 擊敗,從去年的第二名掉到了第三。Rust 連續五年位列該榜單第一名;
網站可靠性工程師和運維專家薪資仍然最高。80% 的受訪者認為運維很重要,44% 的受訪者任職公司擁有至少一名專職運維人員;
澳大利亞受訪者的平均編程經驗最豐富,約為 16.9 年,其次是英國和美國的開發者。而美國和英國受訪者的平均工作年限最高,分別是 33.7 和 33.1 年;
超過 75% 的開發者偶爾加班(每個季度加班一至兩天),25% 的開發者每周加班一至兩天甚至更多;
在專業開發者中,有色人種仍然佔少數。但在全部開發者中,其數量有所增加。
從下圖可以看到:受訪者從事職業前五位分別是:後端、全棧、前端、桌面或企業應用、移動端。另外,運維專家、資料庫管理工程師、設計師和系統管理工程師的比例也都在 10% 以上。受訪者的工作年限情況如下:工作年限為 5-9 年的開發者佔比最高,其次是 10-14 年、少於 5 年、15-19 年以及 20-24 年。值的注意的是,工作年限在 25 年以上的開發者佔比僅為 12.9%。受訪者的學歷情況如下:69% 的受訪者是本科和碩士學位,博士學位的開發者佔比僅為 2.9%。首先是最常用的編程、腳本和 Markdown 語言排名。JavaScript 連續八年榮登最常用程式語言榜首,其次是 HTML/CSS、SQL、Python、Java 等。其中,JavaScript 的使用者比例與去年基本持平,Python 的使用者比例相比去年增長了 2.4%,發展勢頭迅猛。最常用的 Web 框架中,排名前五的是 jQuery、React.js、Angular、ASP.NET 和 Express。最常用的資料庫排名中,位列前五的是 MySQL、PostgreSQL、Microsoft SQL Server、SQLite 和 MongoDB。在最常用的平臺中,Linux 和 Windows 名列前茅,超過一半受訪者表示在過去一年中使用過這兩個平臺做開發工作。此外,容器技術的流行度也在逐年增長,如 Docker 和 Kubernetes。最受開發者喜愛的程式語言排名中,Rust 連續五年成為最受開發者喜愛的程式語言,然後依次是 TypeScript、Python、Kotlin 和 Go。去年排名第二的 Python 被 TypeScript 擊落,位列第三。那麼哪種語言最令開發者感到頭疼呢,80.4% 的開發者選擇了 VBA。在最受開發者喜愛的 Web 框架排名中,前五依次是 ASP.NET Core、React.js、Vue.js、Express 和 Gatsby。而開發者最頭疼的 Web 框架是 Angular.js,有 75.9% 的開發者選擇了該選項。最受開發者喜愛的資料庫排名,Redis 連續四年位居榜首,然後依次是 PostgreSQL、Elasticsearch、MongoDB 和 Firebase。而最令開發者頭疼的資料庫是 IBM DB2,有 76.7% 的開發者選擇了該選項。在所有平臺中,Linux 依舊最受開發者喜愛,Docker 和 Kubernetes 分列二、三名。67.0% 的開發者將 WordPress 視作最令他們頭疼的平臺。近一半的開發者選擇 Windows 作為主要作業系統,選擇 MacOS 和 Linux 的開發者佔比相當,約為 27%。80% 以上的開發者選擇了 GitHub 作為首選協作工具,一半以上的開發者選擇了 Slack。就全球範圍來看,使用 Perl、Scala 和 Go 語言的開發者往往獲得最高的薪酬,薪酬中位數約為 75k 美元。值得一提的是,Perl 語言在最令開發者頭疼的程式語言中排名第三,所以高薪酬可能是為了彌補該語言開發者的短缺吧。此外,Java 也不再是薪酬最低的程式語言了。而在美國,薪酬最高的語言是 Scala、Go 和 Objective-C。技術聚合在一起形成相關聯的生態系統,供開發者使用。下圖展示了關聯性最高的技術:與去年的情況類似,web 開發技術簇通過 SQL 與微軟技術產生聯繫,運維技術簇通過 Linux 與 Python 生態網絡產生關聯。工程經理、網站可靠性工程師(SRE)、運維專家和數據工程師的薪資水平最高。總體上,開發者的薪資與工作經驗成正相關。但是具體到特定職位則有一些區別,例如網站可靠性工程師、運維專家和數據工程師的薪資與具備同等工作經驗的其他職位開發者相比尤其地高,這與整體薪資趨勢保持一致。以上是該調查報告中與開發者技術、薪資等較為相關的內容,更全內容請閱讀原報告。機器之心聯合 AWS 開設線上公開課,通過 6 次直播課程幫助大家熟悉 Amazon SageMaker 各項組件的使用方法,輕鬆玩轉機器學習。
6 月 2 日 20:00,AWS解決方案架構師尹振宇將帶來第 3 課,詳解如何利用SageMaker Operator簡化Kubernetes 上的機器學習任務管理。
點擊閱讀原文或識別二維碼,立即預約直播。