前言

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

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

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

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

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

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

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

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

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

还是裸辞了,迷茫中…

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

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

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

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

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

一:常见模式与工具

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

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

二:工程化与工具

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

Maven,项目管理

Jenkins,持续集成

Sonar,代码质量管理

Git,版本管理

三:分布式架构

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

分布式架构原理

分布式架构策略

分布式中间件

分布式架构实战

四:微服务架构

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

微服务框架

Spring Cloud

Docker与虚拟化

微服务架构

五:性能优化

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

性能指标体系

JVM调优

Web调优

DB调优

六:底层知识

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

内存模型

并发模式

线程模型

锁细节

话不多说,学习资料走起

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

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

大厂架构师整理实战文档

技术经验总结

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

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

  1. 那些想不断提高自己技术水平的Java程序员们

    对程序员来说,最痛苦的事情莫过于可以选择的范围太广,可以读的书太多,往往容易无所适从.我想就我自己读过的技术书籍中挑选出来一些,按照学习的先后顺序,推荐给大家,特别是那些想不断提高自己技术水平的Jav ...

  2. Java程序员三年的工作经验,却不如一个新人的工资高???

    文章目录 一.关于程序员的几个阶段 第一阶段:三年 第二阶段:五年 第三阶段:十年 二.关于项目经验 三.关于专业技能 1.基本语法 2.集合 3.设计模式 4.多线程 5.JDK源码 6.框架 7. ...

  3. 计算机本科毕业后还需要参加培训吗?我来聊聊java程序员找工作的经验

    很多人在学习完计算机专业后,会发现在找到满意的工作时,还需要参加培训班并花费大量的时间和金钱,这让他们倍感不解.为什么在学习了四年的计算机专业之后,还需要参加培训班呢?难道这四年的时间和精力白费了吗? ...

  4. 征服Java面试官!Java程序员月薪20k的涨薪秘籍,先收藏了

    开头 Spring框架自诞生以来一直备受开发者青睐,有人亲切的称之为:Spring 全家桶.Spring更是避免了重复造轮子的工作并跟随着互联网行业的发展做出不断的更新,很多研发人员把spring看作 ...

  5. Java技术图谱!java程序员面试题苹果瓣

    前言 都知道MyBatis 是一款优秀的持久层框架,它支持自定义 SQL.存储过程以及高级映射.MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作.MyBatis 可以通过 ...

  6. 【本人秃顶程序员】Java程序员成长三部曲!

    ←←←←←←←←←←←← 快!点关注 在这个IT系统动辄就是上亿流量的时代,Java作为大数据时代应用最广泛的语言,诞生了一批又一批的新技术,包括HBase.Hadoop.MQ.Netty.Sprin ...

  7. 作为一个Java程序员,一生必看的15本书!赶快收藏起来,适合所有程序员们

    作为Java程序员来说,最痛苦的事情莫过于可以选择的范围太广,可以读的书太多,往往容易无所适从.我想就我自己读过的技术书籍中挑选出来一些,按照学习的先后顺序,推荐给大家,特别是那些想不断提高自己技术水 ...

  8. JAVA程序员路线要看的书籍-看看能不能逃脱这41本书

    Java程序员在入门时,最痛苦的事情莫过于选择入门书籍,很多的同学在会咨询我,推荐下应该看什么书.市面上很多人都会出各种各样的书籍.一些技术大拿,企业经理,或者培训机构的老师都会出来很多教材.层次参差 ...

  9. Java程序员求职面试应该注意什么?

    众所周知,面试是一个企业了解求职者的主要渠道,是决定求职者薪资待遇的重要环节.作为互联网编程语言中的老大哥,Java凭借自身优势和广阔的市场占有率吸引了大批的从业人员.那么Java程序员面试时应该注意 ...

最新文章

  1. 助力企业抗疫,360金融推出免费AI语音机器人
  2. 无法提升彼此,夫妻关系就要终结?
  3. 在哪里刷题_刷题过程中,这些坑你踩了几个?
  4. python桌面程序开发_程序员之路:python3+PyQt5+pycharm桌面GUI开发
  5. jeesite的junit,数据没有插入?
  6. java.lang.UnsatisfiedLinkError: D:\Program Files\apache-tomcat-9.0.30\bin
  7. Linux—vim/vi 翻页跳转命令快捷键
  8. 缩时摄影制作软件——GlueMotion for Mac支持m1
  9. caffe上手:如何导出caffemodel参数
  10. 解决办法:自动挂载失效,VirtualBox共享文件夹给Ubuntu虚拟机
  11. maven安装及配置
  12. 新手入门 | Pr剪辑教程
  13. 教你App如何上架应用宝----腾讯开放开发平台
  14. 九月十月百度,迅雷,华为,阿里巴巴,最新校招笔试面试六十题
  15. 因子模型套利定价理论APT的应用
  16. 八、码元、波特、速率和带宽
  17. 锐捷网络普教中小学“绿色校园网”解决方案
  18. 无人巴士和无人出租车都能用的L4自动驾驶通用硬件方案
  19. 破解ChatGPT机遇与挑战,中国AIGC产业峰会给出最强答案
  20. 什么是划分子网?网络工程师划分子网有啥技巧?

热门文章

  1. WEB入门之十五 属性和样式
  2. 云闪付小程序Vue授权组件只兼容Vue2,改造兼容Vue3版本
  3. PMP证书在面试项目经理时有加持吗?解惑
  4. 2017中国人工智能大会将于7月在杭州举行
  5. MCGS 物联网 阿里云
  6. SolidWorks钣金设计的小妙招
  7. Citavi在Word中无法启用 的解决方法
  8. 基于SSM的疫情物业系统
  9. ECG——QRS波群检测法
  10. 科技公司保密协议范本