前言
90后没有赶上毕业包分配工作、工作包分房子、就差发放对象的时代,但我们处在一个科技高速发展、遍地是风口、资源更丰富更便捷的时代。
如今在职场中,90后正逐渐成长为与80后70后并肩作战的主力军。
很多人,25岁以前的时光,都是尽情挥洒的向上攀登,过了25岁,一切都开始走下坡了,无论是身体技能还是心灵层面,跨进30岁的人群就更不用说了。夜深人静的时候,一阵惶恐悄然来袭,回望过去,那个大学里意气风发的少年,早已在职场的蹂躏下黯然失色,面对苦苦劳作多年的岗位仍旧无法升职加薪,而裁员风波此起彼伏,看看自己的荷包“囊中羞涩”,根本没有勇气来一场说走就走的旅行,我该何去何从……
站在人生的十字路口,是仍旧死死盘根现在的职业,用不见增长的工资来抵抗与月剧增的房租和物价,还是重新规划职业生涯,给自己一次整装待发的机会?
那些大龄程序员后来都怎么样了
都是身边的例子:
有个程序员朋友卖了房回老家发展,回家养猪三年了,后来发家致富,当然这也是运气好,赌对了赛道和行情。
有一个兄弟跟别人合伙创业,做技术合伙人,目前只领基本生活费的。但公司融资境况堪忧,不知道什么时候就散伙了。
还有几个仍然在职场上飘着,打一枪换一个地方,月薪从之前5-6万,降到2万多。但有收入也算不错了。
当然还有不少程序员兄弟过了35岁,仍然在第一线工作,高级程序员或系统架构师。在技术团队中仍然是核心主力人员。
在小公司做技术总监和CTO的,也有几个兄弟,目前没有一个混得安心的,公司前景不明,有的已经开始拖欠工资了。
有北京土著程序员,生活压力不大,技术上自己接一些外包私活,赚点除收租之外的零花钱的。
也有转行跟别人一起搞PPT融资的,都搞了两三年了,也没听到成功的消息。倒是学会了很多互联网思维和名词。
有两个程序员转行做产品经理的,虽然转得早,但到了35岁这个坎,一样被社会吊打。我突然意识到,产品经理、运营经理一样受35岁暴击,不止是程序员有这个焦虑。
创业算是一条出路,有个朋友开了个工作室,做微信小程序外包,这两年过得还比较舒服;还有一个赚灰产收入也不错(非黑产,刷刷投票关注点点赞之类的灰产),但不知道能不能长久,这块不能多说。
其实从这里也可以看出来其实大部分离开IT这行的,生活都有所下降。
而留在职场的,有些人仍然在一线工作,有些就和现在大部分人一样退居二线,以至于降薪。
为什么会造成这种现象呢?
这个问题想必很多35岁以后的程序员也经常问自己。「随着年龄越来越大,我该何去何从?」
如果按照世界职业规划发展史上里程碑式的人物舒伯对人的生命阶段的定位,25岁-44岁职业上的发展课题应该包含:
- 稳定于一项工作
- 确立自己将来的保障
- 发现适当的晋升路线
如果我们把25岁到44对再做一次细分的话,31岁到44岁就应该处于安定期,这个阶段可晋升的上升空间已非常有限,所以找准自己的定位并在这条路线上获得保障,再去不断补充新知识,增加自己在某一专业领域的权威性很重要。
其实大多数程序员的晋升路径并不复杂,无非以下几种:
技术型:初级工程师->中级工程师->高级工程师->架构师(技术专家)->技术总监->CTO
管理型:工程师->项目组长->项目经理->项目总监->技术总监->CTO
交叉型:初级工程师->中级工程师->项目经理->技术总监->CTO(此路线技术和管理交叉进行,每个阶段做的事情不固定)
转行型:初级工程师->转行产品、设计、销售、运营等
当然在现实生活中,很多人的成长路径没有这么一帆风顺。大多数程序员在刚刚开始就没有这种长远思维,没有自己的职业规划。
导致很多程序员在自我进阶这一块认识不够清晰,总有人把自己的工作时间当作进阶要求,这也是为什么找不到工作的原因,你对自己认知不足,明明没有那个实力却总是想着拿到不属于你的待遇,公司又不是冤大头。
程序员的进阶靠的是对行业的理解,是技术体系的系统化,是有这底层框架的深刻认识的。不是简简单单的我到了这个年纪就应该拥有这个水平。
如何进阶
怎样努力才能快速成长为一名高级的程序员或者架构师,或者说一名优秀的高级工程师或架构师应该有怎样的技术知识体系,这不仅一个刚刚踏入职场的初级程序员,也是工作三五年之后开始迷茫的老程序员,都必须要面对和想明白的问题。
高级程序员的进阶之路通常分为以下六个阶段:
第一阶段:熟练掌握Java SE,尤其是对其内部类、线程、并发、网络编程等需要深入研究;熟练掌握基于HTTP协议的编程,清楚POST和GET等请求方式流程和细节;能够进行基本的Java Web编程等;
第二阶段:精通Android的核心API的使用,例如四大组件所涉及的API、Context等,精通核心界面的编程等;这个阶段已经能做大部分基础应用开发了;
第三阶段:精通应用框架的原理,及基本的23种设计模式在Android中的应用;
第四阶段:精通JNI,熟练Android类库中C/C++组件开发,具备修改和编写自己的应用框架的能力;
第五阶段:掌握上层和底层原理,能根据实际需要设计和实现较大的Android系统;
第六阶段:一切的思考均进入“势”的思考,能够判断和预测Android的形势,引领市场,通往自由的天堂。
拥有4,5年工作经验的Android程序员其实最主要的是第五阶段,只要掌握了底层其实很多问题都能迎刃而解。
这里就推荐大家学习Framework 源码,如果没有这方面学习资料的,在此分享一份Android Framework源码开发揭秘
由于文档内容过多,因此为了避免影响到大家的阅读体验,在此只以截图展示部分内容,详细完整版的看文末有免费的获取方式!(文末还有使用ChatGPT机器人小福利哦!!大家不要错过)
《Android Framework源码开发揭秘》
本学习手册深入剖析了Android系统源代码,详细讲解了Android框架初始化过程及主要组件的工作原理,旨在通过实例和案例介绍 Android Framework 的核心概念和技术,从而帮助开发者更好地理解 Android 应用程序的设计和开发。 该手册适合具有一定 Android 应用开发经验的程序员,希望能通过深入学习 Android Framework 来帮助开发者更好地理解和掌握这一技术。
第一章 系统启动流程分析
Android系统完整的启动过程,从系统层次角度可分为 Linux 系统层、Android 系统服务层、Zygote进程模型三个阶段; 知识要点:
第一节 Android启动概括、
第二节 init.rc解析、
第三节 Zygote、
第四节 面试题
第二章 跨进程通信IPC解析
Binder作为Android进程间通信的机制,可以看做是一个驱动。在Android中,常见的进程间通信例如系统类的:打电话、闹钟等;自己创建的:像WebView、视频播放、音频播放、大图浏览等。
第三章 Handler源码解析
第一节 源码分析
第二节 难点问题
第三节Handler常问面试题
搭建了一个基于chatGPT的微信群聊机器人,24小时为大家解答疑难技术问题, 需要的可以扫描二维码进群。