近日,開發者調查分析公司 SlashData 發布了 2021 年《開發者報告》,覆蓋了來自 155 個國家和地區的 19,000 多名受訪者。SlashData 的調查方法和 Stack Overflow 或 Redmonk 等公司略有不同,所以一些數據也會略有不同。一起來看看吧。
JavaScript 位居榜首,Rust 漲勢迅猛
在連續十次的調查中,JavaScript 受歡迎程度都位居第一,畢竟全球有近 1750 萬的開發者在使用它,另外 JavaScript 不僅被世界上的絕大多數網站所使用,而且被世界主流瀏覽器(Chrome、IE、Firefox、Safari、Opera)支持。霸榜也是理所當然。
自從 Python 超越 Java 之后,就長期占據第二的位置,現在已經擁有了 1570 萬個用戶。簡單易上手可能是 Python 被大規模采用的主要原因。
在過去的一年里,Rust 獲得了更多開發者的青睞,從 2021 年到 2022 年第一季度,使用 Rust 的開發者數量迅速增長,從 60 萬增加到了 220 萬。
Go 和 Ruby 都是后端開發的重要語言,不過 Go 似乎獲得了更多開發者的喜愛,其增長速度是 Ruby 的兩倍。


中間型人格是大多數程序員的屬性
在許多人的眼中大多數程序員都是以一種類似宅男的形象出現的,簡單的 T 恤和背包,給人一種話不多的感覺。程序員的性格到底是怎樣呢?SlashData 使用了 TIPI 法(Ten-Item Personality Inventory)對開發者的五大人格維度(情緒穩定性、外向性、經驗開放性、合群性和自覺性)進行了調查。

有 52% 的開發者屬于 " 中間型 " 人格,即不外向也不內向,情緒即沒有很不穩定但也不缺乏情緒,這可能是大多數人眼中的程序員形象。
大約有 8% 的人的經驗的開放程度更高,求知欲更強。這一類的開發人員通常更加傾向于研究新的工具和技術,走在科技的前沿。
另外還有 5% 的開發者比其他的開發者負責感和親和力更強。這類人一般更適合擔任具有創造性的角色,如用戶體驗設計師。


經驗超過十年的程序員用不上低代碼 / 無代碼工具
好的工具能夠大大提高開發的效率。一些低代碼 / 無代碼工具能夠讓一些沒有軟件開發經驗的人創建應用程序,同時也能夠為專業的開發人員節約時間和成本。那么不同專業地位、地域和經驗的開發人員使用 LCNC 工具有什么差異呢?
雖然低代碼 / 無代碼工具看似像是為一些沒有軟件開發經驗人創建的,但是使用 LCNC 工具的開發人員在不同人群之間的比例差異不大(專業人員 46%,非專業人員 45%)。

隨著經驗的增加,開發人員使用 LCNC 工具的可能性就越低。特別是擁有超過 10 年經驗的開發者幾乎不會使用 LCNC 工具。
這些工具通常比較適合應用于簡單的編程任務,而富有經驗的開發人員所要完成的工作往往比較復雜。
不過說到底,工具只是一個輔助的角色。所以無論是處在哪一個經驗級別,單靠工具而沒有一定程度的手動編碼是非常罕見的(2-4%)。

不同地域的開發人員在使用 LCNC 工具方面存在顯著的差距。中國有 69% 的開發人員使用 LCNC 工具,高于全球的平均水平(46%),這表明中國的 LCNC 工具已經進入了發展階段。

另外,南亞、中東、非洲、東亞(不包括中國)的 LCNC 使用率都高于全球的平均水平。雖然這些地區的 LCNC 工具有很大的發展,但是還并不是很成熟,不足以成為開發人員的主要特征。
LCNC 使用率低于全球平均水平的有西歐、以色列、大洋洲、東歐和南美等地區,這些地區的 LCNC 工具市場還處在初級階段。
自學才是王道
下面是關于中國和東亞其他地區的開發者調查。中國的開發者占全球開發者人數的 9%,是其他東亞地區的開發者的總和(9%)。其中在東亞的開發者由主要分布在兩個國家:日本(21%)和印度尼西亞(32%)。
中國擁有六年經驗的開發者超過三分之一(34%),這個比例在全球是 43%。此外,中國經驗豐富(超過 16 年)的開發者只有 4%(全球比例為 22%)

自學是開發者必備的技能之一。全球有超過 60% 的開發者通過自學來學習編程。在中國,50% 的開發者是通過大學教育學習計算機,完全自學的開發者比例不高,但即使是接受大學教育,自學也是必不可少的一種方式。
在東亞其他地區,自學是最受開發者歡迎的方法(61%),其次是通過大學教育(軟件工程本科 41%)。印度尼西亞的學習方式比較多樣化,一般使用三種方式學習編碼:自學、在線課程和開發者訓練營。

Stack Overflow 作為一個國際性的論壇網站、計算機技術交流社區,受到許多開發人員的青睞,85% 的開發人員都使用或者訪問過這個網站。不過中國擁有 Stack Overflow 賬戶的比例不高,只有 19%。在對國內的開發者的調查發現,用 CSDN 解決技術難題的居多(36%)。而日本的 Stack Overflow 更低,只有 36% 的開發者使用過 Stack Overflow,5% 擁有賬戶。不過中國和日本都有本土的開發網站,這可能是其 Stack Overflow 使用率較低的原因之一。


還是委托開發 " 香 "
調查發現,最受開發者歡迎的營收方式是委托開發 /(31%),委托開發的時間可以持續數月或者數年,自由度較高,允許開發人員和公司在項目期間合理的規劃資源。此外,開發者和它們的公司可能會在此過程中為客戶提供額外的服務,以增加收入。
排名第二的是通過應用商店或者在自己的門戶網站上銷售軟件和應用程序(24%)。
有趣的是,雖然數據經常被稱為新的黃金,但只有不到十分之一(7%)的專業開發者是通過銷售數據來創收的。因為出于隱私保護等原因,許多地區都制定了相關規定來限制開發者出售用戶數據。

另外公司的規模也會對盈利模式產生影響。公司的規模越大廣告的收入模式使用的就越少,一些小型的游戲和軟件充斥著廣告,主要依靠廣告盈利。
大熱門:AI 輔助軟件開發
談到可能改變世界的新興技術,自動駕駛汽車、元宇宙和 AI 輔助編程絕對值得一提。
為了了解開發人員對不同新興技術的參與(將對一項技術感興趣、進行學習或者致力于這項技術開發的人都定義為參與)和采用(目前從事這項技術的開發人員)情況,SlashData 設置了四個象限:
高參與 / 高采用——這些技術吸引了許多開發者并且已經取得商業上的成功。
高參與 / 低采用——這些技術吸引了許多開發者,但還未產生商業影響。
低參與 / 低采用——這些邊緣技術沒有引起許多開發者的興趣,而且商業價值也沒有體現。
低參與 / 高采用——這些技術可能沒有對許多開發人員沒有吸引力,但對于那些感興趣的人來說,商業采用率很高。
主要對這些新技術進行調查:
AI 輔助軟件開發
元宇宙
NFTs
有 14% 的開發者正積極的從事 AI 輔助軟件開發,這項技術的應用是所有新興技術中排名第三的,也算的上是個大熱門。

在所有技術中,開發人員對區塊鏈技術(包括加密貨幣)的興趣增加的最多,但對區塊鏈應用程序的采用卻停滯不前。不過總體來說,新興技術采用率的采用率的增長都已經停滯。