咱们这行似乎每个人都有个常识:程序员做到35岁之后,职业道路就很窄了,但我不信这个邪,我今年37岁,依然活跃在开发一线,并且做到了月入四万+。
偶尔也有人问,你是怎么打破35岁定律的?对于这个问题我从没正面回答过,直到今年年初。
今年疫情期间,与同行好友的一席聊天,让我足足思考了两天:回想起来其实自己之前也走过不少弯路,但比起大多数同行,自己最大的幸运,是坚持走完3条路之后,最终找准了自己最适合的那一条。
对职业规划有困惑的朋友,可以听我慢慢说来。
缘由
说实话在开发行业,裁员其实本来就常见,而在日益内卷的Android开发,更是人心惶惶。
同行好友来电说,正是缘于这个背景。看着身边的人一个个被裁,自己虽然留下来了,但焦虑感却在与日俱增,因为周围很多失业的同行,面试一两个月下来没任何进展的,不在少数!
在现实的敲打下,是时候要考虑怎么好好进行一番自我提升了。
“自我提升”是个老生常谈人人都懂的问题,但作为过来人我很清楚,程序员除了刚入行时学习热情很高,没个两三年就很快会进入“学习热情急剧衰退”的状态,大多数人都逃不出这个定律。
这也是很多人嘴上喊着自我提升,但其实根本没办法向上走的原因。
年龄越大,学习热情越低,为什么会成为程序员的通病?
根本原因在于,程序员都太理性了!
程序员们可以说天生喜欢计算投资/收益比,仔细想想就明白了:刚入行那会,每学一个新技术都成就感十足,因为长期来说每一步都在朝跳槽加薪这个目标迈进,短期来说还能让你在工作中少挨骂。但工作几年之后呢?工作中能碰到的问题,基本上都能应付了,再深入研究,哪怕花很多时间精力,不一定能吃透不说,对日常工作的实质帮助到底有多大,真说不好。而且谁知道下一份工作用不用得上呢?
学习的边际效益,随着年龄的增长而递减,这才是程序员学习热情逐渐减弱的根本原因,也是出现35岁定律的根本原因。在技术更新换代越来越快的今天,你要是还不打破这个定律,真的很危险!
我是怎么逃脱35岁定律的?
下面就跟大家分享一下,我这些年来先后尝试的3条路。
最开始我也并不清楚哪条路更适合自己,所以全部尝试了一遍,虽然走了些弯路,但是在尝试的过程中也收获了很多,大家完全可以吸取我的经验教训,选准最适合自己的一条:
1.转型管理
这是我当年的第一个选择,从08年左右,我就在考虑慢慢往技术管理角色转型。经过我的摸索,建议想要成功转型做技术管理者的同行,先确认下自己满不满足一个条件:行有余力。
也就是说,领导每交给你一个任务,你都能高效而且搞定起来绰绰有余,这时候领导才会给你更多更重要的任务,不断循环之后,领导才会逐渐让你带人、带项目。我当年的尝试之所以失败,归根结底还是技术不够过硬,手头上的事情都做不好、做不完,根本没办法进入刚刚所说的循环。
2.参与创业
转型管理失败后,我在朋友的邀请下参与了一个创业项目,当时之所以能下这个决心,一来是一起做事的人靠谱,二是项目本身盈利模式清晰,三是想着梦想还是要有,万一创业成功,一举实现财务自由、成为大牛呢。
但不幸的是,这次创业还是失败了。当然,我对这次经历还是不后悔的,因为当你真正去创业过一次,你的视野,看待整个行业的角度,都有质的变化。不过以过来人的经验,我还是要告诫下打算走这条路的朋友,创业之前,你至少得做好两个心理准备:
一是自己和家人是否真的能接受创业对生活带来的巨大影响,创业是件一旦开始就必须全力投入,绝大部分时间精力都要往里面砸;二是要做好两到三年没有任何收入的准备。
3.重返开发一线
经过了转型管理和创业两条路之后,我才确信,最适合自己的路,其实是重返开发一线。有人不解,你这不是往回倒退吗?而且后浪来势汹汹,你拿什么跟年轻人拼?
没错,如果说我开发了十年,还是跟年轻的时候一样,只是每天埋头敲代码,遇到不懂的问题就百度,那别说35岁,到了30出头就会被清退。
但做开发其实是有不同境界的,埋头敲代码的程序员,那是做体力活,当然要靠时间精力去堆;而高级架构师,更多的是做脑力活,也就是思考得多,做得少,一旦出手,那就一定是把握核心,这样才能突破年龄被人认可。
而根据我的经验,要成为高级构架师,你必须不断从两个方面下功夫:一是构建起属于自己的完整的知识体系;二是不断提升自己归纳、分析、整合、设计等方面的综合能力,以及在代码实现方面的创造力和想象力。
成为架构师需要掌握哪些技能?
一、基础技能:
1、深入Java泛型
2、注解深入浅出
3、并发编程
4、数据传输与序列化
5、Java虚拟机原理
6、反射与类加载
7、高效IO
二、Android框架体系架构
1、高级UI晋升
2、Android组件内核
3、大型项目必备IPC
4、数据持久化
5、Framework内核解析
三、360全方面性能调优
1、设计思想与代码质量优化
2、程序性能优化
3、开化效率优化
四、设计思想解读开源框架
1、热修复设计
2、插件化框架解读
3、组件化框架设计
4、图片加载框架
5、网络访问框架设计
6、RXJava响应式编程框架设计
7、IOC架构设计
8、Android架构组件Jetpack
五、NDK模块开发
1、NDK知识体系
2、底层图片处理
3、音视频开发
4、机器学习
六、架构师炼成实战
1、架构设计
2、网上商城项目实战
3、新闻客户端项目实战
4、多格式播放器项目实战
5、Gradle自动化项目
七、微信小程序
1、UI开发
2、API操作
3、微信对接
八、Hybrid开发与Flutter
1、Html5项目实战
2、Flutter
这套架构师成长路线是6名来自阿里、腾讯等10余年开发经验的资深架构师结合实战经验及最新互联网企业主流技术,归纳整理而成,并针对每一个技术点配有相应的视频详解、源码注释和笔记文档。
如果你按照这个学习路线学完,年薪没有达到40W+,来找我!
总之,作为一名老码农,站在过来人的角度,建议大家尽早为自己的职业生涯做长远打算,确定自己的职业路线,保持饥饿,保持学习。
为了方便大家,除上述资料,我还汇总了一些Android进阶资料和大厂面试真题供广大同行免费分享,需要可点击这里获取。