你為什么想當程序員?
當提及這個話題時,有人稱始于興趣,有人無奈調侃還不是因為窮,也有人說,不是我選擇了程序員,而是程序員選擇了我,天將降大任于斯人也。
縱觀過去一年,在人工智能、云計算、大數據、物聯網、區塊鏈等互聯網潮流技術的加持下,各行各業的數字化進程加快了腳步。與此同時,在中美科技創新激烈競爭的背景下,國內對芯片、操作系統、數據庫等基礎硬件及軟件的關注達到了前所未有的高度,“自研”成為國產破局的唯一之道。而開源也成為這個時代技術創新落地和行業發展過程中強有力的催化劑。
作為身處這個最好時代,也是最具挑戰時代下的技術型人才,機會擺在眼前何不試一試,不過究竟該怎么試?在面對層出不窮的技術工具、框架、場景時,又該從何處入手?
在此,CSDN 重磅發布最新的開發者調查報告——《2020-2021中國開發者調查報告》,本調查報告緊扣技術熱點、把握知識趨勢,同時特邀相關技術領域的專家們,共同參與調查項的設計及分享專業的行業點評,旨在全面和深入地了解中國開發者群體整體現狀、應用開發技術以及開發工具、平臺的狀況和發展趨勢。
直接掃碼或微信搜索「CSDN」公眾號
后臺回復關鍵詞「開發者」
快速獲取完整的報告內容
接下來,讓我們通過本報告,迅速 Get 干貨滿滿的技能升級指南吧!
40 歲以上技術人多數擔任技術經理,一線城更容易獲得高薪
互聯網呈“年輕化”,后端開發最受歡迎
都說走在前沿、跟隨潮流的互聯網永遠是一個年輕的賽道,據調查結果顯示,的確如此。從數據上來看,30 歲以下的開發者占比高達 81%,相較往年,互聯網呈年輕化的態勢仍在持續。同時,作為準開發者的學生群體也是未來科技行業中一股不容忽視的力量。在這一群體中,后端開發崗位最為熱門,占比 24%。
與之形成對比的是,40 歲以上的技術從業者相對較少,僅占 3%。不過對于自身職業發展方向,有 11% 的從業者選擇從初級程序員一步一步走上技術經理崗位,帶領技術團隊堅持奮戰在研發一線。其次,后端開發和全棧這些相較而言對技術能力要求更高一些的崗位也是他們選擇的發展方向。
北上廣依然是開發者的「身之所往」,更容易獲得高薪的機會
在技術領域上,國內 86.7% 的開發者選擇了軟件、互聯網、IT 制造領域,且大多集中在一線城市。報告顯示,廣東、北京、上海是開發者聚集地,占全國總數的 38%,而這些城市也囊括了產學研界較好的資源,對于技術型人才而言,機會比較多,也相對比較公平。
其次,江蘇、浙江、四川、山東處于第二梯隊,占全國總數的 24%。
在薪資方面,程序員一直是業界公認的高薪人群。報告顯示,月薪超過 1.7 萬的開發者占比 21.2%。近九成的開發者工資在 5000 元以上,其中,8001-17000 元區間的開發者占比最高,為 44.5%。
在北京,月薪高于 1.7 萬的開發者占比高達 30%,遠超其它地區。其次,廣東、上海地區月薪高于 1.7 萬的開發者分別占比 19% 和 16%。
通過結合受教育程度和薪資水平的數據特點來看,學歷越高,高收入群體的比例越高。其中,學歷背景為博士研究生的開發者,薪資達 1.7 萬元以上的占比 57%。所以科技技術是第一生產力,隨著知識的覆蓋面越廣,所能實現的價值也會越高,薪資自然水漲船高。
「三月不出單,出單頂半年」,身在金融業的從業者或多或少都聽過過來人的經驗,那么在金融行業做程序員又是一種怎樣的體驗?報告顯示,金融業高收入群體占比最高,86% 的人群月薪超過 8 千元,其中月薪超過 1.7 萬元的開發者占比 42%。
當代的程序員沒有想象中那么愛跳槽,打磨好技能晉升才是王道
在外界看來,優勝劣汰、競爭頗為激烈的 IT 行業,跳槽應該是一種很常見的現象。不過根據調查我們發現,36.5% 的開發者沒有跳槽的經歷。跳槽四次及以上的開發者僅占比 11%。
當提及開發者技能達到一定要求后,是否想晉升為一名管理者的問題上,有 54.09% 的開發者表示想成為一名管理者,僅有 9.4% 的開發者不想成為管理者。
Java 用戶量降至 50%,IntelliJ 成為最受開發者歡迎的工具
Java 用戶量呈下滑趨勢,JavaScript、Python 分別位居二三名
在編程語言方面,使用 Java 的開發者數量逐漸降低,和去年 60% 用戶量相比,今年 Java 開發者人數下降至 50%。其中原因與近幾年間 Google 推行 Kotlin-First 扶持策略不無關系,同時在此影響下,有很多 Android 開發者開始由 Java 向 Kotlin 轉換。
輕芒聯合創始人、前豌豆莢技術負責人范懷宇表示:“Kotlin 雖然在統計中總的比例不高,但在 Android 開發上進一步在取代 Java。Kotlin 作為另一個基于 JVM 的編程語言,一方面可以保持 Java 使用 JVM 穩定和高性能的好處,享用 JVM 已有的生態;另一方面,通過其更為靈活的語法特性,越來越廣泛地被 Android 開發者使用,已然成為 Android 的首選編程語言,對于新參與 Android 的開發者而言,Kotlin 是更好的學習對象。”
與此形成鮮明對比的是,Python 在人工智能的發展及其本身的便利性等優勢下,使用量正在逐漸提升,Python 開發者數量占比近三成,在常用語言中躍居第三。
不過,范懷宇也建議道,其它的一些明星編程語言,比如 Go、Rust 等,使用的開發者數量雖然沒有明顯上升,或依然未出現在榜單,且對于新開發者而言并非首選,但在特定領域,比如更高性能的服務端開發上,還是非常值得關注和學習。
Vue.js 、jQuery、Spring 三足鼎立
在主流的開發框架上,國內外的應用存在很大的差異。和國外應用更為廣泛的 React 框架不同,國內開發者最常使用 Vue.js 進行 Web 開發,且 Vue.js + jQuery 的技術組合也成為前端工程師最為基礎和必須掌握的技能。
IntelliJ 超越 VS Code,成為最受歡迎的開發環境
本次調研中,有 31.4% 的開發者使用 Intellij 作為開發環境,輕量級跨平臺工具 VS Code 排名第二。
針對這一結果,范懷宇表示,Intellij 和 VS Code 的特色非常相近。它們都可以支持多門編程語言的開發。如今,很多開發者都需要同時使用多門開發語言,使用 IntelliJ 這樣的通用工具,會更適合在不同編程語言間切換,其工具特色和使用習慣可以最大化地保持一致。同時它們也具有很多的第三方插件,使得開發者很容易搭配出足夠個性化的開發環境,更適合自己的使用。
開源吞噬世界
開源進入快速發展期,但全職開發者較少,77% 的受訪者表示未曾從開源項目上獲得過收入
2020 年,可謂是開源元年,也是國內開源快速發展的一年。在這一年中,中國首個開源基金會開放原子開源基金會正式到來,Mulan PSL 成為中國首個國際通用開源協議,不久前,開源首次被列入“十四五”規劃。
在此趨勢下,越來越多的人開始接觸開源,近一年開始接觸開源的人占比超過三成。
不過稍顯遺憾的是,據調查報告顯示,僅有三成左右的開發者參與過開源項目。
究其原因,對于個人開發者而言,開源收入與工作時間帶來的現實沖突難以實現平衡。本次報告中,82% 的開發者在開源上每周投入時間不超過 5 小時,每周在開源項目上投入時長超過 30 小時的僅占比 2%。同時,77% 的開發者表示,不曾在開源上獲得收入。
Linux 和 Git 是開發者最喜歡的開源項目
中國企業對開源的貢獻中,開發者最認可阿里巴巴對開源所做的貢獻
還記得去年伊始,阿里巴巴開源技術委員會負責人賈揚清發布了一封給千萬開源人的感謝信,其回顧了阿里開源的初衷,并分享了阿里開源 10 年的心路歷程。用了十年的時間,阿里交出了覆蓋大數據、云原生、AI、數據庫、中間件、硬件等多個領域且超過一千個開源項目的答卷,成為開發者心目中的開源企業 NO.1。
對于開源未來的發展,華東師范大學數據學院研究員、開源社理事王偉認為,開源正在蓬勃發展,給開發者帶來了千載難逢的機會,如何參與到開源這股浪潮中,并從中獲取自身的價值,是每一位開發者都應該思考的問題。相信隨著開源與商業更加緊密的結合,開發者開始獲取開源紅利的時代即將來臨,前提是理解開源的邏輯,具備開源的思維,并實施好各自的開源戰略。
國產操作系統正在崛起,生態仍有很大的創新空間
對國產操作系統的定義,開發者之間有較大的的分歧
作為基礎軟件之一,國產操作系統自發展以來一直飽受爭議。其中,據本次調查發現,僅是對于國產操作系統的定義,眾人就已看法不一,有人認為,只需要掌握核心代碼,安全可控的操作系統就是國產操作系統,但也有一部分人認為國產操作系統應該從零開始開發,需要從內核開始做起。
對于產生此分歧的根本原因,清華大學計算機系長聘副教授陳渝表示,“之前,大家對操作系統在整個 IT 領域中的重要性還是認識不夠的。直到這兩年發現操作系統和芯片的斷供,可以阻礙世界頂級的 IT 巨頭的迅速發展,甚至有可能影響到國家的經濟發展和安全時,才逐漸看到了操作系統的重要位置。從 80 年代以來,以操作系統為代表的基礎軟件由于不夠掙錢,缺少直接和快速變現的特征,且對盜版等普遍缺乏法制和道德約束,導致我們的基礎軟件缺失了近二十年的商業化機會,相關人才培養嚴重不足。直到互聯網、移動互聯網和 IoT 等的興起,國家之間 IT 科技競爭的加劇,這方面的情況才得到了很大的改善。”
HarmonyOS 更為開發者所熟知
時下,隨著阿里、華為、統信、麒麟等中國本土企業的發力,國內的操作系統呈現出百花齊放快速發展的局面,而近兩年間,發展勢頭最盛的非 HarmonyOS(鴻蒙)莫屬,79% 的開發者知道它,其次是 Deepin、中標麒麟操作系統。
在國產操作系統正在迅速崛起的今天,48% 的開發者認為,缺乏廣泛的應用生態是制約國產操作系統發展的主要原因。同時,缺乏大量的技術型人才是第二大因素。
對于操作系統的發展,陳渝認為,「我們不僅僅要做原位替代,還要把眼光放得遠一些,注重軟件基礎研究,注重軟件理論研究,從學生階段培養系統類人才,尋找比現有數量級增量的新的產業機會,解決未來的需求,形成以某些新操作系統為基礎的應用生態。」
物聯網應用場景多樣化,Linux 成為開發者最常用的物聯網操作系統
物聯網應用場景多樣化,企業更多的是在大數據分析環節
根據報告顯示,在物聯網產業鏈上,每個環節均衡發展,其中 15.9% 的企業聚焦大數據分析解決方案的落地,其次,智能設備和物聯網云平臺也是許多企業創業的方向,分別占 15.3% 和 14.5%。
Linux 是物聯網設備中應用最為廣泛的操作系統
在物聯網中,66.4% 的操作系統使用 Linux。Android 的使用量也進一步提高,躍居第二,占比 41.5%。
作為大廠競相布局的賽道,據開發者調查報告顯示,48.6% 的受訪者表示正在使用阿里云 IoT 平臺。其次,華為云、百度 IoT 分別占比 43.7% 和 38%。
對于物聯網發展現狀,北京郵電大學信息與通信工程學院電子信息工程系主任孫松林表示,“在技術方面,操作系統、通信方式和終端安全是討論的重點。與去年相比,Android 占比超過了 Windows,但都被 Linux 遠遠地超越了。物聯網應用的多樣化和對高效率的追求導致定制需求開發開始下沉到操作系統,而 Linux 強大的伸縮性恰好可以滿足這種需求;其他嵌入式操作系統,如 FreeRTOS、RT-Thread 等雖然有了一定增長,但占比較小;另外,2020 年 HarmonyOS 2.0 發布,值得開發者們關注。另外,在終端安全方面,從物理安全、接入安全、通信安全到數據安全都是開發者們非常關注的,隨著眾多安全事件的不斷發生和美日英等國政策的出臺,安全技術必將成為物聯網產業未來發展的重點。“
機器學習/深度學習算法工程師較為欠缺,人工智能廣泛應用于圖像識別領域
人工智能逐漸普及,僅有 13% 的企業尚無信息化基礎
近年來,人工智能作為新一輪變革的核心驅動力,很多企業緊隨時代的潮流。調研數據顯示,截至目前,有 13% 的企業尚無信息化基礎。33% 的企業在事務處理層面實現了數字化。
軟件工程師最熱門,機器學習/深度學習算法工程師最稀缺
本次報告中,我們發現,AI 領域開發者中軟件工程師占比最高,為 38.3%,可見軟件工程師在 AI 領域也占重要地位。其次,機器學習/深度學習算法工程師、計算機視覺/圖像識別/圖像處理工程師都是較為熱門的崗位,分別占 19.9% 和 15.5%。
不過,此次調研中,在機器學習/深度學習/神經網絡成為開發者最感興趣的方向同時,有 55% 的開發者表示團隊急需機器學習/深度學習算法工程師。
對此,新加坡工程院院士顏水成表示,從技術棧角度來看,超過一半的團隊表示急需機器學習和深度學習算法工程師,同時也有超過一半的開發者表示這是他們最感興趣的方向。這說明機器學習,尤其是深度學習,在最近六七年間取得了一系列技術突破之后,在圖像識別、推薦系統、搜索廣告等領域都取得了不錯的落地效果,也獲得了行業的廣泛認可。
TensorFlow 是人工智能領域主流深度學習框架
TensorFlow 是人工智能領域主流深度學習框架,不過相較去年的 48% ,下降幅度較大。
在應用方向上,調研數據顯示,39% 的開發者表示其研發的 AI 產品主要場景為圖像識別;28% 的開發者表示其研發的 AI 產品主要場景為人臉識別。
對于 AI 未來的發展,北京愛數智慧科技有限公司創始人兼 CEO 張晴晴認為,對話式(Conversation)是人工智能的終極形態,突破對話式形態代表著強人工智能時代的到來。
同時,張晴晴表示:“推動對話式人工智能的落地,需要百倍千倍以上規模的訓練數據量(至少上萬小時的訓練數據量成為基礎有效數據量),特別是針對場景下的自然語言數據。自然語言數據作為人工智能的重要根基,相關的數據處理員以及數據訓練師,成為市場非常急缺的人才。我也希望借此機會,呼吁更多的從業者加入對話式AI(Conversational AI)行業,與我們一起締造智能世界。”
芯片研發之路任重而道遠!
「芯片全面緊缺」,自 2020 年下半年以來,這成為整個芯片行業的現狀。而據調研數據顯示,近 5 成的開發者所在公司的芯片開發者人數不足 10 人。對此,中國科學院計算技術研究所研究員包云崗表示,這反映了當前中國芯片企業的一個普遍現象——雖然中國已經有 1700 多家芯片設計公司,但是能做出高附加值芯片的企業太少。
設計迭代、可制造性設計、專利規避是芯片研發的三大主要難題
究其主要原因,23% 的開發者認為,設計迭代是芯片開發過程中最難的問題,其次是芯片的可制造性設計以及專利規避。
集成電路 IC 設計/應用工程師最稀缺,但未來可期
對于芯片公司而言,36% 的開發者認為,集成電路 IC 設計/應用工程師是最稀缺資源。其次,芯片架構工程師、FPGA 開發工程師也較為欠缺,分別占 31% 和 24%。
對于芯片當前的現狀及未來的發展,包云崗表示,從最為欠缺的職位來看,基于招聘網站信息,這類的工程師 3-4 年工作經驗的月薪約為 2-4 萬,5-7 年工作經驗則為 3-6萬 ,這個薪資水平還是相當不錯。薪資水平的提高,對吸引人才選擇集成電路行業至關重要。同時,也可以預見,在未來 5-10 年集成電路(芯片)行業在我國將會是一個熱門行業,人才需求很大。一方面是因為當前國際形勢使得中國下定決心大力發展集成電路產業,另一方面也是未來智能物聯網時代將會使芯片需求擴大一個數量級,甚至每年達到上千億顆的需求。
近八成企業計劃或正在使用云數據庫,開發者對該行業就業前景充滿期待
數據庫上云已成必然趨勢
作為另一大基礎軟件——數據庫,在云趨勢下,只有 23% 的公司還沒有計劃部署云數據庫,有 52% 的公司已經部署了云數據庫。
此次調研中,關系型數據庫以絕對性的優勢,成為開發者最常用的數據庫類型,占比 78%。而這也主要得益于 SQL 的簡單易用,以及關系數據庫近 50 年的發展。
而在使用數據庫的過程中,超過一半的開發者表示會遇上性能問題。
此外,據調查顯示,超過一半的數據庫開發人員對就業形式感到非常樂觀。
阿里云高級技術專家,云原生數據湖分析 DLA 技術負責人曹龍表示,數據庫相關就業群體包括數據庫內核研發、數據庫運維 DBA、數據庫業務開發、數據分析師,其中:
數據庫內核研發就業面較窄,這個領域比較專精,主要集中在大廠、數據庫廠商及云公司;
數據庫運維 DBA 估計不少同學認為形勢嚴峻,主要是來自云數據庫的沖擊,數據庫的一個發展趨勢是自運維,筆者負責的數據湖分析 DLA 元信息使用的數據庫就是 RDS,沒有 DBA 都是開發運維的,這里建議 DBA 可以多了解業務,幫助業務規劃數據庫的庫表設計,從業務視角獲得成長;
數據庫業務開發一般都同時具備較強的工程能力,以及所在領域的專業能力,是程序員群體最大的就業群體,知曉數據庫的優化及如何選型數據庫是必備的技能之一;
數據分析師主要是需要行業的經驗,結合大數據的分析理論知識,就業面非常廣,也是目前行業比較稀缺、熱門的崗位。
云原生時代已至,但技術人才成為阻礙其發展的關鍵性因素
云原生吞噬世界
在互聯迭代的商業場景中,從最初的軟件吞噬世界,到開源吞噬世界,到云吞噬世界,現在的我們儼然也已經進入下一階段——云原生吞噬世界。本次調研數據顯示,89% 的企業已經上云,只有 3% 的企業未部署云資源。
在云原生上,61% 的公司主要應用于為微服務,其次 41% 的企業選擇容器編排管理。
云原生技術人才成為阻礙云原生發展的首要因素
而想要更好地發展云原生技術,47% 的開發者認為,當前行業缺乏熟練的云原生技術人才。也有 25% 的開發者表示,對于如何做云原生技術選型很難抉擇。
“充分利用云原生技術可以把云的效率和成本優勢充分發揮出來,但是當前全部云原生化的企業和開發者并不多,這其中主要的障礙在于缺乏熟練的云原生技術人才”,騰訊云架構平臺部研發總監郭振宇分享道,因此他認為,“一個合格的云原生技術人才,需要對企業的業務有全局的認識,同時需要對云技術和云原生相關產品具有很深的理解,這樣才能結合業務需求,開發出真正能從云計算中受益的應用和產品。”
大數據技術應用場景呈多元化發展
Kafka/Jafka 為開發者最為常用的數據處理方式
數字化經濟時代,越來越多的企業開始擁抱數字化轉型,開始構建自己的大數據體系及核心競爭力。據調查顯示,80% 的企業在進行大數據相關的開發和應用。在具體應用上,大部分企業對大數據的應用更多的體現在統計分析、報表生成以及可視化上, 占比 59%。
此次調研中,43% 的企業正在使用 Kafka/Jafka 來進行數據收集和消息處理,Redis 也被業界大量地采用,占比 39%。
「總的來說,大數據目前進入了一個成熟穩定期,各個企業的投入也越來越大,大數據將是人工智能的一個非常好的催化劑。」大數據資深專家、明略科技集團副總裁盧億雷如是說。
乘風而上的區塊鏈,與大數據、物聯網強強聯合
2020 年伊始,國家發改委首次明確了“新基建”的范圍,新型基礎設施主要包括三個方面,一是信息基礎設施,二是融合基礎設施,三是創新基礎設施,在信息基礎設施方面,以人工智能、云計算、區塊鏈等為代表的新技術基礎設施,以數據中心、智能計算中心為代表的算力基礎設施。
也正是在此趨勢下,區塊鏈技術進一步被用戶所熟知。據調查報告顯示,知曉區塊鏈技術的用戶群體高達 94%,其中和去年正在從事區塊鏈相關工作的人數相比,今年人數有所上升,從去年的 6% 上升至今年的 10%,此外,14% 的開發者準備嘗試用區塊鏈技術解決一些問題。
對于在這領域的開發者而言,48% 的受訪開發者從事公有鏈的開發,27% 的開發者聚焦區塊鏈行業解決方案的研究。
不少開發者認為,金融/金融衍生品依然是區塊鏈主要應用領域,占比是 60%。其次區塊鏈也被用于數據共享,占比 23%。
針對這一點,Solv Markets 協議創始人、優證鏈通創始人孟巖表示,在海外,幾乎所有區塊鏈應用全部集中在開放金融領域。2020 年是數字資產和去中心化金融(De-Fi)狂飆突進的牛市之年,全球數字資產總市值從 2020 年 3 月到 2021 年 3 月增長了近 12 倍,而同期 De-Fi 市場的增長則超過 100 倍,投融資活動的活躍度達到 2017 年以來的最高峰,吸引了大量人才加入到 De-Fi 創新的浪潮中。
在未來趨勢上,孟巖認為,區塊鏈不是一個平凡的技術,它導向未來機器智能時代的全球交易網絡。無論是推動國家戰略的落實,還是尋找個人成長的空間,開發者都要扮演核心的角色。