中國軟件開發(fā)者白皮書是基于一年一度的CSDN軟件開發(fā)者大調查數據分析結果形成的。CSDN最早從2004年開始,對開發(fā)人員、開發(fā)技術以及開發(fā)工具、平臺的狀況和發(fā)展趨勢等進行深入調研,它是各相關行業(yè)了解中國軟件開發(fā)者群體以及軟件開發(fā)服務領域市場的重要參考資料。
2017年中國軟件開發(fā)者大調查針對軟件開發(fā)技術、應用開發(fā)領域等方面對調查問卷進行了重新設計,同時還新增加了區(qū)塊鏈、物聯網等新興軟件開發(fā)領域的相關調查,更能體現中國IT業(yè)、尤其是軟件開發(fā)領域的發(fā)展現狀。
30歲以下開發(fā)者占比超7成,近半數開發(fā)者奮斗在一線城市
通過對47個行業(yè)、200多個地區(qū)的上萬名軟件開發(fā)者進行調查,可以發(fā)現開發(fā)者群體年輕化比例在持續(xù)增高。
和國外開發(fā)者年齡分布趨勢大概一致,國內的軟件開發(fā)者群體一直呈現出年輕化的特點。從我們2015年到2017年的調研數據來看, 30歲以下的開發(fā)者人群占比都在7成以上,一直是軟件開發(fā)領域的主力軍。
其中,30歲以上的開發(fā)者以高級工程師、項目經理、架構師、技術專家等職位居多,而40歲以上的開發(fā)者則是從事架構設計崗位的比例最高——互聯網、軟件、IT服務三個技術領域已經涵蓋了國內65%以上的開發(fā)者。
在開發(fā)者薪資方面,開發(fā)者仍是當之無愧的高薪人群。月薪在1萬元以上的開發(fā)者占總體數量的59%,較去年又上升了14個百分點。在北、上、廣、深以及天津等一線城市中,月薪過萬的軟件開發(fā)者占比71%,該比例遠高于國內其它城市,但其他城市月入過萬的開發(fā)者也出現了較大幅度的增長。
此外通過數據交叉對比分析可以發(fā)現,8成架構設計師月薪過萬,超3成的架構師平均月薪超過2萬元——架構師一職成了高薪開發(fā)者追求的香餑餑。
6成開發(fā)者每周學習6小時以上,9成關注信息技術類網站
開發(fā)者對新技術的追求是十分敏銳的,信息技術類網站就是他們了解行業(yè)動態(tài)和學習知識的主要渠道。通過調研發(fā)現,超9成開發(fā)者計劃通過學習新技術來提升自己的事業(yè),且6成開發(fā)者每周學習6小時以上。
在本次調研中,90%的開發(fā)者會通過技術媒體、技術社區(qū)、技術論壇等網站了解行業(yè)最新動態(tài)、獲取新知識。閱讀技術類書籍也是開發(fā)者進行系統性學習的主要方式,比例占到54%。
在其他學習方式上,74%的人群愿意通過購買圖書雜志方式進行學習,超5成人員愿意為線上課程付費。目前,時長越短的線上培訓越受歡迎,500元以下且周期1個月以內的線上培訓接受率超過5成。
不過愿為線下培訓付費的僅占39%,周期長、耗時多是重要的因素。
而且據調查,35%的開發(fā)者未來半年都有培訓計劃。但是其中,超過8成的開發(fā)者參加培訓的預算是來自個人,來自單位的僅占17%。
在開發(fā)者感興趣的培訓方向上,63%的開發(fā)者偏愛人工智能,56%對大數據/云計算感興趣,想要參加區(qū)塊鏈培訓的人數僅占15%。
7成開發(fā)者使用Java,6成開發(fā)者最想學Python
編程語言之爭是開發(fā)者永不厭倦的話題。
在本次調查中,Java、R和JavaScript成為開發(fā)者最多使用的編程語言。Python則是開發(fā)者近期最想學的開發(fā)語言,其次是Java和R。
Java雖然是老牌語言,但它一直在持續(xù)更新優(yōu)化,且具備完善的生態(tài)和廣泛的使用場景,使其依然非常有生命力。而且隨著人工智能發(fā)展的火熱,也成為促進Python語言應用的催化劑。
此外,6成以上開發(fā)者在使用Windows操作系統,13%在使用Linux操作系統。63%的開發(fā)者在使用MySQL數據庫,34%的在使用Oracle數據庫。
傳統的X86機器相對Mac機器,最大的優(yōu)勢就是價格低,因此在公司開發(fā)普及層面會占據一定的優(yōu)勢。Linux在GUI、軟件生態(tài)等方面相對Windows有不少的短板,因此Window會成為開發(fā)者的首選操作系統。
開發(fā)者的云/容器使用率不高,使用最普遍的Docker(Swarm)普及率也僅11%。在文本編輯器方面,Notepad++較為流行,57%的開發(fā)者使用了Notepad++,其次是Sublime Text,29%的開發(fā)者在使用 。
Frameworks方面,jQuery、Spring Framework較受歡迎,3成以上開發(fā)者在使用這兩者。在開發(fā)微服務架構中使用Java作為開發(fā)語言,那么開發(fā)框架使用Spring Framework往往是首選。在前端的世界里,jQuery由于簡單、易用,在項目過程中往往能夠較好滿足需求,使得其一直很堅挺。
大數據技術應用開始普及,但應用場景相對單一
本次調研數據顯示,78%的企業(yè)在進行大數據相關的開發(fā)和應用。這個比例與2015年、2016 相比,有了非常大的提升。此外,隨著云計算技術的成熟及廣泛應用和出于對數據安全性的考慮,在大數據平臺構建方式上,2017年有4成企業(yè)選擇私有云解決方案來部署大數據應用。
大數據時代,大數據所蘊含的價值已經毋庸置疑,然而許多企業(yè)卻不知道如何獲取大數據的價值、如何讓大數據應用落地。目前大約57%的企業(yè)對大數據的應用更多仍體現在統計分析、報表及數據可視化上。
不過,Spark、Redis和Kafka已經基本成為了企業(yè)大數據平臺通用技術組件。其中,Spark是企業(yè)大數據平臺中使用最普遍的組件,Redis和Kafka則是最普遍使用的消息隊列和數據采集技術組件。
超7成企業(yè)利用云平臺已經開發(fā)應用或正在開發(fā)應用
云計算已經相當普及。調研數據顯示,有83%的企業(yè)正在使用云服務,相較2016年有非常大的提升。僅有不到1成左右的企業(yè)對云計算平臺基本不了解或者無意使用,75%的企業(yè)利用云平臺已經開發(fā)應用或正在開發(fā)應用。
在當前的國內公有云平臺市場中,阿里云服務以64%的使用率遙遙領先于其他云服務廠商,排在首位。其次是騰訊云服務,使用率為14%。
在具體應用上,企業(yè)在虛擬機、網絡存儲、負載均衡方面應用云計算較為普遍,使用率分別是48%、39%、33%。此外,基于Docker或OpenStack是當前云平臺部署的兩種主流框架。
不過,安全問題仍是企業(yè)選擇公有云服務時最大的顧慮,也是進行云技術相關開發(fā)時的最大難題。由于成熟的傳統安全方案并不能直接套用到云環(huán)境中,企業(yè)在部署私有云平臺時如何設計和實施安全方案,企業(yè)在使用公有云時如何確信服務商對數據做了足夠的安全保護......隨著云技術得到越來越廣泛的應用,這些都是云廠商和服務商未來必須直面的問題。
區(qū)塊鏈技術剛剛興起,僅1成開發(fā)者有應用或準備應用
區(qū)塊鏈作為近年來興起的技術,當前應用相對較少。
調查顯示,正在用或者準備用區(qū)塊鏈技術解決技術問題的人群僅占受訪者的10%,有20%的人對區(qū)塊鏈完全不了解。
現階段,區(qū)塊鏈從技術上講還是屬于后端架構類,因此迄今為止從事過與區(qū)塊鏈技術相關的開發(fā)工作的人員,也都是這個領域的從業(yè)者。其他方向,如:測試、UI/UE、數據分析等,則由于系統形態(tài)和行業(yè)滲透度的原因,最多只做到聽說/了解過這項技術的程度,在日常工作中都很難直接參與。
比特幣和以太坊是當前兩種主流的區(qū)塊鏈開發(fā)平臺。據調查,開發(fā)者正在使用的區(qū)塊鏈平臺中,比特幣和以太坊分別占23%、17%。Python和Java則是區(qū)塊鏈的主流開發(fā)語言,分別占19%、18%。在核心應用的開發(fā)中,Java使用更為普遍,占39%,Python其次,占28%。
從核心開發(fā)者的角度看,應用開發(fā)仍然是Java為主。因為即使開發(fā)區(qū)塊鏈相關應用,仍然會有很大一部分在傳統技術棧上。
對于目前的區(qū)塊鏈技術來說,缺少開發(fā)經驗、技術資料以及落地的應用和場景是當前區(qū)塊鏈開發(fā)的主要挑戰(zhàn),此次調研中分別占56%、54%、50%。
不過,區(qū)塊鏈與大數據、云計算、物聯網行業(yè)的結合普遍被看好,分別占63%、57%、53%。超7成開發(fā)者表示會考慮1年內會進入區(qū)塊鏈行業(yè)。
人工智能技術受到熱烈關注,應用前景廣闊但任重道遠
當前AI/機器學習/深度學習的普及率還偏低,但發(fā)展?jié)摿艽?。本次調研數據顯示,已經使用AI技術的開發(fā)者僅占15%。不過,40%表示正在嘗試用AI/機器學習/深度學習來處理數據,只有25%的開發(fā)者表示完全沒有人用過。
在技術應用方面,TensorFlow是人工智能領域主流深度學習框架,使用普及率達到48%。此外,傳統機器學習方法在開發(fā)者中的使用量接近2/3。而CNN類、RNN類深度學習模型也同樣火熱。
而隨著人工智能的火爆,對機器學習/深度學習算法、數據分析的崗位需求也越來越大。調查顯示,目前機器學習/深度學習算法工程師、數據科學家/數據分析師/數據挖掘工程師崗位從業(yè)人員更多,分別占18%、17%。
然而最急缺的崗位也是機器學習/深度學習算法工程師、數據科學家/數據分析師/數據挖掘工程師崗位。58%的開發(fā)者表示其團隊急缺機器學習/深度學習算法工程師,45%表示急缺數據科學家/數據分析師/數據挖掘工程師崗位。
這種勢頭下,各種人工智能相關培訓也是風生水起。但是調查顯示,開發(fā)者更愿意通過自學的方式學習AI/機器學習/深度學習技術,占比68%。還有接近四成的開發(fā)者是通過在工作中實踐、線上培訓課程等途徑來學習AI技術的。
分享到微信 ×
打開微信,點擊底部的“發(fā)現”,
使用“掃一掃”即可將網頁分享至朋友圈。