一程序员老哥跟我讲,最近看电视剧看得扎心。电视剧是《都挺好》,扎心的桥段是大龄程序员被辞退后的窘境。

剧中程序员苏明哲的人设可谓非常华丽:清华之后留学斯坦福,毕业后在旧金山湾区做程序员,已经拿到美国绿卡,娇妻、女儿、别墅一应俱全。

但就是这么一个华丽丽的程序员被辞退后,在美国竟找不到工作。

迫于生活压力,他的妻子劝他改行做体力活,当然被严词拒绝。居然萌生出做“家庭妇男”“吃软饭”的想法。

后来,在饭店偶遇前同事,而对方竟然已经在中餐厅开始了传菜生的崭新职业生涯……

程序员老哥看完不仅老泪纵横。原来听人说,只有中国会辞退 30 岁以上的程序员,真的是这样的吗?

国外的公司都是如何对待大龄程序员的?

其实「处理大龄程序员」这种现象能够在国内出现,一方面是因为人口红利还没结束,尚有大批新鲜血液涌入业界,所以雇主可以坐拥买方市场来挑选鲜肉;另一方面则是因为社会主义还没实现,法制也虚弱,资本家过河拆桥不用付出太高的成本。

说说我在德国的观感吧,当然不能代表「国外」的普遍情况,仅供参考。德国从一九八〇年代开始老龄化,如今是个人口年龄结构糟糕程度仅次于日本的超老龄国家,五分之一的德国人超过六十五岁,而退休年龄是六十七岁。在这样的社会里,别说受过教育的职业人才了,连底层劳动力都一直供不应求,程序员这种门槛低但要求技术熟练的工种更是如此,否则蓝卡也不会特别为程序员降低标准[0]。我从业七年多以来跳过三次槽,基本每一次都是在 Monster 上更新一下简历立刻会被猎头骚扰一星期,最近一次面试的时候老板也坦言「程序员非常难招」。在这种状况之下,三四十岁的程序员是大部分公司的骨干,即便有条件挑三拣四的国际大公司也很难富集年轻人。

即便不考虑社会老龄化,赤裸裸地以年龄为由辞退员工在一个劳动法健全的国家也相当不可思议。德国劳动法对雇员的保护非常详尽,公司如果有工会的话更是不可能让这种事情发生。当然欧洲比较左,但即便在奉行新自由主义且目前还没有老龄化困扰的美国,敢这样明目张胆搞年龄歧视的雇主也绝无仅有,如果被抓到把柄,被辞退者的赔偿金应该足够他后半生财务自由了。

所以至少在德国,大龄程序员不会需要担心仅仅因为年事已高而被年轻人代替。年轻人精力旺盛能加班这一点谈不上什么优势,因为公司不让你加班——七年来我大概加过三天班。愿意安心做技术的话,完全可以做到六十七岁再回家养老,当然大部分人会选择提前退休,毕竟程序员养老保险交得多,加上自己能稍微投资经营一下的话,多数人不会太差。我接触到四五十岁的德国程序员的出路包括:

  • 转管理

  • 成为公司核心技术骨干

  • 加入外包公司,每隔几个月或几年空降到新的短期职位

  • 跳去业界的技术咨询公司,埃森哲、凯捷之类

  • 成为自谋职业者直接与客户打交道,比较辛苦但少了一层剥削

  • 跳去薪水更高的欧洲国家,比如瑞士

  • 创业

补充一句:「单纯因为大龄被劝退」和「由于经济危机或公司经营不善而成为解雇的对象」性质不一样。当然后者也会涉及到年龄歧视,但至少是可以理解的。

以上内容转自知乎,那么在国内的话怎么办呢?

作为一位程序员如何在中年危机之前成长起来

工作已经8年有余,这8年里特别感谢技术管理人员的器重,以及同事的帮忙,学到了不少东西。这8年里走过一些弯路,也碰到一些难题,也受到过做为一名开发却经常为系统维护和发布当救火队员的苦恼。遂决定梳理一下自己所学的东西,可以帮助大家减少三十五岁之后的焦虑,毕竟好的架构师并不多。其实「处理大龄程序员」这种现象能够在国内出现,一方面是因为人口红利还没结束,尚有大批新鲜血液涌入业界,所以雇主可以坐拥买方市场来挑选鲜肉;另一方面则是因为社会主义还没实现,法制也虚弱,资本家过河拆桥不用付出太高的成本。

说说我在德国的观感吧,当然不能代表「国外」的普遍情况,仅供参考。德国从一九八〇年代开始老龄化,如今是个人口年龄结构糟糕程度仅次于日本的超老龄国家,五分之一的德国人超过六十五岁,而退休年龄是六十七岁。在这样的社会里,别说受过教育的职业人才了,连底层劳动力都一直供不应求,程序员这种门槛低但要求技术熟练的工种更是如此,否则蓝卡也不会特别为程序员降低标准[0]。我从业七年多以来跳过三次槽,基本每一次都是在 Monster 上更新一下简历立刻会被猎头骚扰一星期,最近一次面试的时候老板也坦言「程序员非常难招」。在这种状况之下,三四十岁的程序员是大部分公司的骨干,即便有条件挑三拣四的国际大公司也很难富集年轻人。

即便不考虑社会老龄化,赤裸裸地以年龄为由辞退员工在一个劳动法健全的国家也相当不可思议。德国劳动法对雇员的保护非常详尽,公司如果有工会的话更是不可能让这种事情发生。当然欧洲比较左,但即便在奉行新自由主义且目前还没有老龄化困扰的美国,敢这样明目张胆搞年龄歧视的雇主也绝无仅有,如果被抓到把柄,被辞退者的赔偿金应该足够他后半生财务自由了。

所以至少在德国,大龄程序员不会需要担心仅仅因为年事已高而被年轻人代替。年轻人精力旺盛能加班这一点谈不上什么优势,因为公司不让你加班——七年来我大概加过三天班。愿意安心做技术的话,完全可以做到六十七岁再回家养老,当然大部分人会选择提前退休,毕竟程序员养老保险交得多,加上自己能稍微投资经营一下的话,多数人不会太差。我接触到四五十岁的德国程序员的出路包括:

  • 转管理

  • 成为公司核心技术骨干

  • 加入外包公司,每隔几个月或几年空降到新的短期职位

  • 跳去业界的技术咨询公司,埃森哲、凯捷之类

  • 成为自谋职业者直接与客户打交道,比较辛苦但少了一层剥削

  • 跳去薪水更高的欧洲国家,比如瑞士

  • 创业

补充一句:「单纯因为大龄被劝退」和「由于经济危机或公司经营不善而成为解雇的对象」性质不一样。当然后者也会涉及到年龄歧视,但至少是可以理解的。

以上内容转自知乎,那么在国内的话怎么办呢?

作为一位程序员如何在中年危机之前成长起来

工作已经8年有余,这8年里特别感谢技术管理人员的器重,以及同事的帮忙,学到了不少东西。这8年里走过一些弯路,也碰到一些难题,也受到过做为一名开发却经常为系统维护和发布当救火队员的苦恼。遂决定梳理一下自己所学的东西,可以帮助大家减少三十五岁之后的焦虑,毕竟好的架构师并不多。

  对于开发1-5年的程序员,先简单点,问自己几个问题:

  • 你工作几年了,你愿意一直和新入行的新手一样就是个简单的程序员吗?

  • 你愿意一直写代码,而不关心其他吗?

  • 一个项目的前期需求,设计,后期部署维护,领导找到你,你说咱搞不定,行吗?

 程序员不是敲代码的机器。第一年太多东西不懂,你可以一切听从老大的安排,敲敲代码,看看数据库,测试自己和别人的代码;

 但是第二年,你还希望这样吗?不可能的,一年的经验你完全可以入行了,是时候该学习怎么进行需求分析,怎么设计数据库,怎么写各类文档,怎么写更好的代码?这是高级程序员的要求!

 

高级程序员的标配是什么? 月入30K!

 什么是高级程序员?

具有分析设计能力,能进行技术攻关,而且具有某行业深厚背景的程序员!

一个项目立项后,你要积极的参与到前期设计中,跟老同志们一道思考分析问题,学习经验!OK,你这就成长啦!

空闲时一定记得要多学习,任何行业从业者都需要不断学习,只有更高效率的工作,才能创造更高的价值。特别是对于程序员来说,一不小心就有可能更不上时代的步伐

,天天互联网寒冬,其实哪有什么寒冬,只是懒惰者的托词而已! 不主动学习,等待你的,只有被淘汰!

30K对应的层级分别是什么?

一位程序员能在五年的时间内薪资达到30k左右才算达到一个平均水平吧!那么达到30K的薪资也就是防止中年危机的第一步;进入一线大厂也是达到月薪30K最轻松的一条路,同时大厂完善的成长体系与系统的学习培训能使程序员得到最快的提升;

 

30K的月薪在BAT等一线大厂实在太普遍了,一般是高级工程师和资深工程师的职位,在阿里是p6~p7左右,在百度是t5左右,腾讯是t2-3左右,在京东是t3-1,美团是p6左右,其他的我不了解。

 

 那么我们Java程序员, 应该学习哪些知识成长自己,该如何成长自己?让自己进入一线大厂?

0-1年入门:

  • Java基础复盘(面向对象+Java的超类+Java的反射机制+异常处理+集合+泛型+基础IO操作+多线程+网络编程+JDK新特性)

  • Web编程初探(Servlet+MySQL数据库+商品管理系统实战)

  • SSM从入门到精通(Spring+SpringMVC+Mybatis+商品管理系统实战-SSM版)

  • SpringBoot快速上手(SpringBoot+基于SpringBoot的商品管理系统实战)

  • 零距离互联网项目实战(Linux+Redis+双十一秒杀实战系统)

1-3年高工:

  • 并发编程进阶(并发工具类实战+CAS+显示锁解析+线程池内部机制+性能优化)

  • JVM深度剖析(理解运行时数据区+堆外内存解读+JDK+内存泄漏问题排查+Arthas+GC算法和垃圾回收器+类加载机制等)

  • MySQL深度进阶

  • 深入Tomcat底层(线程模型+性能调优)

3-5年资深:

  • 数据库(调优+事务+锁+集群+主从+缓存等)

  • Linux(命令+生产环境+日志等)

  • 中间件&分布式(dubbo+MQ/kafka、ElasticSearch、SpringCloud等组件)

5-7年架构:

  • 开源框架(Spring5源码+SpringMVC源码+Mybatis源码)

  • 分布式架构(Zk实战+RabbitMQ+RocketMQ+Kafka)

  • 高效存储(Redis+mongoDB+MySQL高可用+Mycat+Sharing-Sphere)

  • 微服务架构(RPC+SpringBoot+SpringCloud Netflix+SpringCloud Alibaba+docker+k8s)

一、Java筑基(基础)

1.Tomcat

 想要领取这一整套进阶笔记的朋友可以点赞此文后关注公众号【Java斗帝】免费获取

2.Mysql

  • MySQL体系结构和存储引擎

  • InnoDB存储引擎

  • 索引与算法

  • 事务

  • 性能调优

  3.设计模式

  • 24种设计模式与6大设计原则

 4.并发编程

  • Java线程

  • 线程池

  • 生命周期

  • 阻塞队列

  • CAS

  • AQS

  5.JVM

  • 线程

  • JVM内存区域

  • JVM运行时内存

  • 垃圾回收与算法

  • GC

  • IO/NIO

  • 类加载机制

  6.Netty

  • Netty原理

  • Netty高性能

  • NettyRPC实现

  • RMI实现方式

  • Protoclol Buffer

  • Thrift

 二、开源框架(SSM框架)

1.Spring

  • Spring特点、核心组件、常用模块、主要包、常用注解、第三方结合

  • Spring IOC、AOP

 2.Spring MVC

  3.Mybatis

  三、微服务架构

1.Dubbo

  • 基于XML配置实现

  • Dubbo注册中心

  • Dubbo扩展点加载机制

  • Dubbo启停原理解析

  • Dubbo远程调用

  • Dubbo集群容错

  • Dubbo扩展点

  • Dubbo高级特性

  • Dubbo过滤器

  • Dubbo注册中心扩展实践

  • Dubbo服务治理平台

  • Dubbo未来生态

 2.SpringBoot

  • Spring Boot入门

  • 配置文件

  • 日志

  • Web开发

  • Docker

  • SpringBoot与数据访问

  • 启动配置原理

  • 自定义starter

 3.SpringCloud

 四、分布式

1.分布式限流(Nignx+Zookeeper)

 2.分布式缓存(Redis+MongoDB+Memcached)

  3.分布式通讯(RabbitMQ+RocketMQ+Kafka)

  五、性能优化

1.Java性能调优

  2.Mysql调优

 3.JVM调优

 4.Tomcat调优

 上述这一套进阶笔记由于篇幅原因无法全部展示;需要的朋友可以点赞此文后关注公众号【Java斗帝】免费获取

总结:

 我认为,只有弱者才会说'程序员30之后工作不好找"、"程序员30岁之后就要送外卖了”

这个时代,技术技术日新月异是不假,但是说“程序员到了一定年龄在创造力和学习能力上都难以跟上年轻的一代"这真的是扯淡。

现阶段很多人被表象迷惑,感觉Java开发人员并不好找工作。一部分人就误以为市场饱和了,却没考虑到是自身能力不足,而且他们在学习的过程中往往是这样的:

  1. 对知识点不会筛选,盲目买书看视频,资料堆积如山,什么都不管先学了再说;

  2. 指望把一本书啃透、一套视频看完,多敲敲写一些就能搞定;

  3. 什么都学,感觉什么都会,但是在做项目的时候一头雾水;

  4. 听别人说哪个好就学哪个,盲目跟风;

  5. 各种乱七八糟的东西都用,只要实现效果其他的都可以忽略,停留在"搬运"阶段;

  6. 从来没有意识到做项目的规范和标准以及注意事项;

可想而知,这样学习下来的技能达不到企业要求水平,自然而然找不到工作。

所以啊,不要考虑什么中年危机了,你如果是个人(fei)才(wu),别说中年危机了,你连青年危机都过不去,不要温水煮青蛙;

好啦!