从入门到瓶颈(++文末附学习脑图++)

首先,先自我介绍一下,楼主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】

我总结了以往的很多学习经验,发现自己有以下的问题。

  1. 学习像做任务,学了就过了,没有总结,没有复习。写了笔记自己后来也没看过。
  2. 没有形成体系,零散的知识很难记住。
  3. 实操不够,学习新技术时虽然也在练习,但是还是停留在demo阶段,不够深入。

为了解决我的问题,我自己开始静下心来学习,每一个知识点争取学明白,学透彻。并且总结了一份脑图,虽然网上我也看到过很多好的脑图,但是写的密密麻麻,直接把我劝退。只有自己总结的才能更符合自己,才能看得进去。也希望有同样困扰的小伙伴可以自己学着画画图、总结一下,不要为了学习而学习。古话说得好,温故才能知新。

附上我的进阶高级工程师的脑图:

https://www.processon.com/view/link/611207b20791294bc848c675



里面大部分知识点都有对应的文章,可以方便复习,巩固。

第六阶段 待续

希望自己可以继续努力,下一个目标,大厂。

谈谈如何进阶Java高级工程师的更多相关文章

  1. java高级工程师(二)

    一.Java底层基础题 1.SpringMVC的原理以及返回数据如何渲染到jsp/html上? 答:Spring MVC的核心就是 DispatcherServlet , 一个请求经过 Dispatc ...

  2. 面试总结——Java高级工程师(二)

    一.Java底层基础题 1.SpringMVC的原理以及返回数据如何渲染到jsp/html上? 答:Spring MVC的核心就是 DispatcherServlet , 一个请求经过 Dispatc ...

  3. java高级工程师必备知识

    成为Java高级工程师需要掌握哪些核心点? 每 逢长假都会有很多程序员跳槽,十一.过年是跳槽黄金时刻,尤其是过年.过年的时候年终奖到手,没有了多少牵挂,年终同学同事聚会比较多,沟通的就多,各种 工作机 ...

  4. 谈谈我对Java中CallBack的理解

    谈谈我对Java中CallBack的理解 http://www.cnblogs.com/codingmyworld/archive/2011/07/22/2113514.html CallBack是回 ...

  5. 想成为Java高级工程师的看过来

    想成为Java高级工程师,有哪些要求呢? 1.Core Java,就是Java基础.JDK的类库,很多童鞋都会说,JDK我懂,但是懂还不足够,知其然还要知其所以然,JDK的源代码写的非常好,要经常查看 ...

  6. 我来谈谈PHP和JAVA的区别

    这里的标题写的是谈谈PHP和JAVA的区别,其实是委婉的说法,其实别人是想听PHP好还是JAVA好!!! 从而从中找到存在感!!! 因为由于我是从多年的php开发转到java开发的.所以最,不时的有好 ...

  7. 谈谈你对 Java 平台的理解

    声明 本篇所涉及的提问,正文的知识点,全都来自于杨晓峰的<Java核心技术36讲>,当然,我并不会全文照搬过来,毕竟这是付费的课程,应该会涉及到侵权之类的问题. 所以,本篇正文中的知识点, ...

  8. 我来谈谈PHP和JAVA在web开发上的的区别

    这里的标题写的是谈谈PHP和JAVA的区别,其实是委婉的说法,其实别人是想听PHP好还是JAVA好!!! 从而从中找到存在感!!! 因为由于我是从多年的php开发转到java开发的.所以最,不时的有好 ...

  9. java高级工程师开放面试题集<二>

    临近年关,不少人蠢蠢欲动,有童鞋问我java后端面试会面试什么? 作为一个java后端老鸟,跌打滚爬多次被面试和面试别人,总结了一些经验,希望对大家有所帮助. 特别说明,仅仅针对工作两年以上的java ...

随机推荐

  1. springboot集成swagger的pom依赖

    pom依赖加入以下内容 //版本一致做个属性 <properties> <swagger.version>2.6.1</swagger.version> </ ...

  2. 浅谈C#取消令牌CancellationTokenSource

    前言 相信大家在使用C#进行开发的时候,特别是使用异步的场景,多多少少会接触到CancellationTokenSource.看名字就知道它和取消异步任务相关的,而且一看便知大名鼎鼎的Cancella ...

  3. 服务器put请求获取不到参数

    问题 put请求参数映射成实体类 而参数似乎接受不到,服务器识别为null 解决 在参数前边加上RequestBody @RequestBody主要用来接收前端传递给后端的json字符串中的数据的(请 ...

  4. Java HashSet和TreeSet【笔记】

    Java HashSet和TreeSet[笔记] PS:HashSet.TreeSet 两个类是在 Map 的基础上组装起来的类 HashSet 类注释 1.底层实现基于 HashMap,所以迭代时不 ...

  5. DVWA(九):File Upload 全等级文件上传

    File Upload 文件上传,通常是由于对上传文件的类型没有进行严格的过滤.限制造成的,一般思路是 通过上传木马获取服务器的webshell(通过网络端口对网站服务器某种程度上的操作权限 也叫网站 ...

  6. Java - Enum 枚举类型

    目录 前言 应用 定义 基本Enum特性 Enum的静态导入 Enum中添加新方法 Switch语句中的Enum Enum的继承 EnumSet的使用 EnumMap的使用 常量相关方法 枚举值向枚举 ...

  7. 单例模式-案例Runtime

    package d.create_type_single; import java.io.IOException; /** * Runtime类就是使用的单例:并且是饿汉式 * (原因考虑是因为:多线 ...

  8. 高德渲染网关Go语言重构实践

    ​1.导读 高德启动Go业务建设已经有段时间了,主要包含Go应用落地,Go中间件建设,云原生三个部分.经过持续的发力,在这些方面取得了不错的进展.高德Go业务落地过程是如何实现的,遇到过哪些问题,如何 ...

  9. 恶意软件开发——shellcode执行的几种常见方式

    一.什么是shellcode? shellcode是一小段代码,用于利用软件漏洞作为有效载荷.它之所以被称为"shellcode",是因为它通常启动一个命令shell,攻击者可以从 ...

  10. 剑指offer 计划1(栈与队列)---java

    1.1.题目1 剑指 Offer 09. 用两个栈实现队列 1.2.解法 解法如题目所说.定义两个栈.这里假设第一个栈为a,第二个栈为b. 实现两个函数增加尾和删除头. 增加即直接push入第一个栈. ...