开发1-5年的Java程序员,该学习哪些知识实现涨薪30K?

1233 篇文章 11 订阅
978 篇文章 11 订阅

工作已经8年有余,这8年里特别感谢技术管理人员的器重,以及同事的帮忙,学到了不少东西。这8年里走过一些弯路,也碰到一些难题,也受到过做为一名开发却经常为系统维护和发布当救火队员的苦恼。遂决定梳理一下自己所学的东西,为大家分享一下。

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

  • 你工作几年了,你愿意一直和新入行的新手一样就是个简单的程序员吗?
  • 你愿意一直写代码,而不关心其他吗?
  • 一个项目的前期需求,设计,后期部署维护,领导找到你,你说咱搞不定,行吗?

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

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

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

什么是高级程序员?

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

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

空闲时一定记得要多学习,任何行业从业者都需要不断学习,只有更高效率的工作,才能创造更高的价值。特别是对于程序员来说,一不小心就有可能更不上时代的步伐
,天天互联网寒冬,其实哪有什么寒冬,只是懒惰者的托词而已! 不主动学习,等待你的,只有被淘汰!

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


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

那么我们开发1-5年的Java程序员, 应该学习哪些知识实现跳槽涨薪?

一、Java筑基(基础)

1.Tomcat

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调优

总结:

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

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

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

  1. 对知识点不会筛选,盲目买书看视频,资料堆积如山,什么都不管先学了再说;
  2. 指望把一本书啃透、一套视频看完,多敲敲写一些就能搞定;
  3. 什么都学,感觉什么都会,但是在做项目的时候一头雾水;
  4. 听别人说哪个好就学哪个,盲目跟风;
  5. 各种乱七八糟的东西都用,只要实现效果其他的都可以忽略,停留在"搬运"阶段;
  6. 从来没有意识到做项目的规范和标准以及注意事项;

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

在这边,小编在分享一个互联网P8架构师技术图谱,小伙伴们可以根据图谱上的知识点,对照自己的技术进行查漏补缺

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
作为一名1-2Java程序员,你该掌握以下技术和深度,并按照以下学习路线进行学习和沉淀: 1. Java核心知识:熟悉Java的基本语法、面向对象编程、异常处理、集合框架等基础知识。深入理解Java内存模型、多线程编程、IO操作等高级特性。 学习路线:可以通过阅读经典的Java编程书籍,如《Java核心技术卷一》、《深入理解Java虚拟机》等,同时进行实践项目来巩固所学知识。 2. 数据库技术:了解常见的关系型数据库(如MySQL、Oracle)和非关系型数据库(如MongoDB、Redis)的基本概念和使用方法。熟悉SQL语言和数据库设计原则。 学习路线:可以通过学习SQL语言和数据库原理,同时进行一些简单的数据库操作实践。阅读相关的数据库技术书籍,如《MySQL必知必会》等。 3. Web开发技术:掌握常用的Web开发框架,如Spring、Spring MVC、Spring Boot等。了解前端技术,如HTML、CSS、JavaScript等。 学习路线:可以通过学习Spring框架和相关教程,实践开发Web应用。同时了解前端技术,可以学习一些基本的前端知识和框架,如Vue.js、React等。 4. 版本控制工具:掌握常用的版本控制工具,如Git。了解分支管理、团队协作等相关技术。 学习路线:可以通过学习Git的基本命令和操作,同时参与实际项目的版本控制,与团队成员协作开发。 5. 软件工程实践:了解软件开发的基本流程和常用的开发方法论,如敏捷开发、测试驱动开发等。 学习路线:可以通过阅读相关的软件工程书籍,如《敏捷软件开发:原则、模式与实践》等,同时在实际项目中应用这些方法论。 除了以上技术和路线,还要注重实践和项目经验的积累。多参与一些小型项目或开源项目,通过实践不断提升自己的编程能力和解决问题的能力。此外,也要注重学习和关注行业的最新动态和技术趋势,保持持续学习的态度。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值