2020 StackOverflow 開發者調查報告

StackOverflow Developer Survey 2020

StackOverflow 在 2020/05/27 公佈了 Developer Survey 的結果,這已經是 SO 第十年做開發者調查了。這一份報告的受訪者人數為 64,416 人,其中美國佔了大多數的 19.49%,台灣僅佔 0.25%。報告中有提及為了避免 SO 社群造成的數據偏差,已經盡量透過非 SO 本身的渠道接觸受訪者。

軟體產業的變動之快,的確是需要定時對於開發者使用的或是喜愛的技術與框架做滾動式的 Insights。看到這份報告後,看到幾個結果滿有意思的在這列出來討論。

最愛的語言 / 最畏懼的語言

開發者最愛的語言是 Rust,以明顯的 86.1% 比例與第二名的 TypeScript (67.1%) 遠遠拉開。SO 在今年年初就有一篇專文深入介紹為什麼 Rust 這麼普遍。Rust 只用了五年的時間就來到開發者最愛的首位,後續的發展潛力估計會慢慢爆發,還沒了解過 Rust 的開發者是時候研究一下了。排在第二位的是 TypeScript,似乎微軟近年來轉向擁抱 Open Source 社群慢慢有了結果。我個人之前在北京從事區塊鏈行業時短暫寫過 TypeScript,確實是有效的改善了寫慣強型別語言的人在開發 JavaScript 時的焦慮感。但沒想到這麼受到開發者社群的擁護。

Most loved languages

最畏懼的語言前兩位是 VBA 與 Obj-C。VBA 就不說了,Obj-C 的話除了 retain count 的問題跟語法醜了點外,我以前的開發經驗並沒有這麼糟,SO 沒有在這邊給出細節分析,猜測是與 Swift 對比來看寫法的簡潔與效率被比了下去。

Most dreaded language

最愛的 Web Framework / 最畏懼的Web Framework

看到最愛的 Web Framework 的首位是 ASP.NET Core 也是有點吃驚。已經很久沒有接觸過 MSFT 的開發生態了,想不到連 ASP.NET 都開源了。官方聲稱的 QPS 數據也是屌打 Node.js:
ASP.NET Performance

第二名的 React.js 還勝過第三名的 Vue.js,這個倒是跟原本認知的有點差距,之前在評估新 Project 時,Front-end solution 似乎都只考慮 Vue.js 了。

順帶一提,這個 framework 調查沒有區分前端與後端來看似乎不太合理。

最畏懼的 Web Framework 首位是 Angular.js。該說不意外嗎?個人資質駑鈍,曾經花了一點時間看 Angular.js,確實不是很容易上手的 Framework。

Most dreaded frameworks

開發者類別

以開發者角色來區分的話,大部分的開發者集中在 Backend (55.2%)。Mobile 在比例上竟只佔 19.2%,甚至 Desktop application 都比 Mobile 高。以目前 Smart Phone 的普及率現況來看,這個點滿值得深入探討。

對比台灣職缺,最缺的反而都是 Backend 或是 Fronten d相關工作。 Mobile App Developer 在台灣是相對飽和的一個族群,前幾天還跟友人聊到,美國畢業生都偏好往 Backend 發展,因此在美國反而比較缺乏的是 App Developer。

開發者環境

雖然在自己周遭環境中已完全被 MacBook 包圍了好幾年了,也一直覺得使用 Mac OS 的開發者比例應該接近 Windows,但看到 SO 公布的數據才發現環境認知導致的偏差與現實環境差異還是過大。(純屬猜測:是否 Mobile App 的開發者使用 MacOS 的比例偏高?)

Developer Development Env

最熱門的語言

這邊與前面最愛的語言不同的是指開發者工作上使用中的語言。排在首位的是 JavaScript,對照開發者類別首位是 Backend 來看,難道幾乎都是 Node.js?

這邊比較有意思的是這個結果與 TIOBE 的統計結果有較大差異。看來 SO 社群找到的受訪者還是對於統計數據帶來不少偏差?TIOBE 目前排名首位是 C 語言,JavaScript 則是排在第七位。

Most popular languages

最熱門的 Frameworks

一樣,相較於前面最愛的 Frameworks 來說,這邊指的是工作中用到的 Frameworks 的統計。排在首位是 jQuery,原本以為在 Frontend 快速變動的世界中,新 framworks 應該會排在更前面,結果 jQuery 依然是相當重要的 framework。值得注意的是 jQuery 的佔比也是每年逐漸下滑並轉移到 React.jsAngular

另外想提一下是,多年前在 S 牌 NAS 廠工作時接觸到 ExtJS,這個 Framework 完全沒在排名內,已經沒人在用了嗎?

Most popular frameworks

學習新技術的頻率

這一個問題也是滿有趣,統計結果是 75% 的人是每幾個月或是至少一年內就需要學習一個新技術。這可能還是要依 Developer 類別來區分,如果是 Frontend 的話可能每個月都會有新技術要學。(為什麼 Frontend 的技術會不斷有新的 Framework 出現來取代既有的?是個值得深入研究的題目。)

Learning new tech frequency

結論

這邊其實僅拿部分比較有趣的結果來看,完整的數據公開在 Open Database License (ODbL)。或是可以看 SO Blog 的完整報告

從報告中可以看出慢慢展現出潛力的語言是 Rust 以及自動部署系統 Kubernetes。SO 也有專文來介紹 Rust 以及 Kubernetes 越來越普遍的原因。

在開發者中,薪資最高的角色是 DevOps,隨著各式 Services 的推出,服務器的穩定維護以及自動化等,DevOps 逐漸演變成團隊中極為重要的角色。

MSFT 在轉向 Open Source 後逐漸顯示成效,尤其是 ASP.NET Core 與 TypeScript 在幾個調查結果中都排在前幾位。當然還有 VS Code 的社群,雖然報告中並沒有 IDE 相關 Survey。



Leave a Reply

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *