程序员画像篇:编程从少年开始,35岁不再是“魔咒”

免责声明:本文来自微信公众号CSDN(ID:CSDNnews),作者:CSDN,经站长之家授权转载发布。

程序员,一个外人羡慕,内人称苦的“神奇”职业——高薪和好福利是别人羡慕的原因,但高压和过度加班也是他们最常见的写照。

回顾过去的一年,程序员圈热闹非凡:雷军一句“为小米汽车而战”,让智能自动驾驶成为行业热词;在云原生和全面数字化的趋势下,熟练使用K8s几乎成为必备技能;元界和 Web3 的突然爆发,让程序员一时间不解;终于到年底了,一个意外的Log4j2漏洞叫无数开发者深夜修复bug……

与此同时,许多程序员也逐渐对行业技术的不断迭代和新兴趋势感到迷茫:“我在众多同行中处于什么位置?”、“面对日新月异的技术工具、平台、框架和场景,我该如何选择?”

在这里,CSDN发布了《2021-2022年中国开发者现状调查报告》。这份报告涵盖了各个开发者圈子的热门话题,无论是加班加薪、“大小周”的选择,还是程序员喜欢或讨厌的编程语言、常见的学习路径等程序员最关心的问题关心。答案将在本报告中一一揭晓,字节跳动移动技术专家、大前端技术中端部门ToB项目技术负责人石彦龙将对报告结果进行分析。

首先,让我们看一下这份报告的一些主要发现:

接下来,就让我们通过这份报告来看看国内开发商的真实现状吧!

程序员画像:编程从小做起,35岁不再是“诅咒”

近年来随着国内人工智能、云计算、数据库等IT产业的快速发展,对人才的需求不断上升,编程早已不局限于大学课程。少年智,国智,少年强,国强。” 从数据来看,这个目标已经不远了:57.23%的受访者表示他们第一次写代码是在16-20岁,也就是他们非常接触过在高中或大学编程。一般来说,只有 0.8% 的开发人员在 30 岁之后接触到编程。

图1 写第一行代码的时代

随着技术的演进,近年来,“自研”二字成为破解国内市场的关键。为此,无数志存高远的年轻人在踏入社会的同时,选择了进入IT行业。在过去的五年里,超过 70% 的开发者选择了从事编程。

图 2 编程时间

不过,今年的开发者世界有些不同:

不变的是,后端开发职位在40岁以下的程序员中仍然很受欢迎。在40岁以上的从业者中,技术经理的比例从去年的11%上升到了21%。可以看出,随着年龄的增长,越来越多的开发者开始走上技术管理的道路。

图3 开发者的基本特征

在外人看来,程序员的日常生活应该被“编程”占据,但事实并非如此。在工作中,只有不到 10% 的开发者每天花费超过 70% 的时间编写代码,而大多数开发者平均每天只写大约 200 行代码。

图 4 开发人员每天编写的代码行数

在影响程序员工作效率的原因中,“缺乏清晰的流程”以 37.9% 位居首位,37.8% 的开发人员认为这将严重影响“分心的工作环境”为了生产力。

对此,字节跳动移动技术专家石彦龙认为,对于知识密集型的研发工作,清晰定义的协作流程应该是团队协作顺畅、产出高效的最重要因素。他建议有经验的开发者可以在项目管理上加大投入,提高整个团队的协作效率;对于流程较差的团队经理,他们可以考虑构建或引入优秀的 DevOps,标准化流程和工具,这可能非常有效。极大优化项目协作;而一些不想走管理的技术同学也可以考虑做DevOps研发,提高团队效率。

图 5 影响工作效率排名

除了流程不清晰严重影响工作效率外,22.6%的开发者还为“通勤时间”而头疼,而疫情衍生的远程工作给了这些开发者另一种选择。目前,国外互联网公司如谷歌、Facebook(现Meta)均支持远程办公,46%的国内受访者表示其公司也支持。但总的来说,国内开发者远程工作的频率并不是很高,很多时候只是应急预案。只有 4% 的开发人员表示他们完全偏远。

图 6 开发者对远程办公的态度

程序员薪资:高薪下首选一线/新一线城市,“大小周”可考虑

“高薪”一直是程序员群体的标签之一,近年来其薪资水平也逐渐提升。去年44.5%的开发者月薪8001-17000元,现在这个数字上升到49.2%,程序员月薪17001-的比例3万元也从16.2%提高到20.5%。

图7 2020年开发者月薪分布

图8 2021年开发者月薪分布

报告数据显示,在过去的一年里,超过60%的开发商表示他们的工资有所增加,甚至超过11%的人占到了21%。不过,尽管行业整体薪资水平逐渐提高,但仍有 34% 的开发者表示薪资没有变化。

图 9 开发者月薪增长

在充满男性的开发者圈子里,女性开发者的工资会和男性一样吗?A:有一定的区别,但差距不大。在月薪1.7万元以上的范围内,男性开发者占29%,女性开发者也有20%的工资。即使在 8000 到 1.70000 元的薪资范围内,女性开发者的比例也略高于男性开发者。

图 10 不同性别开发者月薪占比

除了性别,还有开发商的位置、每周工作时间、教育程度、行业、服务年限等重要因素导致不同的薪资水平。

地理位置是影响工资水平的重要因素。数据显示,月薪在1.7万元以上的开发者中有近30%来自北京——仍遥遥领先于其他地区(去年这一数字为30%)。其次是广东和上海,同等薪资水平下差距不大,分别占比18%和17%。

图11 各地区月薪高于1.70000的前10名开发者

如果关注高薪人群的具体比例,北京和上海也有绝对优势:近一半的开发者工资在1.7万以上,而在其他地区,工资水平只占约20%。

图12 各地区月薪高于1.7万的人数比例

或许北京、上海、广州、深圳等新一线城市的整体薪酬水平远高于其他地区,也或许是产学研有更好的资源和机会。近70%的国内开发商仍偏向于聚集一线/新一线城市。

图 13. 开发人员在城市工作

尤其是北京和广东,仅这两个省市的开发商占比就可以达到全国的28.1%。另外值得一提的是,2020年广东以16%的全国开发商位居全国第一,而现在这个宝座已经被北京以14.2%的比例拿下。

图14 开发商地域分布(省、自治区、直辖市、特别行政区)Top 15

去年,互联网行业率先掀起“反内卷化”浪潮。字节跳动、快手等大公司宣布取消“大小周”,腾讯光子工作室更是推出了“周末强制不加班”的规定。众多节目成员欢呼:内卷时代结束了。发薪日的到来通知,会让一些程序员感到“心碎”。

报告数据显示,按照每周40小时标准工作时间的程序员中,只有20%的薪资高于1.7万元;而在72-84小时工作的程序员中,收入超过了1.7万元的近一半。

图 15 每周不同工时开发人员薪酬分布

俗话说“不能两全其美”。虽然在标准工作时间下很难拿到高薪,但仍有 30% 的程序员选择每周只工作 40 小时,而且很少对工作时间不满意。相比之下,工作时间越长,开发者的不满情绪就越高。例如,每周工作 72-84 小时的程序员中有 55% 对其工作时间不满意。

图 16 开发人员的工作时间

图 17 开发人员对工作时间的满意度

每个人都有自己的愿望,程序员对以上两种生活方式也有自己的看法:23%的开发者表示宁愿“大周和小周”获得高额报酬;但 41% 的开发者表示他们更注重身心舒适,不想“大小周”;另有 36% 的受访者表示可以考虑。

图 18 开发者对大小周的态度

从数据上看,受教育程度越高,高收入群体的比例越高。例如,在拥有硕士学位的开发人员中,55% 的薪水为 1.70,000 或更多。

图 19 不同学历开发者薪酬分布

除了以上因素外,开发商的工作年龄和行业对工资也有影响:开发商的工资一般随着工作年龄的增加而增加。比如在工作11-15年的开发者中,工资1.7万元以上占比超过60%;金融行业的高收入群体占比最高,其中91%的开发商月薪超过8000元。

程序员工具:Python 最流行,云 IDE 呈上升趋势

在与程序员密切相关的编程语言方面,据数据显示,使用 Java 的开发者数量在逐年减少:与去年 50% 的用户相比,今年 Java 开发者的数量已经下降到40%——这也印证了Java在TIOBE编程语言排行榜上人气下滑的现象。

将其与 Python 进行对比。近年来,随着数据挖掘和人工智能的蓬勃发展,Python凭借在数据分析、机器学习、Web开发、测试等领域的突出表现,市场份额大幅提升:去年Python仍落后21%爪哇。今年已将这一差距缩小到 9.9%。甚至有 27.3% 的开发者表示,如果有机会,他们希望将来将编程语言迁移到 Python。

图20 编程语言使用排名(调查项目多选)

在程序员最讨厌的编程语言中,汇编语言排名第一,占比37%。毕竟,面向机器的编程语言不仅难以理解,对于习惯了高级语言的开发者来说,也难以编程。

图21 开发者最讨厌的语言排名(调查项目多选)

在 Web 框架方面,Vue.js 仍然位居第一,但值得注意的是,Vue.js 的用户比例从去年的不到 30% 上升到了 38.6%。可以看出,随着Vue3.0的火爆,Vue.js在Web开发的程序员圈里越来越火。

图22 Web框架使用排名(调查项目多选)

开源正在吞噬世界,同时开源工具正在吞噬开发人员。数据显示,在过去的一年里,37.9% 的开发者在使用开源技术框架 Node.js,而谷歌的开源 TensorFlow 和 Facebook(现 Meta),主要支持的 PyTorch 占比也在缓慢上升。

图23 技术框架使用排名(调查项目多选)

作为一款快速、轻量级且功能强大的跨平台工具,VisualStudio Code 也深受开发者的喜爱,约 39% 的开发者表示他们在日常工作中使用它。

图24 开发环境使用情况排名(调查项目多选)

Cloud IDE是近年来程序员圈的新趋势,也是今年报告中的新调查项目。对于这个新兴平台,石彦龙认为,云IDE可能是在云原生热潮下,行业研发工具上云的一种追求。尤其是去年 GitHub 正式推出 Codespaces 功能,让很多开发者感受到了云 IDE 可以带来的好处:从编写代码、编译、测试、调试到部署的完整开发体验都可以在浏览器中实现,一切都运行在浏览器。云端用js做计算器,支持多人协作,不受本地资源限制,无限扩展场景等。

顺应这一趋势,许多开发人员开始尝试使用云 IDE 作为日常开发的补充,其中 43% 的开发人员使用 Visual Studio Online。不幸的是,由于云 IDE 太“新”,超过 60% 的开发者表示他们从未使用过云 IDE。

图 25 Cloud IDE 使用情况(调查项目多选)

低代码也是近年来的热词之一,但与其话题性相反,只有约 30% 的开发者表示他们在工作中使用过低代码开发平台:APICloud 最受欢迎,其次是阿里易达。

针对这一数据用js做计算器,石彦龙分析称,目前的低代码/无代码平台仍然存在应用场景少、灵活性低、交互复杂等局限性。但原理可以看出:如果要实现低代码/无代码,就需要对数据和控制流进行结构化,然后构建可以操作这些数据和控制流的交互逻辑,最后让用户交互生成你的自己的控制流来控制自己的数据。尽管目前结构化和结构化数据和控制流的方法有限,但许多人一直在努力增加这些选项。石彦龙想象道:“或许,未来开发者的工作就是利用人工智能技术编写 Code 来扩展 NoCode 的场景枚举值,让所有场景的用户都能使用 NoCode。

图 26 低代码平台使用情况(调查项目多选)

疫情之下,远程协作显得尤为重要。超过一半的开发者使用 GitHub 作为研发协作管理工具,其次是 GitLab,占比 26.3%。

然而,框架、语言或工具的选择需要在合适的操作系统中实现。虽然苹果自研的 M1 系列芯片让 Mac 的性能更加强大,但在国内开发者圈,Windows 操作系统仍然是主流:70% 以上的开发者日常使用 Windows 操作系统,Linux 是服务器开发的主要来源。操作系统,其使用率也达到了近 16%,而使用 macOS 的开发者不到 10%。

图 27 操作系统使用排名

程序员“升级”篇:跳槽不治本,技能提升才是王道

为了寻求更高的等级和更好的待遇,程序员一般采用三种方式:一是学习热门技术(75%),二是升职(67%),三是跳槽(47%)。

图 28 开发人员提升职业生涯的方法

这三种方式中,跳槽在外界看来是IT行业非常普遍的现象,但现在数据证明并非如此:28%的开发者表示没有跳槽经验,甚至每三到十年才一次。开发者占 35%。

图 29 开发者跳槽频率分布

另一种“升级”的方式是学习热门技术。工作之外的空闲时间是许多开发人员提高技能的重要时间。因此,96%的开发者每周保证一定的学习时间,42%每周学习1-5小时,其次是每周学习6-10小时的开发者群体占29%。其中,只有4%的受访者表示没有时间给学业充电。

图 30 开发者学习时间占比

具体怎么学?作为互联网的潮流引领者,程序员最常见的学习途径是参加在线课程。面对获取新知识,57%的开发者会选择在线学习课程,而48%的开发者更愿意通过自学掌握一门新的编程语言、框架或工具。

图 31 开发者持续学习路径排名(调查项目多选)

学会解决工作或学习中遇到的问题,也是程序员必备的技能之一。数据显示,近40%的开发者在遇到问题后会去百度咨询解决方案,其次是36%的开发者选择去CSDN寻求帮助。

图 32 如何处理问题

然而,随着年龄的增长,大多数程序员在技能丰富后面临着一个艰难的选择:坚守技术岗位还是转行管理岗位。有人感叹“技术和体力跟不上,只能做管理”,也有人呼吁“坚持自己的技术是基础”。面对这种困境,33.8% 的开发人员选择留在技术岗位直到退休。但也有 51.9% 的开发者想当经理。

图 33 开发者是否想当经理

最后,这份关于中国开发商现状的调查报告解读就到这里。稍后我们将为中国开发者公布开源、基础软件、云原生三大主题的调查报告,敬请期待。

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论