2021 年度開發者人口普查,深刻了解程式開發者,學習背景、喜好技術、工作狀況

本文內容與圖表來源為 2021 Developer Survey from Stack Overflow,調查 2021 年 Stack Overflow 網站的使用狀況。

這個調查每年都會做一次,已經累積超過 10 年,想看看過去的調查數據請參考 Stack Overflow 年度開發者調查

Stack Overflow 是工程師一定知道的討論區,是一個程式設計領域的問答網站,無論是在工作上詢問專業問題,或是學習新技術,了解工作生態等等,都會來這裡參考。

每年 Stack Overflow 都會調查使用這個網站的人,了解開發者是什麼樣的背景,擁有什麼專業能力,這份報告非常有趣,也可以大概窺視未來技術工作趨勢。

調查的目的是也為了幫助 Stack Overflow 社區,讓這個平台更好用。

2021 總體而言,18 歲以下開始寫程式的愈來愈多,新加入軟體開發的工作者,人數也在上升。

線上課程和部落格教學,比起書本和學校更受歡迎,無師自學的工程師也是趨勢。

調查方法

這一份調查報告是從 181 個國家,總共超過 8 萬份的調查回覆,填寫這份問卷需要一些時間完成,如果只花了三分鐘就填完問卷,就不會被當作有效問卷分析。

如果有完成問卷調查,Stack Overflow 會送你一個徽章,代表你已完成此次【人口普查】。

這些問題有些還蠻敏感的,可以不用回答,問題的順序也不是固定。

有 70% 的受訪者表明是專業的開發者 (以程式開發為主要工作)。

15% 表明是學習程式的學生。也有將近 15% 是把寫程式當作興趣,或在工作上偶爾寫程式。

開發者背景

居住地區

開發者居住在全球各地,美國佔 18.33%,第二名是印度佔 12.61%,第三名德國佔 6.75%。

也有臺灣人填寫問卷調查,有 302 份回覆。

第一行程式碼

50% 程式開發者表明寫的第一行代碼,是在 11 ~ 17 歲之間,哇!真的很讓人吃驚。

有的小孩甚至 5 歲就開始寫代碼。

如何學習寫程式

60% 回應是由線上課程學習程式開發,年紀愈輕的工程師愈傾向使用線上課程,討論區,和其它線上學習資源。

相對年紀較大的工程師,則偏向學校和傳統書籍閱讀學習。

寫程式的經驗

不管是不是以程式開發為專業工作都算。

大部分的受訪者的程式經驗為 5~9 年。

前十名經驗最長的國家,除了印度,經驗都在 10 年以上。

有 50% 的人寫代碼超過十年

英國人最長 16.34 年,美國其次 15.71 年,看起來進步國家的程式開發者,都有很長的工作經驗。

以程式開發為專業工作的經驗

1~4 年佔比 31.26%
5~9 年佔比 27.31%

經驗愈多的佔比例愈來愈少。

開發者類別

認為自己是一名全端開發者佔 50.27%。

認為自己是一名後端開發者佔 41%。

認為自己是前端開發者佔 24.33%。

全端開發工程師是最普遍的角色,開發者可以擁有多個角色。

教育程度

擁有學士學歷 (B.A., B.S., B.Eng., etc.) 49.34%。

擁有碩士學歷 (M.A., M.S., M.Eng., MBA, etc.) 24.56%。

年齡

大約 %40 ~ %50 的受訪者年紀在 25 歲至 34 歲之間。

性別

大約 90% 的受訪者表明是男性,程式開發真的非常缺乏女性。

種族和民族

60% 的受訪者表明是白人或歐洲血統。

心理健康

大約三分之一的受訪者願意回答有關心理健康的問題,是 2020 年的兩倍。

16000 個回應中,有 10% 表明正在處理焦慮症狀,這只是有回答這一題的人數,看來程式開發這一行,還蠻焦慮的。

技術偏好

程式語言

JavaScript 連續九年維持第一,Node.js 退到第六位,HTML/CSS 第二。

前端技術還是最常被討論的主題。

Python 擠下 SQL 成為第三名。

開發 WordPress 使用的 PHP 在第 11 名。

資料庫

MySQL 是最常使用的資料庫,其次是 PostgreSQL。

雲端平台

AWS 依然是最多人使用,但 Google Cloud 和 Microsoft Azure 在 2021 年也有很大的增長。

網站開發框架

React.js 奪下最常用的 Web 框架,Svelte 為最受歡迎的框架。

其它常用開發框架

.NET Framework 最常用的其它框架。

其它最常用工具

超過 90% 回應 Git,並建議開發者一定要會使用 Git,這是身為一名開發者的基礎技術。

第二名是 Docker

Yarn 很特別,在第三名。

整合開發環境

Visual Studio Code 在所有開發者中,是最常使用的整合開發 IDE。

Notepad++ 第三名表示還蠻多人在用喔。

作業系統

開發者最常使用 Windows 佔 45.33%。

Linux-based 佔 25.32%。

MacOS 佔 25.19%。

以程式開發為專業工作的人,使用 MacOS 稍微上升 5%。

Windows 佔 41.2%。

MacOS 佔 30.04%。

Linux-based 佔 25.17%。

使用 Windows 的專業開發者,只有佔 4 成。

明年還想繼續用的程式語言

這個定義是你今年廣泛使用了這個技術,而明年還想繼續用,這樣才真的喜愛要繼續用。

Rust 是最想繼續使用的程式語言。

Python 和 Typescript 是從來沒用過,2022 想要試試看的第一名程式語言。

明年還想繼續用的資料庫

  1. Redis
  2. PostgreSQL
  3. MongoDB

明年還想繼續用的網站開發框架

Svelte 是最想繼續使用的第一名。

React.js 和 Vue.js 竟然不在前三名。

協作工具

Neovim 是第一名最想繼續使用的 IDE。哇!完全沒聽過。

Visual Studio Code 排名第二。

薪水最高的技術

Closure 是薪資最高的程式語言。

前十名薪資最高的程式語言,我一個都不會哈哈。

DynamoDB 是薪資最高的資料庫,AWS 的雲端資料庫。

AWS 是薪資最高的雲端平台。

Ruby on Rails 是薪資最高的網站框架。Svelte 其次。

Apache Spark 是薪資最高的其它框架或開發庫。

Pulumi 是薪資最高的其它工具。完全不認識。

TextMate 是薪資最高的協作工具。哇嗚!MacOS 的程式開發編輯器。

工作狀況

受僱比例

80% 的專業開發者,是全職工作,比 2020 年少了 3%。
專業開發者表明自己是自由工作者,從 2020 的 9.5% 上升到 2021 年的 11.2%。

高級管理人員和經理往往擁有最多年的程式開發經驗,而從事數據科學和機器學習工作的人往往擁有最少的開發年數,平均而言甚至低於學術研究人員。

以國家區分~
64.77% 加拿大受訪者表明是受僱全職開發者。
63.46% 德國受訪者表明是受僱全職開發者。
58.39% 印度受訪者表明是受僱全職開發者。

工程師受雇狀況沒有想像中的高,難怪這麼缺工程師,都不想上班。

公司型態

65% 在 500 人以下的公司工作。

12.66% 在 10000 人以上的公司工作。

開發者職務薪資

Devops Specialist 排名比 Backend 開發者還高。

Backend 開發者還比全端開發者高,全端開發比前端開發者高。

雖然工程經理、SRE、DevOps 專家擁有較高的薪資,但他們需要的專業年資也是較高的。

PHP 在相同開發經驗者中,是薪水較低的,可能因為懂 PHP 的人真的很多,PHP 的工作機會也很多。

最後

上面的調查並不能真正描繪工程師就是這個模樣,或是完整了解開發者的喜好,只能說明使用 Stack Overflow 的族群是什麼樣的輪廓,但這是一份很有參考價值的調查。

O’Reilly 也有類似的調查,分析使用 O’Reilly 學習平台的數據資料,這個學習平台比較偏向企業端,所以分析結果與 Stack Overflow 會不太一致,但也有很多類似的技術趨勢。

Stack Overflow 在前端技術部分,討論度比較高,O’Reilly 反而在 Java、Python 等偏後端的技術,比較多關注。

O’Reilly 2022 技術趨勢報告

常用的技術,比較好找工作;但獨特性才能有更高的回報。

以上只有擷取部分精簡內容,更多詳細調查請參考 2021 Developer Survey from Stack Overflow