谈谈如何进阶Java高级工程师
从入门到瓶颈(++文末附学习脑图++)
首先,先自我介绍一下,楼主94年的,四川人,普通大专毕业。
第一阶段 实习阶段
2015年,实习阶段去浙江温州(没错,就是皮革厂的那个地方)找了份软件实施的工作实习。大概的工作内容是去给经销商进行ERP实施培训,OA系统维护等等。每天住在厂里,朝九晚五,也不用加班,不过工资低的可怜。
刚开始几个月没觉得啥,但时间一长,觉得自己不能这样一直下去,第一学不到什么东西了,第二看着公司里的开发们工资是我们的好几倍,慢慢的心里萌生了转型的想法。开始从网上(我要自学网)搜一些视频来看,也没有什么系统性的路线方法,就是搜到啥看啥。看了些oracle数据库、java se等等。看完了之后又接触到了尚xx的一个学习机构,他们有很多免费的视频可以看,还有路线规划,从那时才真正的步入正轨,开始了Java web的学习虽然,也不知道学这个能不能找到工作,企业里需要的是什么,反正就是学呗,拿起梭子就是干。
附一个从基础到精通的学习路线(最近截的图,当时没这么多):

第二阶段 入门Java【2016年】
当时把视频学的差不多了之后,抱着试一试的心态去投了下简历,没想到竟然很顺利找到了一份工作。是一个创业型公司。因为公司前端稀缺,所以基本我们java开发还要学习前端的知识,包括extjs、vue等等。
到了2017年底,差不多快2年的时间,公司里需要的技术我都已经掌握了,又学习了Spring Boot、Spring Cloud、Redis以及前端的一些框架等等。因为爷爷年纪大了,我离家也太远。年底我提出了离职。
也许在一个听不懂别人说话的城市呆着,始终找不到一份归属感;又或与因为知道不管交了多少朋友,也终会分别。当时还随了很多温州朋友份子钱,现在也没联系了。。。
第三阶段 中级阶段【2018】
回到了成都,找了一个中型的互联网公司开启了职业生涯的第二个阶段。在这个公司真正的应用了多集群的微服务架构,有了完善的工作流程。有产品、测试、前端、后端、运维。虽然技术都是之前学过的,但是了解了很多运维相关的东西。包括ELK、灰度发布、容器化等等。在这个公司的两年主要是看一些技术书籍学习,如:《java并发编程的艺术》《深入理解计算机系统》《深入理解Java虚拟机》《重构改善既有代码的设计》。第二年的时候也受到了领导的重用,不仅把公司最核心的业务交给我负责,还让我当起了面试官。不过后来公司业务发展的不好,工资开始延迟发放,人也陆陆续续的离开。而我也在公司倒闭之前选择了辞职,
第四阶段 展望高级【2020】
2020年,我如愿以偿找到了一份电商业务的公司上班。当时面试的时候发挥得还行,问题都回答上了,还聊了一些源码。感觉自己“吊打”了面试官,结果进入公司好几天发了工牌一看,咋还是中级工程师。哎,还是社会的最底层(公司没有初级)。不过当时很想了解下电商网站到底是怎么做的,包括经常听说的分布式锁,秒杀,pdp等等。这一年自己已经不知道还能学点啥了,感觉学来学去还是那些技术,而且学了就忘。因为平时工作里没有用到,甚至看过了几遍也忘了,就比如es、netty等等。或许这就是所谓的瓶颈期吧
第五阶段 反思蜕变【2021】
我总结了以往的很多学习经验,发现自己有以下的问题。
- 学习像做任务,学了就过了,没有总结,没有复习。写了笔记自己后来也没看过。
- 没有形成体系,零散的知识很难记住。
- 实操不够,学习新技术时虽然也在练习,但是还是停留在demo阶段,不够深入。
为了解决我的问题,我自己开始静下心来学习,每一个知识点争取学明白,学透彻。并且总结了一份脑图,虽然网上我也看到过很多好的脑图,但是写的密密麻麻,直接把我劝退。只有自己总结的才能更符合自己,才能看得进去。也希望有同样困扰的小伙伴可以自己学着画画图、总结一下,不要为了学习而学习。古话说得好,温故才能知新。
附上我的进阶高级工程师的脑图:
https://www.processon.com/view/link/611207b20791294bc848c675


里面大部分知识点都有对应的文章,可以方便复习,巩固。
第六阶段 待续
希望自己可以继续努力,下一个目标,大厂。
谈谈如何进阶Java高级工程师的更多相关文章
- java高级工程师(二)
一.Java底层基础题 1.SpringMVC的原理以及返回数据如何渲染到jsp/html上? 答:Spring MVC的核心就是 DispatcherServlet , 一个请求经过 Dispatc ...
- 面试总结——Java高级工程师(二)
一.Java底层基础题 1.SpringMVC的原理以及返回数据如何渲染到jsp/html上? 答:Spring MVC的核心就是 DispatcherServlet , 一个请求经过 Dispatc ...
- java高级工程师必备知识
成为Java高级工程师需要掌握哪些核心点? 每 逢长假都会有很多程序员跳槽,十一.过年是跳槽黄金时刻,尤其是过年.过年的时候年终奖到手,没有了多少牵挂,年终同学同事聚会比较多,沟通的就多,各种 工作机 ...
- 谈谈我对Java中CallBack的理解
谈谈我对Java中CallBack的理解 http://www.cnblogs.com/codingmyworld/archive/2011/07/22/2113514.html CallBack是回 ...
- 想成为Java高级工程师的看过来
想成为Java高级工程师,有哪些要求呢? 1.Core Java,就是Java基础.JDK的类库,很多童鞋都会说,JDK我懂,但是懂还不足够,知其然还要知其所以然,JDK的源代码写的非常好,要经常查看 ...
- 我来谈谈PHP和JAVA的区别
这里的标题写的是谈谈PHP和JAVA的区别,其实是委婉的说法,其实别人是想听PHP好还是JAVA好!!! 从而从中找到存在感!!! 因为由于我是从多年的php开发转到java开发的.所以最,不时的有好 ...
- 谈谈你对 Java 平台的理解
声明 本篇所涉及的提问,正文的知识点,全都来自于杨晓峰的<Java核心技术36讲>,当然,我并不会全文照搬过来,毕竟这是付费的课程,应该会涉及到侵权之类的问题. 所以,本篇正文中的知识点, ...
- 我来谈谈PHP和JAVA在web开发上的的区别
这里的标题写的是谈谈PHP和JAVA的区别,其实是委婉的说法,其实别人是想听PHP好还是JAVA好!!! 从而从中找到存在感!!! 因为由于我是从多年的php开发转到java开发的.所以最,不时的有好 ...
- java高级工程师开放面试题集<二>
临近年关,不少人蠢蠢欲动,有童鞋问我java后端面试会面试什么? 作为一个java后端老鸟,跌打滚爬多次被面试和面试别人,总结了一些经验,希望对大家有所帮助. 特别说明,仅仅针对工作两年以上的java ...
随机推荐
- .NET 6 预览版 7:新功能已完成 ,将专注于改进
.NET 团队的项目经理 Richard Lander在宣布 .NET 6 Preview 7 时说:"这是 .NET 预览的又一季的结束.", 中文翻译:.NET 6 预览版 7 ...
- Linux中的账号权限管理
一.用户账号和组账号概述 Linux基于用户身份对资源访问进行控制 1.1.用户账号 超级用户:root 用户是 Linux 操作系统中默认的超级用户账号,对本主机拥有最高的权限.系统中超级用户是唯一 ...
- Internet的接入与IP地址 概述
文章目录 一.计算机接入Internet 1.公用交换电话网(PSTN)接入 2.有线电视(CATV)接入 3.局域网接入 4.无线接入 二.IP地址 1.IP地址的格式 2.IP地址分类 3.子网掩 ...
- 第11篇-认识Stub与StubQueue
在 第10篇-初始化模板表 我们介绍过TemplateInterpreter::initialize()函数,在这个函数中会调用TemplateTable::initialize()函数初始化模板表, ...
- redis的五大数据类型实现原理
1.对象的类型与编码 Redis使用前面说的五大数据类型来表示键和值,每次在Redis数据库中创建一个键值对时,至少会创建两个对象,一个是键对象,一个是值对象,而Redis中的每个对象都是由 redi ...
- FirstGradle
一.导入依赖 二.build.gradle 整合SpringBoot plugins { id 'java' } group 'com.qiang' version '1.0.0-SNAPSHOT' ...
- Docker运行PostgreSQL
docker-compose.yml version: '3.1' services: db: image: postgres restart: always ports: - 5432:5432 e ...
- zabbix监控rabbitmq队列消费状态
使用rabbitmqctl 管理 mq -n 指定节点 [root@logging-master zabbix]# rabbitmqctl -n rabbit@localhost list_queue ...
- Walkthrough: Create and use your own Dynamic Link Library (C++)
参考网站:https://docs.microsoft.com/en-us/cpp/build/walkthrough-creating-and-using-a-dynamic-link-librar ...
- p命名空间和c命名空间
4 p命名空间和c命名空间在通过构造方法或set方法给bean注入关联项时通常是通过constructor-arg元素和property元素来定义的.在有了p命名空间和c命名空间时我们可以简单的把它们 ...