分析了1011个程序员的裁员情况后得出的启示

2023-11-03 20:40

本文主要是介绍分析了1011个程序员的裁员情况后得出的启示,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

大家好,我是若川。持续组织了近一年的源码共读活动,感兴趣的可以 点此扫码加我微信 ruochuan12 参与,每周大家一起学习200行左右的源码,共同进步。同时极力推荐订阅我写的《学习源码整体架构系列》 包含20余篇源码文章。历史面试系列。另外:目前建有江西|湖南|湖北籍前端群,可加我微信进群。

大家应该能明显感觉到最近几个月求职环境不太好,但究竟有多不好,具体的情况是什么样的?

为了分析程序员职场现状,我进行了裁员情况调查,一共有1011位程序员朋友参与。

本文会根据调查结果,为大家带来一些启示(如果不想看分析过程,可以直接跳到文末看结论)。

裁员真的多么?

「工作职级」来看,受访者中「初级工程师」的裁员比例最少(可能是因为工资相对最低,裁员收益不大),而「专家及以上」最多,但整体差别不大。

平均来看,受访者中有19%经历了裁员。

3ea0985c5485378ffad6993ad3ebe67d.png
按职级看裁员比例

「公司中技术团队人数」来定义「公司规模」「技术团队只有几人」的小公司裁员最严重,其他更大些的企业差距则不大。

98995733657f83ecf8636f36125d6ba4.png
按公司规模看裁员比例

可能是因为太小的企业还没有跑通业务变现的逻辑,老板抗风险能力也更差。

对我们的启示是 —— 「为了工作稳定,不一定要去大厂(毕竟裁员比例也不低),而应该尽量选择有稳定业务的企业」

你觉得这个裁员比例高吗?

大家都从事什么工作?

很多做业务的程序员会觉得「做架构」比较高大上。从「工作职级」来看看,随着职级与能力的提升,确实有越来越多的程序员从事架构工作:

41340c02dd6f1cf25c3f8f7fb8c80670.png
按职级看从事架构工作的比例

「技术团队规模」来看,一线大厂(技术团队千人以上)从事架构工作的程序员比例最高,但整体差别不大。

平均来看,约有17%的程序员从事架构工作。

df84bf6479c20a614df26184269343e9.png
按公司规模看从事架构工作的比例

给我们的启示是 —— 「在求职架构岗位时,可以打听下公司从事架构岗位的程序员比例,如果高于17%,可能没有多少让你施展拳脚的地方」

同时,从上述两个分析看,架构工作既有难度(职级越高,从事架构工作的比例越高),又有稀缺性(公司平均只有17%的程序员从事架构工作)。

那程序员推崇架构工作就不难理解了 —— 因为更难,也更少。

如果业务不赚钱,那么业务线被砍,做业务的程序员被裁,这个逻辑是很好理解的。而做架构一般有通用性。

那么,面对裁员的浪潮,「做架构」真的比「做业务」有更高的抗风险能力么?

做架构还是做业务?

「工作职级」来看「从事架构工作的裁员比例」,会发现 —— 随着职级上升,架构工作的裁员比例显著提升。

1a7625ecca21dd27910954e64efb85b0.png
按职级看架构裁员比例

对于立志在架构方面长期发展的程序员,肯定不想随着自己职级提升,被裁的风险越来越高吧。

相对应的,随着职级提升,做业务的程序员被裁的比例会逐渐降低。

虽然不同职级「做架构」的裁员比例都低于「做业务」,但诚如上文提到,公司平均只有17%的程序员从事架构工作。显然「做业务」的工作机会远远多于「做架构」

这对我们的启示是 —— 「经济下行时期,程序员规划职业发展时,尽量向离钱近(做业务)的领域发展」

大厂是救命稻草?

尽量往大厂卷是不是可以减少被裁的风险?

「公司规模」来看「架构、业务工作的裁员比例」,在「技术团队只有几人的公司」被裁的风险确实是最大的。但是一线大厂(技术团队千人以上)裁员比例也很高。

风险相对较小的,是「技术团队几十人的公司」。这样的公司可能自身有稳定的业务,也不盲目扩张,所以裁员规模相对较小。

e38c5101d19a8a22c2359985a6aa6a3f.png
按公司规模看裁员比例

从表中还发现个有趣的情况 —— 随着公司规模变大,架构岗被裁的比例显著增大。

大家都想去大厂做架构,但大厂架构是被裁的最多的。这是不是侧面印证了,很多大厂搞的「高大上的轮子」,并没有什么价值?

大家心里也这么想?

上面的很多分析结果,都对架构的同学不友好(尤其是大厂)。那么,大家听到的情况也是这样么?

我统计了「你听说你司被裁程序员都是做什么的」,其中「从事架构岗位的比例」如下:

3ff0094255cefaca8a90211834a9712b.png
你听说的你司架构裁员比例

可见,不仅「参与调查的当事人的数据」汇总后显示 —— 「不要去大厂做架构」

「大家听说的公司的情况」汇总后也在印证这一观点。

那么大家意识到「在大厂做架构」可能并不是个好选择了么?下面是「没有被裁员,且认为自己发展前景好」的程序员中「从事业务、架构的比例」

1cf26f1ffa3af72a60fcaa2a0a7e7608.png
没有被裁员,且认为自己发展前景好的程序员从事不同工作比例

先不管这样的认知是否正确(觉得自己前景好)。单从比例看,不管是小厂大厂,做业务的同学们的认知比例趋于一致。

而大厂做架构的同学显然对自己的前景有极高的预期(不知道他们知不知道,他们也是被裁的比例最高的?)

为什么对于「在大厂做架构」的同学来说,预期会与实际有这么大差距呢?都是什么职级的同学会觉得公司架构岗被裁的比例更多呢?

下面是按「工作职级」划分的,谁听说的「公司中架构岗被裁的比较多」

4074877d22179d4d865ff0632a4b5a4e.png

没有「初级工程师」觉得公司架构岗被裁的更多,而有56%的「专家及以上」认为架构岗裁员更多。

年轻人还是太年轻,不愿相信事实。专家们早已看穿了现实。

总结

本次调查为我们带来了几条启示:

  1. 大厂裁员比例也不低。为了工作稳定,应该尽量选择有稳定业务的企业

  2. 在求职架构岗位时,可以打听下公司从事架构岗位的程序员比例,最好低于17%

  3. 不要迷信技术。在经济下行时期,应该尽量选择离钱近的业务

  4. 不要去大厂做架构。实际情况与大部分程序员预期完全不符

不管是做架构还是做业务,我们都要明白 —— 技术是为了创造价值。那么什么是「价值」

对于好的年景,能够为业务赋能的架构是有价值的。而在不好的年景,价值直接与「能赚多少钱」划等号,离钱越近的业务,价值就越大。

而这一切,都与技术本身的难度无关。

所以,为了稳定的职业发展,更应该着眼于业务本身,而不是深究技术。


我在阿里招前端,我该怎么帮你?(现在还可以加模拟面试群)
如何拿下阿里巴巴 P6 的前端 Offer
如何准备阿里P6/P7前端面试--项目经历准备篇
大厂面试官常问的亮点,该如何做出?
如何从初级到专家(P4-P7)打破成长瓶颈和有效突破
若川知乎问答:2年前端经验,做的项目没什么技术含量,怎么办?

如何准备20K+的大厂前端面试

3b7306a8ce5c45414ec6e1e636e63bf2.gif

················· 若川简介 ·················

你好,我是若川,毕业于江西高校。现在是一名前端开发“工程师”。写有《学习源码整体架构系列》20余篇,在知乎、掘金收获超百万阅读。
从2014年起,每年都会写一篇年度总结,已经坚持写了8年,点击查看年度总结。
同时,最近组织了源码共读活动,帮助4000+前端人学会看源码。公众号愿景:帮助5年内前端人走向前列。

e644218859e824ea51a18f8e7221ef24.jpeg

扫码加我微信 lxchuan12、拉你进源码共读

今日话题

目前建有江西|湖南|湖北 籍 前端群,想进群的可以加我微信 lxchuan12 进群。分享、收藏、点赞、在看我的文章就是对我最大的支持~

这篇关于分析了1011个程序员的裁员情况后得出的启示的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/340743

相关文章

Spring事务中@Transactional注解不生效的原因分析与解决

《Spring事务中@Transactional注解不生效的原因分析与解决》在Spring框架中,@Transactional注解是管理数据库事务的核心方式,本文将深入分析事务自调用的底层原理,解释为... 目录1. 引言2. 事务自调用问题重现2.1 示例代码2.2 问题现象3. 为什么事务自调用会失效3

找不到Anaconda prompt终端的原因分析及解决方案

《找不到Anacondaprompt终端的原因分析及解决方案》因为anaconda还没有初始化,在安装anaconda的过程中,有一行是否要添加anaconda到菜单目录中,由于没有勾选,导致没有菜... 目录问题原因问http://www.chinasem.cn题解决安装了 Anaconda 却找不到 An

Spring定时任务只执行一次的原因分析与解决方案

《Spring定时任务只执行一次的原因分析与解决方案》在使用Spring的@Scheduled定时任务时,你是否遇到过任务只执行一次,后续不再触发的情况?这种情况可能由多种原因导致,如未启用调度、线程... 目录1. 问题背景2. Spring定时任务的基本用法3. 为什么定时任务只执行一次?3.1 未启用

C++ 各种map特点对比分析

《C++各种map特点对比分析》文章比较了C++中不同类型的map(如std::map,std::unordered_map,std::multimap,std::unordered_multima... 目录特点比较C++ 示例代码 ​​​​​​代码解释特点比较1. std::map底层实现:基于红黑

浅析CSS 中z - index属性的作用及在什么情况下会失效

《浅析CSS中z-index属性的作用及在什么情况下会失效》z-index属性用于控制元素的堆叠顺序,值越大,元素越显示在上层,它需要元素具有定位属性(如relative、absolute、fi... 目录1. z-index 属性的作用2. z-index 失效的情况2.1 元素没有定位属性2.2 元素处

查看Oracle数据库中UNDO表空间的使用情况(最新推荐)

《查看Oracle数据库中UNDO表空间的使用情况(最新推荐)》Oracle数据库中查看UNDO表空间使用情况的4种方法:DBA_TABLESPACES和DBA_DATA_FILES提供基本信息,V$... 目录1. 通过 DBjavascriptA_TABLESPACES 和 DBA_DATA_FILES

Spring、Spring Boot、Spring Cloud 的区别与联系分析

《Spring、SpringBoot、SpringCloud的区别与联系分析》Spring、SpringBoot和SpringCloud是Java开发中常用的框架,分别针对企业级应用开发、快速开... 目录1. Spring 框架2. Spring Boot3. Spring Cloud总结1. Sprin

Spring 中 BeanFactoryPostProcessor 的作用和示例源码分析

《Spring中BeanFactoryPostProcessor的作用和示例源码分析》Spring的BeanFactoryPostProcessor是容器初始化的扩展接口,允许在Bean实例化前... 目录一、概览1. 核心定位2. 核心功能详解3. 关键特性二、Spring 内置的 BeanFactory

MyBatis-Plus中Service接口的lambdaUpdate用法及实例分析

《MyBatis-Plus中Service接口的lambdaUpdate用法及实例分析》本文将详细讲解MyBatis-Plus中的lambdaUpdate用法,并提供丰富的案例来帮助读者更好地理解和应... 目录深入探索MyBATis-Plus中Service接口的lambdaUpdate用法及示例案例背景

MyBatis-Plus中静态工具Db的多种用法及实例分析

《MyBatis-Plus中静态工具Db的多种用法及实例分析》本文将详细讲解MyBatis-Plus中静态工具Db的各种用法,并结合具体案例进行演示和说明,具有很好的参考价值,希望对大家有所帮助,如有... 目录MyBATis-Plus中静态工具Db的多种用法及实例案例背景使用静态工具Db进行数据库操作插入