Stack Overflow 調查 10 萬程式設計師後發現,Java 竟未上榜!



每年我們可以通過 TIOBE、IEEE Spectrum 等平臺所發佈的編程語言排行榜來了解各種編程語言的最新發展趨勢,但是對於開發者而言,使用最廣泛的語言是否意味著最吃香?擁有哪種技能才更具發展空間?接下來,本文將根據技術型網站 Stack Overflow 上 100000 人參與的開發者調查報告以及其最新發布的薪酬計算器來為大家揭開最有“錢”途程序員的神秘面紗。



近日,全球知名技術型問答網站 Stack Overflow 根據開發者問卷調查發佈了最新的高薪職位分析報告,並更新了 2018 版的薪酬計算器(https://stackoverflow.com/jobs/salary),這個工具可以讓開發者和僱主根據經驗水平、地理位置、教育程度和特定的技能找出軟件行業的普遍薪酬水平。

其中採用的多重線性迴歸方法與去年相似,但今年該工具支持了 8 個新的國家,並重新提煉了每種技術對薪酬預測的貢獻程度。現在的薪酬計算器基於 Stack Overflow 開發者調查問卷的綜合數據,從中我們發現,對開發者薪酬影響的主要因素如下:

地理位置;教育水平;專業編程經驗年限;開發者種類;使用的編程技術。




地理位置


據調查發現,所有國家的開發者都掙得更多了,像倫敦和舊金山這些地方,薪酬的中位數平均比去年要高出 25%。整體而言,美國程序員的薪酬要遠遠超過其他國家的開發者。



但值得注意的是,目前該薪酬計算器工具暫還未支持中國,不過調查報告中包含了中國開發者,據此,我們也可以通過當前最火的技術趨勢,瞭解當前全球的開發者崗位發展前景。



教育水平


在受訪者中,有近一半的人至少擁有學士學位,還有 22.6% 的人擁有碩士學位,而高中及以下學歷的人佔比 11.9%。

就現在國內的大環境來看,許多如 BAT 之類的巨頭科技公司在招聘過程中,對人才的最低需求也是本科生為起點,而對於本科以下學歷的人想要成為一名開發者,除非本身自學技術比科班人更勝一籌或通過培訓機構加以輔導技術夠硬,否則身處科技行業,更多的是隨波逐流,淹沒在殘酷的競爭中。






專業編程經驗年限


大多數的程序員接受編程教育的時間分佈在 3-5 年以及 6-8 年區間內。


且在正式從業中,有超過一半的人擁有 5 年以內的專業編碼經驗。不得不說,科技行業主要還是以年輕的血液為主。






哪種開發崗比較搶手?


根據 Stack Overflow 發佈的薪酬報告顯示,近十萬的受訪者中,後端開發者數量佔據第一,達 57.9%,其次分別為全棧開發、前端、移動開發、桌面及企業應用開發。



其中項目經理崗位工作經驗要求最高,平均有 10 年以上,其次是 DevOps 技術專家、桌面及企業應用開發。



從編程語言、腳本的角度來看,前端佔了半邊天,JavaScript 應用最為廣泛、其次為 HTML、CSS。作為常青藤的 Java 也只能排第五。



Mozilla 開發的 Rust 逆襲成為最受歡迎的語言,而使用最廣泛的前十名中只有三種語言在最受歡迎的列表中:分別是 Python,JavaScript 和 C#。






哪種類型的編程語言和開發者掙得最多?

另一個影響開發者收入的因素就是他們使用的編程語言。在全球範圍內,我們可以看出使用 F#、Ocalm、Clojure 和 Groovy 語言的開發者擁有最高的薪酬,薪酬中位數是 7 萬美元年薪,其中,令我們驚訝的是,Java 竟然沒上榜。



而從工作種類來看:



一直以來,數據科學家通常會被認為是技術圈薪水最高的職位,但根據 Stack Overflow 發佈的薪酬報告顯示,還有比他們更高的職位。

從上圖中我們可以看出,各個地區的薪酬水平不同,美國的開發者明顯要比其他國家高,不過從全世界範圍來看,下面五個職位是薪水最高的。

DevOps 專家

在全世界範圍內,DevOps 專家都比任何其他技術職位掙得多。這個職位的工作內容是研究代碼的測試、構建和部署的方方面面。

DevOps 專家必須瞭解軟件開發者和 IT 運維兩方面需要的技術,並熟悉將軟件和基礎設施變更和發佈進行自動化所需的工具。

Happiest Minds Technologies 的總監和 DevOps 領導 Karthiga Sadasivan 告訴我們,DevOps 所需的技能如下:

源代碼控制(如Git、BitBucket、VSTS等)持續集成(如Jenkins、Bamboo、VSTS等)基礎設施自動化(如Puppet、Chef、Ansible)自動化部署和編排(如Jenkins、VSTS、Octopus Deploy)容器化概念(如LDX、Docker)自動編排(Kubernetes、Mesos、Swarm)雲服務(如AWS、Azure、Google Cloud Platform、OpenStack)

許多工具都會使用 Python 編程,雖然 Go 和 Ruby 也經常被 DevOps 專家使用。

數據科學家

數據科學家幫助組織識別有用的數據模式。從根據生活風格預測癌症風險(https://www.cancerresearchuk.org/funding-for-researchers/how-we-deliver-research/grand-challenge-award/artificial-intelligence#details60)到建立數學模型讓機器人尋找飛機引擎的損壞(https://www.technologyreview.com/s/607962/general-electric-builds-an-ai-workforce/)等都會用到數據科學家。

隨著越來越多公司開始使用機器學習,對數據科學家的需求也水漲船高,目前已經造成供不應求的狀況,而且還在不斷增加。

需要的技術有很多種,但應聘者通常需要很好的數學背景,包括統計學和多元微積分的知識,以及編程技能如 R、Python,數據庫查詢語言 SQL,以及清洗數據的能力。如果想了解更多,可以看看 TechRepublic 這個列表(https://www.techrepublic.com/article/here-are-the-10-skills-you-need-to-become-a-data-scientist-the-no-1-job-in-america/),其中列出了進入數據科學領域所需的最重要的技能。

TechRepublic的另一篇關於面試時需要準備的常見問題(https://www.techrepublic.com/article/10-questions-machine-learning-engineers-can-expect-in-a-job-interview/)中也提到了數據科學家。

後端開發

後端開發編寫服務器上運行的軟件,這些軟件是現代網站和 Web 服務的基礎。

由於後端平臺的種類繁多,這個角色需要的技能也多種多樣,從老牌的 PHP、Java 到 Python、node.js JavaScript 等。除了編程技能之外,後端開發也必須理解如何創建 API,以及一些前段語言如 HTML、CSS、用戶界面設計等等。

全棧開發

全棧開發也是 Web 開發,他不僅要懂得核心的 Web 技術如 HTML、CSS 和 JavaScript,還需要理解軟件框架、數據庫和後端技術等一切構建現代網站和服務需要的技術。

需要的技術通常包括 Angular、React 框架、Node.js、JavaScript 以及版本控制軟件 Git。

嵌入式開發者

嵌入式開發者通常需要編寫在低功耗微處理器和微控制器板上運行的高效軟件,通常在電子設備、自助服務終端和工業控制單元中使用。

嵌入式開發者需要在技術棧的任何一層上編程,可能是底層直接與板載硬件打交道的固件,也可能是在開發板上運行的高層軟件。

所用的語言通常是 C 或 C++,因為它們運行效率非常高,並能精確地控制內存使用。工程師們通常還要懂得彙編語言。

更多報告內容可參考:https://insights.stackoverflow.com/survey/2018薪酬計算器:https://stackoverflow.com/jobs/salary原文:https://stackoverflow.blog/2018/09/05/developer-salaries-in-2018-updating-the-stack-overflow-salary-calculator/https://www.techrepublic.com/article/five-of-the-highest-paid-programming-jobs/譯者:彎月,責編:屠敏

“徵稿啦”

CSDN 公眾號秉持著「與千萬技術人共成長」理念,不僅以「極客頭條」、「暢言」欄目在第一時間以技術人的獨特視角描述技術人關心的行業焦點事件,更有「技術頭條」專欄,深度解讀行業內的熱門技術與場景應用,讓所有的開發者緊跟技術潮流,保持警醒的技術嗅覺,對行業趨勢、技術有更為全面的認知。

如果你有優質的文章,或是行業熱點事件、技術趨勢的真知灼見,或是深度的應用實踐、場景方案等的新見解,歡迎聯繫 CSDN 投稿,聯繫方式:微信(guorui_1118,請備註投稿+姓名+公司職位),郵箱(guorui@csdn.net)。