有人调侃我们说:
-
程序员不如送外卖。送外卖是搬运食物,自己是搬运代码,都不产出新的东西……
-
透支体力,又消耗健康,可替代性极强,30 岁之后就要面临被优化的危险……
-
想跳槽,但是更高的平台难进,同级别的平台又是重复……
-
想利用业余时间学习提升,但是自己能力有限,很难形成知识体系…
这些其实都是初级程序员面临的困境,当你提高自身能力,登上更高的层级之后,无论薪资还是发展都会有很大的提升。
那么问题来了,怎么才能度过初级程序员的瓶颈,进阶成为高薪工程师呢?
年终将至,也该给自己一个交代了。去年受疫情影响就居家线上办公,陪陪老婆孩子,处理一下公司的一些小事情,还是非常轻松。那时候就跟大家立了一个小 flag——整理一下我从实习生到阿里 P8 的这 9 年所用过的知识点和个人理解,也算是自己对行业的一点交代与小贡献。
可惜的是我的时间又一次不够用了,当回到公司后一直忙于工作与家庭之间,更新的速度如蜗牛一般,尤其很多知识我也是需要经过严格的查证才敢整理出来(细节最要命);
现在我终于可以给大家说完工了!
这份笔记主要是将 Java 程序员按照年限来进行分层,清晰的标注着 Java 程序员应该按照怎样的路线来提升自己,需要去学习哪些技术点。
Java 成长笔记大致内容如下:
0-1 年入门:
-
Java 基础复盘(面向对象+JDK+集合+泛型+IO 操作+异常分类及处理+反射+注解+内部类+泛型+序列化)
-
Web 编程初探(Servlet+MySQL 数据库+商品管理系统实战)
-
SSM 从入门到精通(Spring+SpringMVC+Mybatis+项目实战)
-
SpringBoot 快速上手
-
零距离互联网项目实战(商城项目练手)
1-3 年深入:
-
并发编程进阶(锁+CAS+线程池+volatile 关键字+调度算法+synchronized)
-
JVM 深度剖析(数据区+堆外内存解读+JDK+内存泄漏问题排查+Arthas+GC 算法和垃圾回收器+类加载机制+指针算法+TPS 系统等)
-
MySQL 深度进阶(事务隔离级别+分库分表+优化流程+索引+MVCC+处理流程)
-
深入 Tomcat 底层
3-5 年进阶:
-
数据库
-
底层源码
-
Linux(命令+生产环境+日志等)
-
中间件 &分布式(dubbo+MQ/kafka、ElasticSearch 等组件)
5-7 年架构:
-
开源框架
-
分布式架构(Zk 实战+RabbitMQ+RocketMQ+Kafka)
-
高效存储(Redis+mongoDB+MySQL 高可用+Mycat+Sharing-Sphere)
-
微服务架构(RPC+SpringBoot+SpringCloud Netflix+SpringCloud Alibaba+docker+k8s)
-
设计模式+DDD(为什么这个阶段还要学设计模式?)
10 年以上送外卖:开个小玩笑
0-1 年入门:
目录一览:
配套文档解析:
1-3 年深入:
目录一览:
配套文档解析:
3-5 年进阶:
目录一览:
配套文档解析:
源码还是建议去看视频:
5-7 年架构:
目录一览:
配套视频解析:
写在最后
程序员行业薪资确实非常的高,但淘汰率也与之成正比,千万不要温水煮青蛙,自己不努力而抱怨行业;行业要发展,社会要发展,都在进步中,大车轮是没人可以阻止的;技术人员用技术说话,高薪且不被淘汰的程序员都是来源于机遇(公司)、个人努力(吃得苦、肯钻研)、天分(真的热爱)的三者协作的结果;
需要文章中配套资料的朋友可以+文末wx名片获取