“程序员干到35就不行了!”这是IT行业普遍存在的一种说法。

有的说到30岁;有的说到35岁;有的说到40岁, 达到这个年龄上限就必须要调整方向去做管理、产品、业务等岗位的工作,甚至创业的也大有人在, 反正就是不能再写代码了。

最近看到很多文章都在说,程序员35岁是一道坎,很多人到35岁就干不下去了,就要被淘汰了。再加上国内的互联网公司,35岁以上的程序员真的少,这又进一步佐证了这一说法。

image.png

那么,这是真的吗?程序员35岁以后真的要面临淘汰的危险吗?

我告诉大家:是真的。

大家都说程序员吃的是青春饭,原因可以归结为以下两点:

第一,编程技术飞速迭代, 新技术层出不穷, 各种语言、各种框架、各种新技术理论每年都会更新,而随着程序员的年龄增长,学习能力却是在退步的,因此往往会出现跟不上行业技术脚步的情况。 此外,在成家立业后大量的时间肯定会被家庭琐事占用, 能花在学习新技能上的时间也就更少了。

第二,工作成果产出的问题, 换种说法就是加班时间多少的问题。就这点,老程序员的确没法和刚毕业的毛头小子比。人家年纪轻轻精力旺盛还没有老婆孩子需要照顾,说加班就加班说通宵就通宵,吃喝拉撒睡都在公司也不成问题,最重要的是人家要的钱还少。

很多说程序员是个没有将来的职业,没法为后半生带来保障,这个行业没有安全感。

那么,按照这个说法,到了35岁的程序员应该去做什么呢?

在大多数软件开发服务公司里,程序员成长有两条大的通道。一条是管理岗通道,一条是技术岗通道。

准备走管理岗的,你可以尝试从项目小组长做起,带两三个帮手做一个项目或者大模块的开发。理解用户需求,做项目规划,顺利进阶为项目经理。当有了多个项目经理的经验,开始同时管理多个项目组,也能对项目的成本控制有了理解和方法,知道如何帮公司在项目中优化更大的利润了,就达到了项目总监的水平。

准备走技术岗的,要么选择一个技术方向,深入学习和积累实践。要么在工作的时候把视野放开阔,多了解和学习新技术在你服务的这个行业的使用。一个是成为某个领域的专家,一个是成为一个相对的全栈工程师。

当然,如今多了第三条路——做IT自由人。随便网上一搜,各种外包平台眼花缭乱,然而是否靠谱就不得而知。如何找项目,就成为了一个老大难。我在这里以目前市场上两个比较有名的平台来做了对比:

从对比中我们不难看出,『自由职客』的服务群体更具专业性,合作模式更加人性化,且颠覆传统外包模式,采取不收差价的方式,项目周期也比较长,最大程度的为自由职业者考虑。

可如果选择做自由人,很多人面临一个问题:没有参保单位,社保停缴或断缴,那么如何储备养老钱,是否有必要自己缴纳社保?

根据《社会保险法》第10条第2款规定,无雇工的个体工商户、未在用人单位参加基本养老保险的非全日制从业人员以及其他灵活就业人员可以参加基本养老保险,由个人缴纳基本养老保险费。第23条第2款对医疗保险也有类似规定。这一较为笼统的国家层面的规定在各地的执行情况并不相同,一般要求在户籍所在地缴纳。一般自己能交的社保只有医疗保险和养老保险,像其他的生育险,失业险之类的自己是不能交的。

『自由职客』就能解决这个问题,可免费提供代缴服务,费用按你所缴纳地区的人力资源社会保障局的标准支付。保障自由职业者老有所养。

好了,上面解释了三种程序员常见的方向。可我在这里还是想问一个问题:我们真正懂这个行业吗?或者说,更多外行人看的只是热闹而已。很多人说程序员是个没有将来的职业,没有安全感。

至于说编程技术更新换代速度太快, 大龄程序员跟不上脚步去学习, 这个论点经不起推敲。 程序员也是白领行业。现在高端一点行业的从业者,谁不需要不断成长不断学习?

程序员都明白一个道理:在软件开发行业,从来都是算法先行,次基础,技术为末。这是程序员从业者金字塔的层级关系分布。把所有精力花在学习语言、框架上的程序员,在技术上肯定是三流的,也就是那批随着年龄上限的接近,害怕被技术淘汰因而寻找其它从业方向的程序员。道理所有人都懂的, 虽然当程序员门槛不高, 那也是相对的,至少这帮人都不笨,对于自己行业的本质还是看的透的。

虽然程序员们都知道算法和基础是最重要的,然而要学习这两样东西是非常的枯燥乏味的。技术是时时刻刻在变化的, 而算法和基础从计算机发明以来,基本上没什么变动, 这其已经从侧面说明了学好算法和基础, 可以以不变应万变, 一切自然水到渠成, 反之重技术轻算法基础的往往最终结果就是随着年龄的变大而不得不面对所谓的程序员中年危机。

另外,很多人天真的以为40岁以上的程序员肯定改行干别的去了。

今年是2017年,1977年出生的程序员也就是2000年左右参加工作的那批程序员, 在那个时代,在国内IT行业根本没有如此规模, 程序员从业者数量也没法和现在相提并论。因此, 不是40岁以上的程序员都去干别的, 事实上是40岁以上的程序员实在太少了, 少的大多数年轻程序员根本没有机会遇到。

最后想说,喜欢一件事情,年轻真不是问题。随着IT技术的不断更新发展,程序员需要不断学习,不断精进,否则面临的只能是淘汰。毕竟坐吃山空,老本也经不起生活折腾!

从事java十余年,现在把架构师必须具备的一些技术总结出来一套思维导图和录制了一些相关视频,分享给大家,供大家参考。

需要相关资料可以给大家推荐一个程序员学习交流一群:854818273,群里有分享的视频,面试指导,架构资料,还有思维导图

我把它分为六个点

一、开源框架解析:

阅读、分析源码是程序员最基本的码代码能力也是码农的根本所在,学习经典源码中所用到的经典设计思想及常用设计模式,能够帮你了解大牛是如何写代码的,从而吸收大牛的代码功力。在阿里面试中,MyBatis,Spring等框架的底层原理是经常会被问到的。

二、架构师筑基:

百丈高楼平地起,基础也是非常重要的,基础不牢,自然不用谈架构。

三、高性能架构

性能一直是让程序员比较头疼的问题。当系统架构变得复杂而庞大之后,性能方面就会下降,特别是阿里巴巴这样的一线互联网公司最为注重,因此想进入阿里,性能优化一定是要去深入学习与理解的一环

四、微服务架构

关于微服务架构的取舍

微服务是现在互联网架构技术中最火热的话题之一,也是我目前正在学习研究的方向。在面试过程中,面试官很少会问到关于微服务相关的问题。但作为一名开发者,一名有技术梦想的程序员微服务架构是现在必须要去了解的主流技术:

五、团队协作:

开发工具工程化

通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。程序员的战斗,往往不是一个人的战斗,我们如何在一个平台下高效的去重,进行代码review,对功能进行调整,debug,做到在统一的规划下步步为营,混乱的堆代码的过程中找到自己的记录。这一切都依赖于有效的工具。

六、B2C项目实战

项目实战

要想立足于互联网公司,且能在互联网浪潮中不被淹没,对于项目的开发实战演练是不必可少的技能,也是对自身能力的一个衡量,有多少的量对等于获得多少的回报。看似简单的一个项目需求图谱,其中的底层原理,实现原理又能知道多少?你搭建一个完整的B2C项目平台到底需要多少知识?这一切都是需要我们考量的。

以上是小编自己目前在互联网公司用到的java核心技术总结出知识体系思维导。学习是一个复杂的过程,当你拥有了学习的方向和学习的方法时,你缺的只是时间,时间是自己积累出来的,而不是我想学习时说“好像没空”这些借口。不要让今天的借口变成了明天的迷茫!

高清思维导图及相关视频资料获取方式

可以加群:810589193,点击链接加入群聊【Java架构学习交流群】:https://jq.qq.com/?_wv=1027&k=5deQUBl群公告有视频,都是干货的,你可以下载来看。主要分享分布式架构、高可扩展、高性能、高并发、性能优化、Spring boot、Redis、ActiveMQ、Nginx、Mycat、Netty、Jvm大型分布式项目实战学习架构师视频。合理利用自己每一分每一秒的时间来学习提升自己,不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代!