为什么程序员一直说35岁毕业?

Posted River_ly

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么程序员一直说35岁毕业?相关的知识,希望对你有一定的参考价值。

最近刷到不少关于各大厂开始让员工“毕业”,向社会输出大量优秀人才的新闻,其实大家都明白“毕业”很正常,但为什么是我?为什么越是接近所谓的 35 岁就越容易“毕业”?

这是一个吃力不讨好的话题,很难展开友好讨论,幸运的是我可以只表达自己的想法,不接受反驳。

最近在朋友圈看到一段话:“「成长于天宝时期的人,以为盛世是常态,谁又能想到,他们中的很多人会死于随后的安史之乱」” 。

互联网的红利和高速发展让“码农”开始高估了自己的价值,很多时候带来了一个认知:“我现在的收入,也是我未来10年的收入”,所以有时候敢于追加杠杆,从而一不小心陷入僵局。

当然这里我不是想马后炮嘲讽,因为谁都不敢断定自己是处于山顶还是山腰,我想说的是:“「虽然我们一直说着“码农码农”,但是我们从没“承认”过自己码农的身份」”。

先聊聊为什么是 35 岁?这里我们看一个有趣的例子:电子厂招聘。

上面的招聘信息出来了什么?

电子厂招聘基本要求都会要求 40 岁以下,但是现实中一线员工很多都是 35 以下,如果你看到 B 站上东莞电子厂的记录片,就会发现电子厂基本都是18-20+年轻人的“天下”。

2016年东莞工厂纪录」十八岁的流水线: https://www.bilibili.com/video/av94780669

为什么?理由无非以下几个:

  1. 年龄大干活慢;
  2. 很难应付长时间的加班;
  3. 学东西太慢;
  4. 年纪大了不好管;

回过头来看,作为“码农”的我们自认为做写字楼,996 写着“改变世界”的代码,甚至一度觉得自己超越了父母辈在工厂的“碌碌无为“,那确实是如此吗?

从我感觉,其实程序员的工作很像是高配版的电子厂,如今的互联网行业高度发达细分,甚至行业内特别讲究语言(go、java、python、js)、领域(andorid、ios、前端(vue、react)、后端、算法),大家可能会不自觉地就把自己贴上很细分的标签,这样每个一线员工的工作会被精细化地分配,很难知道全貌,只要认真执行就好。

这种情况下甚至诞生了语言和领域的鄙视链,而从管理上这样的细分降低了成本,得到更快的效率,把它分得更细,像电子厂流水线一样,当某一个环节出了问题,可以快速替换。

讲个笑话:所以有时候你可能觉得公司离不开你,但是疫情来了之后,公司突然发现没了你也能正常运作。

所以你知道为什么大家都在说 35 岁?底层逻辑不是因为你技术不行,也不是你运气不好,而是和电子厂的流水线员工一样

  • 互联网以前是扩展期,行业攻城掠地大多数靠的不是技术创新,而是源源不断的细分型号的干电池,快速而又敏捷地抢占先机;
  • 现在进入紧缩期,资本开始拼的是谁成本更低,所以需要更便宜又更节能的电池来维护壁垒;

所以有时候想想就觉得很有意思:「我们究竟是某种语言或者框架下的农民工,还是使用某些语言或者框架去解决需求的工程师」

不知道你对自己的定位是怎么样?另外为什么年纪大了容易毕业?也有一部分原因在于职场内卷之下,年纪大的自尊心自然也高,使唤起来的成本自然也高。

工作中的疲惫往往不来自工作内容本身:

  • 20%来自应付职场中无意义的形式拉扯;

  • 30%来自给自以为讲道理的人讲道理;

-50%来自明知道是一坨屎还得凑上去的忍让;

都市人的疲惫,倦的是放低尊严后忍辱负重的自尊心。

在脉脉数据研究院 2021 年发布的 “大型互联网企业员工平均年龄” 调查显示,被统计的国内 20 家企业中,「平均年龄均在 27~33 岁之间」

其中,以TMD(字节跳动、美团、滴滴)为代表的新生代互联网公司,平均年龄在30岁以下(含30岁)的公司几乎占一半,字节跳动和拼多多员工平均年龄相对最低,平均年龄仅27岁。BAT中,阿里巴巴员工平均年龄31岁,百度平均年龄30岁,腾讯员工平均29岁。

那国外的程序员年龄分布是多少呢?

来自某不知道靠不靠谱的调查里,40 以上的人占据大多数,当然这个对比其实毫无意义,因为国情和环境不同,统计的样本不同,统计的方式不同,都能够得到“你想看到的数据”,这些数据大多数时候除了增加焦虑和用于抬杠,它们解决不了问题。

数据来源:https://www.zippia.com/computer-programmer-jobs/demographics/

而从我个人的感受上,在和社区与大佬的日常沟通中,我发现基本上大家的涉猎范围都很广泛,或者说:「语言和框架都只是为了解决问题」

我知道现在的程序员都特别敏感,特别是大前端领域:「今天不是看到这个要凉,就是明天看到哪个要火,这里面的背后逻辑是什么」

我个人感觉这大概就是行业给我们画了个圈,然后我们自己约束了自己,因为框架和语言,所以我们才能找到工作,如果这些框架和语言都凉了,那我们还这么混?所以每次看到这些都有人会被拨动心弦。

大家都知道那是在贩卖焦虑,但是看多了你依旧会焦虑,这就是阳谋。

当然还有个问题,那就是精通和嚼多不烂的问题,这个问题说过很多次,「当讨论选择竖向精通还是横向发展的时候,有个前提是你真的去精通去深入,而不是原地担忧你长横了之后竖不起来怎么办」

不过说了那么多废话,其实还是前面那句话,“毕业”和你的技术不一定有关系,那当行业开始内卷之后,我们还有什么办法在这个行业下生存下去,如果有必要,是不是可以为了生存撕开自己身上的标签,或者降低自己的预期去活下去。

不过其实你也不用那么焦虑,换个角度想想,这其实是行业和国情问题,大家都一样,技术好坏不是最直接的决定因素,这样想是不是会舒服一些?

当然,这种时期,最大的赢家莫过于那些不负债,一个吃饱全家不饿的人,因为他们有更大的自由空间去选择那些更有“尊严”的路。

作为另一部分,好像我们唯一的进阶路也就只剩下了提升技术水平……

那在这里就给大家分享一套完备的知识体系,整体参照了各家一线大厂高工岗位的招聘要求及岗位技能需求,并且每个具体的知识节点还附带有一整套体系化的学习资料、笔记进行辅助,帮助你把所学的知识点全部串联起来!

如果需要的话,可以顺手帮我点赞评论一下,直接前往公号:Android开发之家,自行领取。

01.android必备底层技术:

  • Java序列化:Serializable原理、Parcelable接口原理、Json、XML
  • 注解、泛型与反射:自定义注解、注解的使用、泛型擦除机制、泛型边界、Java方法与Arm指令、Method反射源码、invoke方法执行原理
  • 虚拟机:JVM垃圾回收器机制、JVM内存分配策略、Android虚拟机与JVM底层区别、虚拟机底层Odex本地指令缓存机制、虚拟机如何分别加载class与object、虚拟机类加载模型
  • 并发:Java线程本质讲解、线程原理、线程通信、UnSafe类、线程池
  • 编译时技术:OOP面向切面之AspectJ、字节码手术刀JavaSSit实战、字节码插桩技术(ASM)实战
  • 动态代理:动态代理实现原理、动态代理在虚拟机中运行时动态拼接Class字节码分析、ProxyGenerator生成字节码流程
  • 高级数据结构与算法:HashMap源码、ArrayList源码、排序算法
  • Java IO:Java IO体系、IO文件操作

02.Framework:

  • Binder:Linux内存基础、Binder四层源码分析、Binder机制、Binder进程通信原理
  • Handler:Loop消息泵机制、Message解析
  • Zygote:init进程与Zygote进程、Zygote启动流程、Socket通信模式、APP启动过程
  • AMS:ActivityThread源码分析、AMS与ActivityThread通信原理、Activity启动机制
  • PMS:PMS源码、APK安装过程分析、PMS对安装包的解析原理
  • WMS:PhoneWindow实例化流程、DecorView创建过程、ViewRootImpl渲染机制

03.Android常用组件:

  • Activty:Activity管理栈与Activity的启动模式、Activity生命周期源码分析
  • Fragment:Fragment生命周期深入详解、Fragment事务管理机制详解、性能优化相关方案
  • Service:Service启动模式分析、Service管理与通信方案、Service生命周期底层详解

04.高级UI:

  • UI绘制原理:setContentView()方法下到底做了什么、AppCompatActivity与Activity的区别、UI测量、布局、绘制的底层执行流程
  • 插件换肤:LayoutInflater加载布局分析、Android资源的加载机制、Resource与AssetManager
  • 事件分发机制原理:事件执行U形链与L形链、事件拦截原理
  • 属性动画:VSYNC刷新机制、ObjectAnimator与ValueAnimator源码讲解、Android属性动画:插值器与估值器
  • RecycleView:布局管理器LayoutManager详解、回收池设计思想、适配器模式原理
  • 高阶贝塞尔曲线

05.Jetpack:

  • Lifecycle:Lifecycle源码、Lifecycle高阶应用
  • ViewModel:ViewModel源码、ViewModel应用技巧
  • LiveData:LiveData源码
  • Navigation:Navigation源码
  • Room:Room源码、Room+LiveData监听数据库数据变更刷新页面原理
  • WorkManager内核
  • Pagging原理
  • DataBinding:单向绑定、双向绑定、如何与RecyclerView的配合使用、底层原理

06.性能优化:

  • 启动优化:系统启动原理、Trace工具分析启动卡顿、类重排机制、资源文件重排机制
  • 内存优化
  • UI渲染优化:UI层级规范及对UI加载的影响、UI卡顿原因及修复、UI绘制、布局、测量原因以及处理方案
  • 卡顿优化:造成卡顿的原因分析、内存抖动与GC回收、回收算法
  • 耗电优化
  • 崩溃优化:项目崩溃异常捕获、优雅的异常处理方案、如何避免异常弹框
  • 安全优化:APP加固实现(防反编译,dex加固)、https防抓包机制(数据传输加载,客户端服务器端双向加密校验)
  • 网络优化:serializable原理、parcelable接口原理、http与https原理详解、protbuffer网络IO详解、gzip压缩方案
  • 大图加载优化:Glide巨图加载机制原理分析、大图多级缓存实现方案
  • 多线程并发优化
  • 储存优化:Android文件系统-sdcard与内存存储、Shared Preference原理、MMAP内存映射
  • 安装包优化:shrinkResources去除无用资源、合理设置多语言、webp实现图片瘦身、合理配置armable-v7的so库、Lint检查工具实践

如果需要的话,可以顺手帮我点赞评论一下,直接前往公号:Android开发之家,自行领取。

07.音视频:

  • C/C++:数据类型、数组、内存布局、指针、函数、预处理器、结构体、共用体、容器、类型转换、异常、文件流操作、线程
  • H.265/H.265:音视频格式封装原理、编码原理、视频流H264的组装原理切片NAL单元、视频流H264码流分析、切片与宏快,运动矢量、信源编码器、高频滤波、帧间拆分与帧内预测、CTU,PU TU编码结构、DSP芯片解码流程、MediaPlayer与DSP芯片交互机制、投屏架构、MediaProjection与MeidiaCodec交互机制、H265码流交换
  • MediaCodec:dsp芯片、编解码器的生命周期、解码器中输入队列与解析队列设计思想、MediaCodec中平缓解码解析、MediaExtractor 多路复用、MediaMuxer合成器、MediaFormat格式
  • 音视频剪辑:视频剪辑、音频剪辑、音频合成、音谱显示、视频倒放
  • 音视频直播:硬编码、软编码、native实现rtmp推流、摄像头预览帧编码NV21转YUV、视频画面封装拼接Packet包、音频流数据拼接Packet包、RtmpDump实时同步发送音视频数据、MediaProjection、Medicodec编码H264码流、rtmp推流
  • OpenGL与音视频解码:OpenGL绘制流程、矩阵、Opencv详解、人脸识别效果实现
  • OpenGL特效:CPU与GPU运行机制详解、世界坐标,布局坐标,与FBO坐标系、图像镜像与旋转处理、人脸定位与关键点定位、大眼效果、贴纸效果、美颜效果
  • FFmpeg万能播放器:FFmpeg结构体、声音播放原理、Surface的渲染、像素绘制原理与对齐机制、音视频同步原理、视频播放器整体架构
  • Webrtc音视频通话:WebRtc服务端环境搭建与Webrtc编译、1v1视频通话实现方案、群聊视频通话实现思路、多对多视频会议实现、1V1音视频通话实现

08.开源框架原理:

  • Okhttp
  • Retrofit
  • RxJava
  • Glide
  • Hilt
  • Dagger2
  • EventBus
  • 组件化、插件化、热修复等

09.Gradle:

  • Groovy语法
  • Gradle Android插件配置
  • Gradle实践等

10.kotlin:

  • Kotlin语法
  • 扩展使用
  • 进阶使用
  • 实践等

11.Flutter:

  • Dart语法
  • UI
  • 进阶使用
  • 优化
  • 实践等

12.鸿蒙:

  • Ability组件
  • 分布式任务
  • 事件总线
  • 鸿蒙线程
  • UI自定义控件等

如果需要的话,可以顺手帮我点赞评论一下,直接前往公号:Android开发之家,自行领取。

Android路漫漫,共勉!

以上是关于为什么程序员一直说35岁毕业?的主要内容,如果未能解决你的问题,请参考以下文章

35岁程序员:被大厂裁员后,我赚的却是这样:

知乎万赞:什么样的程序员在35岁以后依然被公司抢着要?打破程序员“中年危机”

知乎万赞:什么样的程序员在35岁以后依然被公司抢着要?打破程序员“中年危机”

什么样的软件测试工程师在35岁以后依然被公司抢着要?

知乎热议:35岁的中年危机,大龄程序员该何去何从?

25岁程序员 VS 35岁程序员,太真实!