本人也是一名IT从业者(后期从事IT教育行业),至今为止勤勤恳恳耕耘12年有余,见证了早期ebj时代到现在微服务架构的整个技术时代的演变,不禁感叹技术的变革让社会进度的飞速,同时也感叹做IT程序员发展的不易,不断涌出的新技术让程序员根本停不下来。停下来的基本正在掉队中或者已经掉队了,我们怎样编码我们的程序人生,是程序员要思考的事情。
大龄程序员面临发展危机
随着互联网的高速发展变革,大龄恐惧症越来越多地在技术圈被人讨论。很多程序员在工作 5-10 年以后,都会开始思考 5 年、10 年甚至更久以后的自己,会是怎样一种生活工作状态,以及是否会被时代抛弃。特别是全民创业的这几年,大到 BAT ,小到创业公司,喜欢年轻员工成了许多企业招人时的隐形规定之一。
作者圈子的人脉较多,从朋友那里得知华为就明确规定员工 45 岁以后必须退休。阿里这几年也在追求团队年轻化,35 岁以上的程序员申请 P8 以下的职位成功率很低。
现在还有很多互联网金融公司表示平时在招聘技术人才时,普通开发人员的年龄不得超过 30 岁,架构师年龄不得超过 35 岁。
而许多高速发展的创业公司,更是年轻人的天下,从 CEO 到 CTO ,平均年龄不超过 30 岁的情况比比皆是。现在的互联网世界,似乎成了年轻人的天下。
关于这类现象,作者咨询了一些企业 HR,其中有一条建议比较中肯:
大龄程序员在选择工作时,首先要认清自己,再去选择环境和公司。比如先确定自己是属于以下那种
比较有激情、活力、愿意终身学习新技术的那一类人;
心有余而力不足,想脱离一线技术,想把更多精力放在管理上的那一类人。
如果是第一种,可以选择一家快速成长的创业公司,将自己的技术价值最大化地发挥出来;
如果是第二种,就选择那些组织架构相对臃肿的大公司,这些公司盘子够大且没有太多坑需要踩,因此对年龄稍大且有丰富经验、能安于现状、踏实做事的人存在一定需求。
其实不光是程序员,“大龄恐惧症”几乎是互联网行业里每个岗位的人都会遇到的问题,世界的变化太快,谁也不知道下一场取代互联网的变革何时会来。
大龄程序员的焦虑的因素
排除这种不可控的外在因素,一个人最大的恐惧,还是由对自我认知的缺失引起的。
其实目前,我们能看到大龄码农存在的两种状态:焦虑和自信。
很多时候,大龄程序员之所以会焦虑,主要还是两方面原因:
一种是家庭生活难两全带来的抉择,
一种是对自身技术水平的不自信。
而后者才是大多数大龄码农焦虑的源头。
而那些对自己技术不自信的人可能多年都在从事着普通开发的岗位,既得不到职位的晋升也提不起学习新技术的兴致。
不愿意拥抱新的技术
这一现象在面试的过程中就能体现出来。
本人曾经面试面试过的很多大龄码农,使用的框架和技术比较老旧,虽然他们对新技术也有所了解,却因为精力有限的原因没有落地执行,这种类型的程序员自然与高速发展的企业并不匹配。
这个时代很残酷也相对公平,残酷之处在于世界的变化之快容不得人有片刻懈怠,公平之处在于:不管你是年轻还是年老,都要靠实力说话。
真实的案例:四十岁的开发工程师的尴尬
本人程序人生后半场从事教学工作,对年前程序员了解也颇多。一个案例的对比颇为深刻。
疫情期间一个去年大四毕业的年轻程序员疫情期间获得5份offer,最高的offer是15k 在犹豫去哪里的问题。同样是一个疫情期间由于公司资金链断裂导致失业的40岁的程序员在长达一个月的求职后终于艰难获得到了和他之前公司的17k同等offer,职位依然是程序员薪资没有上升。
我和职位大龄程序员接触后才发现,他的现状完全是由自己造成的,其中最主要的原因就是不思进取,年轻时候没有学习的思想,对技术无欲望,更不愿意接受知识付费的时代,固步自封。
那些被时代丢弃的永远都是跑得慢甚至在原地彷徨的人,即所谓的工作十年却只要一年工作经历。
年轻程序员的优势在于年轻和激情,大龄程序员的优势在于阅历和经历。所以,年轻程序员不要有逾越年龄阶段的焦虑,大龄程序员也不要觉得年轻人抢了本人的饭碗。
每个年龄段都有本人要处理和面临的问题,认清本人内心真正的需求和盼望,再去寻觅合适本人的栖息之地打怪晋级,才是燃眉之急。
时期永远不排挤大龄程序员,时期排挤的是没有才能的大龄程序员,真正能处理难题的程序员,无论年龄多大,都会不断抢手。
希望行将奔三或者马上奔四的程序员同伴们,永远坚持一颗学习心,不以物喜不以己悲。
为了保证,多年后的,自己还有核心竞争力,同时也给年轻程序员一些建议:
了解最新的新技术
技术的更新是很快的,例如,作者刚刚出社会的时候,那时候,几乎后台的面试要求都是ssh,完全是单体架构时,现在是分布式微服务的时代,要求springboot,springcloud,nacos,dubbo,docker,k8s。保持与时俱进的思想,即使你现在的公司没有用到这些技术,你也要做好提前的技术储备,因为你不会一辈子呆在同一家公司。
底层功底需要额外时间学
在现在的时代,越来越多的公司关注底层,比如jvm底层优化,多线程并发,锁,nio,mysql优化等,底层是体现一个程序员真正实力的东西,固然在面试过程中会有大量的发问,但是平时在工作中应用的不是很多,这样就需要我们花额外的时间来学习。
深入底层源码学习
技术更新换代是很快,但是,每一个技术,都是借鉴某个技术的思想,或者在某个技术上衍生出来的,例如ssm, springboot,springcloud是方便,但是,这些技术给我们带来便利的同时,如果不对他底层有所了解,遇到问题,你也会很被动,应该知其然而知其所以然。
找对自己的方法
技术是学不完的,我们在学习的过程中,应该形成一套自己的学习方法。我推荐的学习方式是如果你一个成熟的程序员只对某些技术有所缺失,建议挑选大佬的视频,同时结合一些畅销的书籍,也可以参考一些文章来学习,同时形成自己的笔记。如果你是一个经验尚浅,大量技术缺失的程序员我推荐做好下班的时间规划,为自己挑选一套靠谱的进阶课程伴随式学习,结合自己的工作项目综合的提升,进阶课程推荐本人公司的java架构系列课程。
想好以后的方向
需要注意几个时间节点,刚刚出学校的时候,有能力尽量去大厂,当然前提是保证自己能生存下来。实际上,我遇到一些,自己找工作都有点困难的人,还挑三拣四,瞧不起去外包,不想去外包这种公司,或者小一点的公司。一定要在看清自己的能力的情况下再要求自己的诉求。
一般大约毕业,正常应该是22岁左右,大家都是成年人,也有自己的思想,出了校门,就不要找父母了,自己自食其力,有工作先做着,在工作之余,提升自我。先保证自己在社会上能生存,再谈一些其他的。
1-3年的时候,这个时候的我们,应该好好考虑一下,如何能把技术提升到一个较高的层次。让自己鹤立鸡群。
4年以上就要考虑自己是要往管理方向上发展还是架构师方向了。
拥抱知识付费时代
在我们技术落后急需提升的时候,无需固步自封,好的技术让我们高薪,自然好的技术学习资源也是别人奋斗的结果。做好技术学习的投资,回报也是一本万利。
推荐个人的java架构师免费公开课 ,每晚8点免费分享实战项目