go語言開發(fā)為什么難找工作(go語言工作好找嗎)
2021 年 10 月份,Go 官方進行了 2021 年 GO 開發(fā)者調(diào)查,此次調(diào)查共收到 11840 份回復(fù)(這是 6 年來參與人數(shù)最多的一次)。下面我們來看一下2021 年面向 Go 開發(fā)者的調(diào)查報告的報告內(nèi)容。
亮點
- 大部分調(diào)查結(jié)果與往年一致,例如對 Go 的滿意程度仍然很高,可達(dá)到 92%,受訪者在工作中使用 Go 語言的占比達(dá) 75%。
- 此次調(diào)查的部分受訪者來源于 Go VS Code 插件的使用者,因此調(diào)查的結(jié)果與往年有所差異。
- 缺少關(guān)鍵庫、語言特性和基礎(chǔ)設(shè)施不夠完善是 Go 語言推廣使用最常見的障礙(本次調(diào)查在 Go 1.18 發(fā)布之前進行,此時泛型還沒有推出)。
- 受訪者希望優(yōu)先考慮改進調(diào)試功能和依賴管理。
- 使用模塊時遇到的最大挑戰(zhàn)包括版本控制、使用私有倉庫和多模塊工作流。
- 81% 的受訪者對 Go 項目的長期未來發(fā)展充滿信心。
Go 使用情況
與前幾年的調(diào)查結(jié)果一致,Go 語言主要被用于科技行業(yè)。受訪者主要有兩部分組成,70% 是軟件開發(fā)人員,其余少數(shù)從事 IT 或 DevOps 工作。 76% 的受訪者在日常工作中會使用 Go 語言進行編程。


72% 的受訪者表示他們利用 Go 語言開發(fā) API/RPC 服務(wù),主要應(yīng)用于 Web 服務(wù)、庫或者框架和數(shù)據(jù)分析等。還有少數(shù)開發(fā)者將 Go 語言應(yīng)用于桌面應(yīng)用、AI、游戲的開發(fā)。

受訪者來源
- 大多數(shù)受訪者來自于企業(yè)或者中小型企業(yè),大約四分之一的受訪者來自于初創(chuàng)公司。來自于咨詢公司和公共機構(gòu)的受訪者較少。
- 絕大多數(shù)受訪者工作的團隊少于 10 人。
- 超過一半(55%)的受訪者在工作中以 Go 為主要開發(fā)語言,但工作之外使用 Go 語言的頻率較低。

性別認(rèn)同
該調(diào)查中詢問了有關(guān)性別認(rèn)同的問題,因為這個問題可以讓調(diào)查方知道受訪者的性別因素,可增加另一個維度來衡量社區(qū)的包容性。調(diào)查結(jié)果表明,女性的比例與往年大致相同(2%),在 VsCode 插件中的隨機抽樣結(jié)果也是類似的。

輔助技術(shù)
調(diào)查還發(fā)現(xiàn)大約 8% 的受訪者正在使用一些輔助技術(shù)。例如在 Go 相關(guān)網(wǎng)站或 IDE 中需要更高對比度的主題或者更大的字體等。Go 官方計劃在今年晚些時候根據(jù)調(diào)查的反饋采取行動,不斷推動 Go 生態(tài)系統(tǒng)的發(fā)展。
Go 應(yīng)用
Go 官方很關(guān)注 Go 語言的應(yīng)用問題,因此在該調(diào)查中加入了一個問題: 調(diào)查中會詢問受訪者,2021年是否同時評估過 Go 以及其他語言。 43% 的受訪者表示,從商業(yè)化方面考慮,去年曾經(jīng)評估切換到 Go 語言或者使用 Go 語言。最終調(diào)查結(jié)果顯示,75% 的用戶最終選擇使用 Go。

Go 的應(yīng)用場景中,API/RPC 服務(wù)是最常見的用途,但令人驚訝的是,數(shù)據(jù)處理是第二常見的預(yù)期用途。


對于那些評估過 Go 語言,但并沒有最終使用的受訪者,調(diào)查會隨后詢問其放棄 Go 語言的原因。
從下圖可以看出,放棄原因主要包括:缺少所需的語言特性、其他的編程語言對現(xiàn)有的工具和基礎(chǔ)設(shè)施提供了更好的支持、Go 生態(tài)缺少所需的庫、團隊沒有使用 Go 的經(jīng)驗、Go 工具不過豐富、Go 性能未能滿足需求、招聘 Go 開發(fā)者困難等。

調(diào)查結(jié)果中顯示,語言特性的缺失及生態(tài)系統(tǒng)的不夠完善是勸退開發(fā)者的主要原因。其中泛型是最關(guān)鍵的缺失特性(調(diào)查進行的時候尚未發(fā)布提供了泛型的 Go 1.18),除了泛型,開發(fā)者同樣希望引入類型系統(tǒng)相關(guān)的特性。Go 官方表示,他們將收集這些受訪者的需求信息,在未來的版本中探索滿足這些需求的方法,例如通過工具、庫或更改類型系統(tǒng)。
如果沒有選擇 Go 語言,那這些受訪者他們最終選擇了什么語言吶?

從上圖可以看出,放棄 Go 語言的受訪者們更多的選擇了 Rust、Python 和 Java語言。
- Rust 和 Go 語言有互補的特性,因此如果 Go 不能滿足項目的功能需求時,Rust 是一個不錯的選擇。
- 選擇 Python 的主要原因是 Python 具備良好的生態(tài)系統(tǒng),這是目前 Go 無法做到的。
- 使用 Java 語言主要是因為 Go 缺少部分語言特性,1.18 版本中引入泛型來 Go 的使用量可能會增加。
開發(fā)者對 Go 的滿意度
與去年一致,調(diào)查表明 92% 的受訪者對去年 Go 語言的使用感到非常滿意或比較滿意。

此外越來越多的受訪者表示 Go 對于他們公司的成功提供了至關(guān)重要的幫助。


Go 的優(yōu)先級
過去幾年,調(diào)查中通常要求受訪者對特定領(lǐng)域的滿意度以及這些領(lǐng)域的重要性進行評分,官方利用這些調(diào)查結(jié)果來找出一些對受訪者很重要但卻不滿意的領(lǐng)域。但調(diào)查結(jié)果發(fā)現(xiàn)大多數(shù)領(lǐng)域在重要性和滿意度方面僅顯示出微小的差異。

今年調(diào)查中,Go 官方設(shè)置了一個新問題,以探索確定特定領(lǐng)域工作優(yōu)先級的替代方法?!凹僭O(shè)您有 10 個 GopherCoins 可用于改進使用 Go 的以下方面。你將如何分配你的硬幣”,結(jié)果顯示,依賴管理和錯誤診斷部分收獲了最多的 GopherCoins 數(shù)量,因此 2022 年,Go 官方會重點處理這兩個領(lǐng)域。

學(xué)習(xí) Go 語言
絕大多數(shù)受訪者(88%)認(rèn)為使用 Go 語言開發(fā)效率特別高,85% 受訪者也認(rèn)為使用 Go 開發(fā)非常順暢。

實踐文檔
一半的受訪者希望能獲得有關(guān)性能優(yōu)化和項目目錄結(jié)構(gòu)最佳實踐的指導(dǎo)。而且新的 Gophers(使用 Go 不到 1 年)比更有經(jīng)驗的 Gophers 需要更多的指導(dǎo)。

如何學(xué)習(xí)一門新語言
大約一半的受訪者表示在工作中學(xué)到一門新語言,但幾乎同樣多的人(45%)表示在學(xué)?;蛘吖ぷ髦鈱W(xué)習(xí)到新語言。


開發(fā)者工具和實踐
與往年一樣,絕大多數(shù)受訪者表示在 Linux 和 maxOS 系統(tǒng)上使用 Go 語言,但隨著時間的推移,在 Linux 進行 Go 開發(fā)的受訪者比例略有下降。

部署平臺
超過 90% 的受訪者選擇 Linux 作為部署平臺。另外盡管 macOS 使用 Go 的開發(fā)者多于 Windows 系統(tǒng),但他們更傾向于部署到 Windows 系統(tǒng)。

模糊測試
大多數(shù)受訪者并不熟悉模糊測試或者仍然認(rèn)為自己是模糊測試的新手,基于這一發(fā)現(xiàn),Go 官方在 fuzzing 文檔中除了解釋 fuzzing 的細(xì)節(jié)之外,還詳細(xì)解釋了 fuzzing 的概念。

云計算
Go 在設(shè)計之初就考慮了現(xiàn)代分布式計算,今年 Go 官方希望能繼續(xù)改善開發(fā)人員使用 Go 構(gòu)建云服務(wù)的體驗。調(diào)查顯示將 Go 程序部署到全球三大云提供商(亞馬遜網(wǎng)絡(luò)服務(wù)、谷歌云平臺和微軟 Azure)的受訪者比例基本保持不變,而自有或公司擁有的服務(wù)器的本地部署繼續(xù)減少。

從調(diào)查結(jié)果可以看出,部署到 AWS 和部署到托管 Kubernetes 平臺的人數(shù)有所增加,部署到 VM 的用戶比例有所下降。

新變化
此次調(diào)查最顯著的變化是招募參與者的方式,以往幾年,我們主要通過 Go 博客公布這項調(diào)查,同時在 Twitter、Reddit 或 Hacker News 等各種社交渠道上發(fā)布。但此次調(diào)查除了傳統(tǒng)渠道外,我們還使用 VS Code Go 插件隨機選擇用戶,詢問他們是否愿意參與調(diào)查。

我們可以看到幾乎有三分之一的受訪者來源于隨機取樣(插件),這部分受訪者會對此次調(diào)查產(chǎn)生較大的影響。
更多新 Gophers
隨機選擇的樣本中包含更高比例的新 Gophers(使用 Go 不到一年的人)用戶。

更多的 VS Code 用戶
來源于 VS Code 插件的受訪者中,有 91% 的受訪者喜歡用 VS Code 開發(fā) Go 語言,因此今年調(diào)查中 VS Code 的偏好值較高,但當(dāng)我們?nèi)コ舨寮糠值臉颖竞螅c去年的調(diào)查結(jié)果大致相似。 VS Code 使用者更偏向于使用 Windows 進行開發(fā),因此 Windows 的偏好也略有增加。



結(jié)論
下面我們來總結(jié)一下 Go 開發(fā)者 2021 調(diào)查報告的部分關(guān)鍵要點:
- 此次調(diào)查的樣本雖然有所變化,但大部分同比指標(biāo)保持穩(wěn)定。
- 開發(fā)者對 Go 的滿意度仍然很高
- 四分之三的受訪者在工作中使用 Go,很多受訪者每天都在使用 Go
- Go 團隊將優(yōu)先改進調(diào)試和依賴管理的工作流程
如果你想閱讀完整的調(diào)查報告,請參考 https://go.dev/blog/survey2021-results

如若轉(zhuǎn)載,請注明出處:http://www.qjsdgw.cn/86288.html