资深技术官聊聊Java程序员三年这个“梗”,该如何突破自身瓶颈?

前言

(一名开发三年Java程序员小伙伴的自白)

今年十月份离职了,是的,裸辞。工作三年没正经总结一下,我觉得三年一个砍是有必要做个总结。

刚毕业时的状态,我毕业的学校不是很好,虽说是本科,但是非211,非985,并且学校是艺术类院校,工科不是重点学科。其实做开发对学校学历要求没有那么严格,只要专业能力够就可以,但是不可否认的是,学校不同学生的专业水平平均来讲确实是有差距的,听说浙大毕业直接出任公司高层的,没听过我们学校有此类人才,当然也有其他专业类人才,这里没有贬低母校之意。

实习的时候,web项目,纯serverlet,打包放到tomcat中运行,完全不懂,我入职时候的岗上导师帮我部署好环境(这里还是要感谢公司的岗上导师制的,也感谢我的导师的,虽然所教有限 哈哈哈),运行起来,自己修改了一个jsp页面,修改了个功能,感觉好厉害(证明自己菜的例子我少写一点,毕竟不是什么光彩的事情)。参加例会的时候,听见同事说什么道口贷,备付金一些金融名词,完全听不懂的那种,现在想想那时候是真的菜。

工作两年的成长与原地踏步。

刚进入工作的时候,觉得自己进步很快,原先只会写个main函数的人,可以独立搭建网站了。还了解了原来代码是这么管理的?迫不及待的想要学习新东西,参与新项目,跟领导申请也确实如愿以偿。参加完新项目,感觉自己对业务,对产品还是不了解,又申请去现场支持。确实收获了很多。

一年之后,就停滞不前了。和我一起进公司的同事,有升职、有加薪、有换部门。而我还是老样子。我陷入了迷茫,我觉得自己很努力,但是绩效考评领导总是说还差一点,还需要多承担一点。部门的产品不少,但是用的技术都还比较老,但是其实我有一个误区,认为技术都是需要在工作中学习锻炼的,但是其实学习和工作可以结合但是也不矛盾,不应该怪技术老,而应该在此段时间,夯实自己的基础,并且自己去找其他途径接触新技术。后面面试会发现,很多大厂都是很重视java基础这一块的,jdk的源码都是很重要且有效的学习资源,而且经验固然重要,但是如果有了解学习了相关技术,就算没有经验也是可行的。这一点当时没有意识到,一心只想做新技术,不过后来意识到了也不晚。但是这两年的时候确实是浪费了很多实践。

第三年觉得需要踏出舒适区,做一下职业规划

第三年的时候,新部门刚刚成立业务开发需要人手,我们部门当前又比较空闲(其实也不空,只是想比较而言),我就自荐去了新部门。这个决定是很有利于我后面自身的一个发展的。工作确实比较苦逼(相对于我其他同事我可能已经很轻松了),但是我觉得人生有时候是需要苦逼一点的,至少对于我来说是这样的,我是那种需要被逼一逼的那种人,倒不是说逼得在工作中学到了多少(当然是也学到了不少东西),主要是我确实是那种在艰苦环境能激发斗志的那种人。

还是裸辞了,迷茫中…

工作了三年半最终还是决定裸辞。大半年来一直在学习底层的知识,但是成效不明显,我一度怀疑要不就去改行吧,单单学习jvm内存的划分,我都觉得傻傻分不清,再加上工作状态也有点停滞不前(原因有很多,可能是因为刚调了部门,也因为自己学艺不精),我想我辞职了虽说对暂时的收入、社保、公积金有影响,但对我的人生、我长远的职业生涯来看,并无大碍(这里我确实过于冲动,每个人的情况不一样,裸辞还是需要慎重考虑的),我觉得我挺大一个人,总不至于饿死吧,就辞了。提辞职,领导、hr都还是挺好的,我知道可能他们有出于他们的考量,他们也是希望我找到下家再选择辞职。但是我觉得我总不能人生困死在找不到下家这件事上吧,挺大一个人,也不至于饿死,我确实有尝试过面试找下家,但是也确实没找到。最后还是辞了。也想象过自己可能两三个月会找不到工作,在家呆了一个多月,还好提前给我妈打好了招呼,让她别催我,不然我可能会被催死。

待业反而更加看清自己的方向了

在家一直在学习,突然之前一直迷茫的知识点,来回看了两三遍感觉也没有那么复杂了,当然复杂程度跟学习的深度是成正比的,但我觉得之前面试中,直接掉地上的问题,至少能跟面试官打上两个回合了,是的,我觉得我能接球了(虽然还是很菜)。于是我就着手投简历面试了,这也是不容易的。我的工作经验不是很突出,与互联网不是很搭嘎,因此面试的机会不是很多。但是还是那句话,工作经验固然很重要,但是能力更重要,通常情况下经验是能力的代言人,毕竟有了金刚钻才能揽瓷器活嘛。但是我经验确实已经这样了,我也不想过于浮夸自己的经历(其实一年里用到的技术不少,深究的技术却不多),我只能补理论知识了,把经历做一个深化。学习了一段时间,也有了一些面试机会,感觉自己面试过程也还可以,我突然觉得,诶? 我可能还是可以做程序员的。并且目标希望能达到一个互联网架构师的技术级别,路漫漫其修远兮。我会加油的。

我知道我用三年迷茫经验纠结换来的进步,有些同学在毕业时就已经比我强了,em~那么请忽略我的废话,哈哈哈哈

职业学习方向(思维导图)

资深技术官聊聊Java程序员三年这个“梗”,该如何突破自身瓶颈?_第1张图片

一:常见模式与工具

学习Java技术体系,设计模式,流行的框架与组件

——常见的设计模式,编码必备,Spring5,做应用必不可少的最新框架,MyBatis,玩数据库必不可少的组件…

资深技术官聊聊Java程序员三年这个“梗”,该如何突破自身瓶颈?_第2张图片

二:工程化与工具

工欲善其事必先利其器,不管是小白,还是资深开发,玩Java技术体系,选择好的工具,提升开发效率和团队协作效率,是必不可少的:

Maven,项目管理

Jenkins,持续集成

Sonar,代码质量管理

Git,版本管理

资深技术官聊聊Java程序员三年这个“梗”,该如何突破自身瓶颈?_第3张图片

三:分布式架构

高并发,高可用,海量数据,没有分布式的架构知识肯定是玩不转的:

分布式架构原理

分布式架构策略

分布式中间件

分布式架构实战

资深技术官聊聊Java程序员三年这个“梗”,该如何突破自身瓶颈?_第4张图片

四:微服务架构

业务越来越复杂,服务分层,微服务架构是架构升级的必由之路,Java技术体系,和微服务相关的技术有哪些呢?

微服务框架

Spring Cloud

Docker与虚拟化

微服务架构

资深技术官聊聊Java程序员三年这个“梗”,该如何突破自身瓶颈?_第5张图片

五:性能优化

任何脱离细节的ppt架构师都是耍流氓,向上能运筹帷幄,向下能解决一线性能问题,Java技术体系,需要了解:

性能指标体系

JVM调优

Web调优

DB调优

资深技术官聊聊Java程序员三年这个“梗”,该如何突破自身瓶颈?_第6张图片

六:底层知识

从架构设计,到应用层调优,再深入了解底层原理,扎实的Java基本功才能让自己变为扫地神僧:

内存模型

并发模式

线程模型

锁细节

资深技术官聊聊Java程序员三年这个“梗”,该如何突破自身瓶颈?_第7张图片

话不多说,学习资料走起

系统性架构视频总结(部分图)

资深技术官聊聊Java程序员三年这个“梗”,该如何突破自身瓶颈?_第8张图片

大厂面试题以及答案(面试资料)

资深技术官聊聊Java程序员三年这个“梗”,该如何突破自身瓶颈?_第9张图片

大厂架构师整理实战文档

资深技术官聊聊Java程序员三年这个“梗”,该如何突破自身瓶颈?_第10张图片

技术经验总结

后面我会对学到的技术做一些总结,期待自己~

你可能感兴趣的:(java,面试,开发语言)