宁愿“大小周”、每天只写 200 行代码、月薪 8k-17k 人群再涨!揭晓中国开发者真实现状
声明:本文来自于微信公众号CSDN(ID:CSDNnews),作者:CSDN,授权海外服务器转载发布。
程序员,一个圈外人羡慕、圈内人喊苦的“神奇”职业——高薪、福利好是旁人羡慕的理由,高压、加班多却也是他们最常见的写照。
回想过去一年,程序员圈中可谓热闹非凡:雷军一句“为小米汽车而战”,使得智能自动驾驶成为行内热词;云原生和全面数字化趋势下,熟练使用 K8s 几乎成为了必备技能;元宇宙、Web3突然爆火,一度令程序员摸不着头脑;好不容易挨到年底了,一个猝不及防的 Log4j2漏洞又召唤无数开发者深夜修 Bug……
与此同时,对于业内技术持续迭代、新兴趋势不断出现的形势,许多程序员也逐渐感到迷茫:“众多同行之中,我究竟处在什么位置?”、“面对日新月异的技术工具、平台、框架和场景,我又该如何抉择?”
在此,CSDN 重磅发布《2021-2022中国开发者现状调查报告》。本报告囊括了各类开发者圈中的热点话题,不论是加班与涨薪情况、“大小周”的抉择,亦或是偏爱或讨厌的编程语言、常见学习路径等程序员最为关心的问题,都将在这份报告中一一揭晓谜底,更有字节跳动移动技术专家、大前端技术中台部门 ToB 项目技术负责人石延龙对报告结果进行分析。
首先,让我们一览本次报告的几个重要发现:
-
被圈内称作“35岁危机”的30-40岁从业者从去年报告中16% 的占比提升至19%——35岁可能已并不再是程序员“魔咒”。
-
只有不到10% 的开发者会每天花费70% 以上的时间写代码,并且大多开发者平均每天只写200行代码左右。
-
近70% 的国内开发者还是喜欢聚集在一线/新一线城市,并且77% 的开发者表示,为了高薪,支持/可考虑“大小周”。
-
今年 Java 开发者人数从去年的50% 降至40%,汇编语言被37% 的开发者票选为最讨厌编程语言第一名,而 Python 成为最想要学习的编程语言。
-
96% 的开发者每周都会保证一定的学习时间,其中学习1-5小时/周的占据42%。另外仅有4% 的受访者表示没有时间去充电学习。
-
为了寻求更高的职级和更好的待遇,程序员普遍会采用三种方式:一是学习热点技术(75%),二是岗位晋升(67%),三是跳槽(47%)
接下来,就让我们通过这份报告,纵观国内开发者的真实现状吧!
程序员画像篇:编程从少年开始,35岁不再是“魔咒”
随着近年来国内人工智能、云计算、数据库等 IT 产业迅猛发展,人才需求不断上涨,编程早已不限于大学课程,部分地区甚至已将其融入高中教育——编程从少年开始,以此实现“少年智则国智,少年强则国强”。从数据上来看,这一目标已不遥远:有57.23% 的受访者表示第一次写下代码的时间是在16-20岁,即在高中或大学接触编程已十分普遍,在30岁之后接触编程的开发者仅占0.8%。
图1写第一行代码的年龄
技术演进下,近年来“自研”一词成为国产破局的关键,为此无数壮志满怀的少年在踏入社会时,纷纷选择了入局 IT:近5年选择从事编程的开发者超过7成。
图2从事编程时长
不过,今年开发者圈中的形势有些不同:
-
30岁以下从业者比例从82%(2019年)、81%(2020年),再度下降至78%;反观被圈内称作“35岁危机”的30-40岁从业者却从去年报告中16% 的占比提升至19%——35岁可能已并不再是程序员“魔咒”。
-
40岁以下的女性开发者比例也在上升。结合去年报告,30岁以下女性从业者占比达到了 12%(去年为10%),同时在30-40岁程序员中,女性也占据了8%(去年为6%)。
不变的是,后端开发岗在40岁以下程序员圈中依旧热门。40岁以上从业者中,担任技术经理的占比从去年的11% 提升至21%,可见随着年龄的增长,越来越多开发者开始走上了技术管理之路。
图3开发者基本特征
在圈外人眼中,程序员的日常应该被“编程”占据,但事实并非如此。工作期间,只有不到10% 的开发者会每天花费70% 以上的时间写代码,并且大多开发者平均每天只写200行代码左右。
图4开发者每天写代码行数
影响程序员工作效率的原因中,“缺乏清晰的流程”以37.9% 比例位列第一,与其不相上下的是37.8% 开发者认为会严重影响工作效率的“分散注意力的工作环境”。
对此,字节跳动移动技术专家石延龙认为,对知识密集型的研发工作而言,定义清晰的协作流程理应是团队合作顺利、高效产出的最重要因素。他建议,经验丰富的开发者可在项目管理上增加投入,以此提高整个团队协作效率;对于流程不畅的团队管理者,可考虑建设或引入优秀的 DevOps,将流程规范工具化,可以极大优化项目协作;而部分不想走管理的技术同学,也可以考虑做 DevOps 研发以提高团队效率。
图5影响工作效率排行
除了流程不清严重影响工作效率,“通勤时间”也令22.6% 的开发者感到头疼,而疫情之下衍生出的远程办公给了这部分开发者另一个选择。目前 Google、Facebook(现 Meta)等国外互联网企业均支持远程办公,国内46% 的受访者表示自己所在公司也同样支持。但总体来说,国内开发者远程办公的频率不是很高,很多情况下只是一种应急方案,只有4% 的开发者表示他们完全远程。
图6开发者对远程办公的态度
程序员薪酬篇:高薪之下首选一线/新一线城市,可以考虑“大小周”
“高薪”,一直都是程序员群体的标签之一,近几年其薪资水平更是在逐渐拔高。去年,44.5% 的开发者月薪8001-17000元,如今这一数据已增至49.2%,同时薪资在17001-30000元的程序员比例也由16.2% 增至20.5%。
图72020年开发者月薪分布情况
图82021年开发者月薪分布情况
报告数据显示,过去一年中,超过六成开发者表示工资有所上涨,甚至涨幅在11% 以上还占据了21%。但尽管行业整体薪资水平在逐步提升,依旧有34% 的开发者表示工资没有发生任何变化。
图9开发者月薪增长情况
在遍地男性的开发者圈中,女性开发者薪资是否会与男性一致?答:有一定差异,但差距不大。在月薪超过1.7万元的区间中,男性开发者占比为29%,而女性开发者中也有20% 的人拿着同样薪资待遇。甚至在8千至1.7万元薪资范围内,女性开发者的占比还略高于男性开发者。
图10不同性别的开发者月薪占比
导致薪资水平不同的除了性别,还有开发者所处地域、每周工作时长、受教育程度、所在行业和工龄等重要因素。
-
所处地域
地域对于薪资水平而言是一个重要影响因素。根据数据显示,月薪高于1.7万元的开发者中,近三成来自北京——依旧遥遥领先于其他地区(去年该数据为30%)。其次便是广东和上海,同等薪资水平下差距不大,分别占比18% 和17%。
图11各地区月薪高于1.7万开发者占比Top10
如果聚焦到具体高薪人数占比,北京和上海也占据绝对优势:近半数开发者薪资均在1.7万以上,反观其它地区该薪资水平仅占两成左右。
图12月薪高于1.7万在各地区中人数占比
或许是北上广深及其他新一线城市的整体薪资水平远高于其他地区,也或许是其中汇聚了产学研界较好的资源与机会等,近70% 的国内开发者还是喜欢聚集在一线/新一线城市。
图13开发者工作城市倾向
尤其是北京和广东,光这两个省市的开发者占比就能达到全国总数的28.1%。另外值得一提的是,2020年广东以拥有全国16% 的开发者位列全国第一,而如今这一宝座已由北京以14.2% 的占比拿下。
图14开发者地域分布(省、自治区、直辖市、特别行政区)Top15
-
每周工作时长
去年,互联网行业率先掀起一股“反内卷”热潮,字节跳动、快手等大厂先后宣布取消“大小周”,腾讯光子工作室更是推出“强制不加班双休”的规定,许多程序员对此欢呼道:内卷时代终结了。可发薪日的到账通知却令部分程序员感到“破防”。
报告数据显示,按照每周40小时标准工时工作的程序员中,仅有20% 的人薪资高于1.7万元;而工作时长在72-84小时的程序员中,收入超过1.7万元的近一半。
图15每周不同工作时长开发者薪资分布
正所谓“鱼和熊掌不可兼得”,虽然标准工时下很难拿到高薪,但依旧有三成程序员选择每周只工作40小时,他们也很少对工时有所不满。相比之下,工作时间越长,开发者的不满意度越高,例如每周工作72-84小时的程序员中,就有55% 的人对工时不满。
图16开发者工作时长
图17开发者对工作时长满意度
人各有志,对于以上两种生活方式,程序员也有着各自的见解:有23% 的开发者表示,为了高报酬宁愿“大小周”;但也有41% 的开发者表示更注重身心舒畅,不想要“大小周”;另外还有36% 的受访者表示可以考虑。
图18开发者对大小周的态度
-
受教育程度
从数据上来看,学历越高,高收入群体的占比也就相对较高。例如学历为硕士研究生的开发者中,薪资达到1.7万元以上的就有55%。
图19不同教育背景开发者的薪资分布情况
除了以上几点因素,开发者工龄和所在行业对薪资也有所影响:开发者薪资普遍会随着工龄而增长,如工作11-15年的开发者中,薪资在1.7万元以上的占比超过60%;金融行业的高收入群体占比最高,其中91% 的开发者月薪超过8千元。
程序员工具篇:Python 最受欢迎,云 IDE 崛起
在与程序员息息相关的编程语言方面,根据数据显示,使用 Java 的开发者数量正在逐年降低:与去年50% 的用户量相比,今年 Java 开发者人数降至40%——这一点也印证了 TIOBE 编程语言排行榜中 Java 流行度逐渐下降这一现象。
反观 Python。随着近年来数据挖掘和 AI 等领域蓬勃发展,Python 凭借其在数据分析、机器学习、Web 开发、测试等多个领域的出色发挥,市场占比大幅提高:去年 Python 还与 Java 相差21%,今年已将这一差距缩小至9.9%。甚至还有27.3% 的开发者表示,如果有机会,希望能在未来把编程语言迁移到 Python。
图20编程语言使用排行(调查项为多选)
在程序员最讨厌的编程语言中,占比37% 的汇编语言排名第一,毕竟面向机器的程序设计语言不仅难以理解,对习惯了高级语言的开发者来说也难以编程。
图21开发者最讨厌的语言排行(调查项为多选)
Web 框架方面,Vue.js 依旧稳居第一,但值得注意的是:Vue.js 使用者从去年不到30% 的占比已增至38.6%。可见随着 Vue3.0的普及,程序员圈中愈发流行用 Vue.js 进行 Web 开发。
图22Web框架使用排行(调查项为多选)
开源吞噬世界,与此同时开源工具正在吞噬开发者。数据显示,过去一年有37.9% 的开发者在使用开源技术框架 Node.js,而作为谷歌开源的 TensorFlow和 Facebook(现 Meta)主力支持的 PyTorch,这二者的使用占比也在缓慢上升。
图23技术框架使用排行(调查项为多选)
作为速度快、轻量级且功能强大的跨平台工具,VisualStudio Code 也深受开发者喜爱,约39% 的开发者表示会在日常工作中使用它。
图24开发环境使用排行(调查项为多选)
云 IDE 是近几年程序员圈中的新潮流,也是今年报告中新增的一个调查项。对于这一新兴平台,石延龙认为云 IDE 可能是在 Cloud Native 热潮下,业内对研发工具上云的一种追求。尤其是去年 GitHub 正式推出 Codespaces 功能,令许多开发者切实感受到了云 IDE 能够带来的收益:在浏览器中即可实现从写代码、编译、测试、调试到部署的完整开发体验,一切运行在云端,支持多人协作,不受本地资源限制,无限的扩展场景等等。
在此趋势下,许多开发者开始在日常开发中尝试用云 IDE 作为补充,其中43% 的人使用 Visual Studio Online。遗憾的是,也因为云 IDE 过于“新”,超过六成开发者表示没用过云 IDE。
图25云IDE使用情况(调查项为多选)
低代码也是近些年的热词之一,不过与其话题性相反的是,仅有3成左右的开发者表示曾在工作中使用过低代码开发平台:APICloud 最受欢迎,其次是阿里宜搭。
针对这一数据,石延龙分析道,目前的低代码/无代码平台还有限制,如应用场景少,灵活度低,交互复杂等等。但究其原理便可得知:想要做到低代码/无代码,需要将数据结构化,将控制流结构化,然后再建设可操作这些数据和控制流的交互逻辑,最终让用户通过交互生成自己的控制流,进而控制自己的数据。尽管目前数据和控制流的结构化方法和可结构化的数据和控制流都还有限,但很多人在不断努力者增加这些选择。石延龙畅想道:“也许,未来开发者的工作,就是使用人工智能技术,为扩展 NoCode 的场景枚举值而写 Code,让所有场景的用户都 NoCode。”
图26低代码平台使用情况(调查项为多选)
疫情之下,远程协作显得格外重要,有超过一半的开发者将 GitHub 作为研发协作管理工具,其次是占比26.3% 的 GitLab。
然而不论是框架、语言还是工具的选择,都需要在合适的操作系统中实现。尽管苹果推出的自研 M1系列芯片使 Mac 的性能更加强悍,但在国内开发者圈中,Windows 操作系统依旧是的主流:超过7成开发者日常使用 Windows 操作系统,Linux 作为服务端开发的主要操作系统,其使用量也达到近16%,而使用 macOS 的开发者则不足10%。
图27操作系统使用排行
程序员“升级”篇:跳槽不治本,技能提升才是王道
为了寻求更高的职级和更好的待遇,程序员普遍会采用三种方式:一是学习热点技术(75%),二是岗位晋升(67%),三是跳槽(47%)。
图28开发者提升自己事业的方式
这三种方式中,在外界看来跳槽似乎是 IT 行业中很常见的现象,但如今数据证明事实并非如此:28% 的开发者表示并没有跳槽经历,甚至三年至十年才跳槽一次的开发者占比为35%。
图29开发者跳槽频率分布
另外一种“升级”方式是学习热点技术。工作之外的闲暇时光是许多开发者提升技能的重要时间,因此有96% 的开发者每周都会保证一定的学习时间,学习1-5小时/周的占据42%,其次便是每周学习6-10小时的开发者人群,占比29%。在这之中,仅有4% 的受访者表示没有时间去充电学习。
图30开发者学习时长占比
具体怎么学?作为互联网的弄潮儿,程序员群体最为常见的学习路径便是参加在线课程。在汲取新知识面前,57% 的开发者会选择参加在线学习课程,同时有48% 的开发者更倾向于通过自学来掌握一个新的编程语言、框架或工具。
图31开发者持续学习路径排名(调查项为多选)
学会解决工作或学习中遇到的问题也是程序员必备技能之一。数据显示,近四成开发者遇到问题后会去百度查询解决方案,其次还有36% 的开发者选择前往 CSDN 寻求帮助。
图32遇到问题时的处理方式
然而随着年龄增长,多数程序员都会在自身技术得到充实后,面临一个艰难的抉择:坚持技术岗 vs. 转为管理岗。有人感慨“技术和体力跟不上了,只能做管理”,也有人呼吁“坚持自己的技术才是根本”。面对这一难题,33.8% 的开发者选择会坚持技术岗直到退休。但也有51.9% 的开发者想成为一名管理者。
图33开发者是否想成为一名管理者
最后,对于这份中国开发者现状调查报告的解读就到这里了。之后我们将陆续揭晓围绕中国开发者开源、基础软件、云原生这三大主题的调查报告,敬请期待。
[图文来源于网络,如有侵权,请联系删除]