我做了十年Java开发,想为了自己“活着”

前言

蓦然回首,从毕业到现在做后台开发已经十年了,这十年中我获得了很多,技术能力、培训、出国、大公司的经历,还有很多志同道合的朋友。但再仔细一想,这十年码农路上我至少浪费了五年时间,这五年可以足够让自己成长为一个优秀的程序员,可惜我错过了,我用这五年时间和很多程序员一样在困惑和迷茫中找不到出路!

路上本没有坑,走的人多了,路就烂了。

在大公司做事情有一个特征,你只需要在工作时间做好公司给你安排的那份工作,你就会做的很好,这也就是说每个人都是一颗螺丝钉。所以,我在一进入大公司后,由于自己经历不够,再加上刚毕业就作为大学班上进入大公司的佼佼者,所以有点飘,不能沉下心来研究技术,所以浪费了一段时间。

程序员的“生活“

后来在和在贝尔实验室(上海)工作的研究生同学的一次交流中,让我严重的意识到,做为程序员除了做好公司安排的工作只是为了自己“活着,”而程序员的“生活”应该是体现在自己对技术的追求和对源码的执着之上。

虽然自己经常和周围的朋友进行程序生涯的交流,唯独这次交流才真正影响了我的程序人生。回想起来,影响程序员明天困局的往往就是一直挂着我们嘴边的小事,那些源码啊,框架啊,实战,造轮子,开源这一切都需要我们实实在在亲力亲为的一行行代码去解决。

我一直担惊受怕,过去,可能是因为我年轻,但现在,我已经不是那么年轻了,我仍然发现有很多事情让我害怕。

当年纪越来越大后,我开始变得不能加班。我开始用更多的时间和家人在一起,而不是坐在计算机前(尽管这样,她们仍是抱怨)。我在本地教育委员会社区里提供一些帮助,还组织开源兴趣小组参加活动。

我在思考,为什么以前会把如此多的时间全部用在编程上。大量的编程。那是我渴望深入研究一个类库,一个框架或一门技术。

现在的技术的学习曲线的增加,让我的忍耐性越来越低。各种新技术,因为新奇让人兴奋,但最终变成一场场争论。我越来越无法忍受这些充满市场宣传气息的喧嚣。我对技术看重的是稳定,清晰。

想努力,别忘记把控方向

据不完全统计,截至目前(2017.07)为止,中国Java程序员的数量已经超过了100万。而且,随着IT培训业的持续发展和大量的应届毕业生进入社会,Java程序员面临的竞争压力越来越大。那么,作为一名Java程序员,怎样努力才能快速成长为一名高级的程序员或者架构师,或者说一名优秀的高级工程师或架构师应该有怎样的技术知识体系,这不仅是一个刚刚踏入职场的初级程序员,也是工作三五年之后开始迷茫的老程序员,都必须要面对和想明白的问题。针对这些问题我总结出一个Java程序员的工作2-5年成长路线图。

阅读源码

程序员每天都和代码打交道。经过数年的基础教育和职业培训,大部分程序员都会「写」代码,或者至少会抄代码和改代码。但是,会读代码的并不在多数,会读代码又真正读懂一些大项目的源码的,少之又少。这也造成了很多错误看源码的方式。

一、阅读源码

深入的Java学习,经典源码阅读不可少:

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

我做了十年Java开发,想为了自己“活着”

画外音:大家扪心自问,除了写业务代码,看过多少优秀开源代码?

二、分布式架构

随着业务越来越复杂,数据量越来越大,并发量越来越大,单体的架构模式显然再也无法对应,作为Java后端架构师,高并发+高可用+海量数据的分布式架构体系,是必不可少的:

  • 分布式架构原理
  • 分布式架构策略
  • 分布式中间件
  • 分布式架构实战

我做了十年Java开发,想为了自己“活着”

画外音:额, 这些分布式理论,是不是感觉零零星星的听过,而没有系统的学习过?

三、微服务技术体系

服务分层,微服务架构是架构升级的必由之路,Java技术体系,和微服务相关的技术有哪需要深入学习呢?

  • 微服务框架
  • Spring Cloud
  • Docker与虚拟化
  • 微服务架构

我做了十年Java开发,想为了自己“活着”

画外音:明明知道Spring Cloud和docker是趋势,为啥没有下定决心学习呢?

四、性能优化

作为后端Java技术专家,解决性能问题才真正体现一个架构师的功力。只有深入学习JVM底层原理,Mysql底层优化以及Tomcat调优,做到知其然,知其所以然:

  • 性能指标体系
  • JVM调优
  • Web调优
  • DB调优

我做了十年Java开发,想为了自己“活着”

画外音:是不是遇到性能问题就无从下手?只能靠瞎打日志,瞎改代码?解决性能问题,不能只靠运气!

五、典型业务实战

阅读完Java源码,学习完分布式与微服务架构体系,掌握了性能调优的方法,仅仅做一个ppt架构师怎么行?

  • 用户中心,单点登录怎么玩
  • 商品,店铺怎么玩
  • 订单,支付怎么玩
  • 通知,推送怎么玩
  • 数据分析怎么玩

唯有通过实战,才能站上华山之巅。

我做了十年Java开发,想为了自己“活着”

画外音:小伙伴们,学完了么?上述路线图,欢迎收藏。

有朋友问,有了路线图,有没有免费资料?有没有志同道合的小伙伴共同进步?

对此网易大佬整理了一套适合Java工程师学习的资料文档分享

我做了十年Java开发,想为了自己“活着”

本文资料经过筛选出来特别合适1-5年开发经验的Java工程师!如果你想努力,想成为架构师,那我这套资料就免费送!

资料领取方式:关注+转发+收藏后私信【资料】即可免费获取!

关注+转发+收藏后在私信哦!

相关推荐