不知道从什么时候起,35 岁变成了一个很“残酷”的年龄。35 岁的中浪,稍不留神,就可能被前浪和后浪拍打在沙滩上,连浪花都不剩。
中年危机已是一个普遍的社会问题。但对程序员这个群体来说,35 岁的危机感似乎格外重一些。
“因为程序员的工资普遍高于其他行业,一旦这个行业不要你了,(薪资)可能会面临断崖式下跌,所以才会有危机”,资深程序员赵可(化名)说。
35 岁是一道界限分明的职场分水岭,最尴尬莫过于“高不成、低不就”。如果到了 35、40 岁还没晋升上管理层去,就会面临失业、被社会淘汰的风险。一位 35+ 程序员在求职网站自述,他在今年年初被裁后的 2 个月里,疯狂海投简历、面试,只拿到了 6 个非大厂 offer,最终他决定平薪入职其中一家。
打击面并不仅限于职场。在某社交平台上,一位程序员愤愤表示,新认识的交友对象对“程序员到了 35 岁就退休”的定律感到介意,以致于感情快告吹了。
越临近 35 岁,焦虑感越发强烈起来。打开不少社交平台的相关话题页,你很容易被各种忧心忡忡的情绪所感染,35+ 程序员懊恼失业,就连 20+ 的年轻人也开始担忧未来会失业...
35 岁以上的程序员都去哪了?经常有人发出这样的灵魂拷问。很多人会选择在 35 岁的当口转型以渡过中年危机。
一般来说,35+ 程序员的职业路径主要有三个大方向:技术专家、技术管理、跨行业就业(非技术向)。
转做技术管理,大多数程序员都会走上这条路。
另一方面,技术做久了,升到管理层,也是正常的职场晋升流程。
但需要注意的是,并非所有程序员都适合做管理。
从技术到技术管理,要跨过的“坎”不少。
“35 岁不转管理就‘混吃等死’”,很多程序员觉得到了 35 岁、40 岁,再不转管理就来不及了。
现实情况下,技术管理岗位相比普通程序员岗位要少得多,所有人都去做高管显然不切实际,市场空间小且需要在技术和管理能力上具有相当的竞争力。
在这种背景下,程序员到了 35+ 还在一线写代码的人一定大有人在。实际上,如果热爱技术工作,就算到了 35 岁不转管理,坚守在一线岗位也未必就发展不好。
到底要不要转型,当你做决定的时候,可以先思考下这两个问题,一是想转到什么岗位及评估自己是否具备该岗位所需的技能;第二,是否热爱这个行业,并愿意始终在这个行业学习。
回过头来反思一下,为什么 35 岁成了程序员的职场终点?
表面上看,这是个人的职场发展遇到了困境。更深层次的原因与当前激烈的就业环境不无关联,这里面很大程度上是市场“倒逼”的结果。
华为劝退 35 岁员工,强制退休补偿 45 岁员工;腾讯裁撤 10% 高管,劝退 35+ 员工... 如今的快速迭代的互联网和职场环境,都在向中年人传递出一个信号 —“你老了”。正如马化腾所说,或许你什么错都没有,就错在太老了。
“不要 35 岁以上的中年人,再便宜也不要”。虽没有明文,但 35 岁定律已是国内科技互联网公司招聘标准里的“潜规则”。
年轻人能修 996 福报,对薪资要求不高,中年人精力和体力双下滑,家庭负担拖累成长空间,对薪资要求还高。于是“橄榄枝”更多伸向了年轻人。
到了 35+ 的年龄再去找工作,市场的期待值也会变高。
我以前在招人时发现,其实市场上很缺人,但又有很多大学生找不到工作。这并不矛盾。“很多程序员的简历上写着做过很多项目,但真聊起来发现他做的并不深入。行业真正需要的是经验丰富、能实际解决问题的人才”。
从另一个角度看,市场的“优胜劣汰"机制,也并非全都是坏事。它能鞭策程序员不断提高自己,形成自己的竞争优势。
35 岁定律就像一把高悬在头顶的达摩克利斯之剑,悬而不落的状态最“折磨”人。但时间永在流逝,没有人能避免 35 岁的来临。
如果一个程序员随着年龄的成长,每天还只是在重复做着基础工作,那么当 35 岁来临时,危机大概率也会找上门。
对抗 35 岁危机,不能打无准备的“仗”。最关键的是,一定要对自己有清晰的人生定位,“你在 35 岁之前最好想明白,任何行业、任何岗位,都能创造奇迹”,陶建辉建议。
如果真的热爱技术,希望在技术领域长期发展下去,就要持续学习,以让自己在技术上有积累,有系统化的理解和认知。如果有志向转型管理,那也要做相应的准备,注意培养自己的管理思维。而对于那些觉得干这行不是特别突出,竞争力相对较弱的普通程序员来说,提早准备 Plan B ,探索第二职业,谋求合适的时机转型 ,也不失为明智之举。
总之,无论是继续坚守技术道路还是转型,遵从自己的内心和志趣是最重要的,也都少不了持续学习,方能打破 35 岁悖论。商业世界瞬息万变,必须紧跟脚步才能不被时代抛弃。
克服 35 岁现象,除了个人努力突破职业瓶颈外,还需要良好的舆论环境,不要“妖魔化”35 岁。
更重要的是,职场生态需要进一步改善,希望企业为大龄技术人营造更加公平良性的就业机会和就业环境,给予大龄程序员更加包容、开放的空间。
IT行业,是一个新技术层出不穷的行业,每一年都会诞生许多新的语言,新的框架,新的开发理念。20来岁,是学习新事物的黄金年龄,35岁的程序员,在学习新技术上,很可能比不上年轻的后辈们。
程序员行业新技术发展迅猛,可以说是日新月异。
也正是这个原因,中年危机成为我们必须面对和攻克的问题。
思考一个问题:那些能工作到45、50、甚至60的程序员们,究竟具备了哪些过人的能力?
就我过去的经历和观察来说,我认为:他们掌握了一些硬核技能。
这些硬核技能帮助他们克服了年龄带来的劣势。
那么对于Android开发者来说需要掌握哪些核心技能呢?
先看看下面这个技能图自己都掌握了多少,要全部掌握的话又该怎么学呢?
下面则是上面技能图对标的详细学习资源文档:
所以,如果你平时只知道埋头苦干,或过于死磕某个实现细节,没有抬头审视过这些技术,那么在准备面试之前,很有必要好好梳理一下 Android 知识体系,这样才能拿下满意的 Offer。
1.Java语言进阶
深入学习Java语言,全面掌握Java面向对象思想,掌握热修复与JVM原理。
2.高级UI与FrameWork
学握Android UI特性与版本适配,全面了解自定义UI,深入理解Android系统内核原理技术。
3.360°性能优化
时间和空间的复杂度来写出优雅的高效代码实战,解决用户使用App过程中的卡顿与保活技术,学握加固/奔溃/卡顿/启动过程的问题。
4.NDK开发专题
精通C/C++/JNI基础,全面掌握图形图像处理,音视频处理,人工智能应用等技术。
5.前沿技术专题
从热修复/热更新到组件化/插件化,在深入理解Rxjava,手写图片和网络框架。全面精通Google Android jetpack实时更新技术,应用Kotlin进行项目实操。
6.微信小程序
掌握小程序从无到有的构建过程,能够将app开发的能力复制到小程序中,并进行项目实战。
7.Flutter Hybrid开发
学习Dart基础和高级语法,掌握控件/布局/动画/操作手势/线程/网络以及交互等核心技术。
除了上面的学习路线,还可以额外的配合以下方式学习,效果翻倍~
①看视频进行系统学习
前几年的Crud经历,让我明白自己真的算是菜鸡中的战斗机,也正因为Crud,导致自己技术比较零散,也不够深入不够系统,所以重新进行学习是很有必要的。我差的是系统知识,差的结构框架和思路,所以通过视频来学习,效果更好,也更全面。关于视频学习,个人可以推荐去B站进行学习,B站上有很多学习视频,唯一的缺点就是免费的容易过时。
另外,我自己也珍藏了好几套视频,有需要的我也可以分享给你。
②读源码,看实战笔记,学习大神思路
“编程语言是程序员的表达的方式,而架构是程序员对世界的认知”。所以,程序员要想快速认知并学习架构,读源码是必不可少的。阅读源码,是解决问题 + 理解事物,更重要的:看到源码背后的想法;程序员说:读万行源码,行万种实践。
主要内含微信 MMKV 源码、AsyncTask 源码、Volley 源码、Retrofit源码、OkHttp 源码等等。
③面试前夕,刷题冲刺
面试的前一周时间内,就可以开始刷题冲刺了。请记住,刷题的时候,技术的优先,算法的看些基本的,比如排序等即可,而智力题,除非是校招,否则一般不怎么会问。
关于面试刷题,我个人也准备了一套系统的面试题,帮助你举一反三:
以上内容均免费分享给大家,需要完整版的朋友,点这里可以看到全部内容。或者点击 【这里】 查看获取方式。