Java码农的10年的技术生涯和技术成长,值得借鉴,启发篇!

混江龙づ霸主 提交于 2020-10-29 18:05:04

先简单分享自己这10年在技术上曾经感觉到明显迷茫的阶段:

阶段1:只会增删改查:

时间:大学期间(2008年-2009年)

学习的方式:看视频、看书。(学会了使用控件的增删改查,和写SQL语句)。

自我感觉:XX管理系统已不在话下,反正网站弄来弄去也是增删改查,这大概就是无知者无畏。

如何破:(走出社会去就好了)。

阶段2:能快速实现功能,却不会思考:

时间:(2009年-20012年)

学习的方式:看博客、大量的编码(第1年,封闭式开发(1天敲15个小时代码),第二年后:每周六天,每天到夜里3点)。

感觉:大量的编码,做了大量的不同类型的系统,已练就成一个高级代码工:(CodeSmith代码生成器+批量生成增删改查)。

如何破:(让自己静下来)。

阶段3:学会了分享、安全、性能、底层原理

时间:(20012年-2016年)

学习的方式:写博客、看博客、写框架(CYQ.Data V-V4系列、QBlog)。

感觉:为某个框架代码而自我得意。

如何破:不断重复的将自己归零(把自己的认为得意的东西开源出去,如果要保留一点感觉,可阶段性开源)。

阶段4:领悟了抽象思维、面向对象、写框架、用户体验

时间:(2016年-至今)

学习的方式:看书、写框架(CYQ.Data V5系列、ASP.NET Aries系列、Taurus.MVC系列)。

感觉:也许我懂的很多,但是我不懂的更多。

如何破:(转行卖烧烤。。。)

总结一下:

上面的内容,其实只是个大概的节点情况,太多细节点的过程,来不及细说,全面汇总成以下几点:

1:大量的编码实战。

2:开发自己的作品。

3:学会分享。

4:学会低调,知识归零。

关于看书:

这么多年,我很少看技术类的书,因为人的特征本各不相同,我不善于记忆,只能通过大量的实战来形成条件反射。

另外,从实战到=》互联网的文章,有目的性的补充知识,更加容易被吸引。

所以,看书和看文章,其实本质都是在学习,只是我是通过实战驱动去补充知识,而不是单纯的看书,然后选择被遗忘。

以下内容随意聊聊::

这些年,曾高调过,曾低调过,也不高不低过,有人看我很谦虚,有人看我屌,其实,都是看心情,看心情的。。。

我想汇总一下我的知识体系,身体又懒的动,只因大脑感觉要写完天都要亮好几回,若不写,这随谈又要谈什么呢?

听说Java界的架构师很少,其实是Java的技术总监或CTO太少,毕竟是上层决定了下层的技术使用。

在我这几年当总监的岁月里,拿到的Offer最高月薪也只有4W,这在Python界轻松就能突破的数字,在Java界却不那么容易。

因此,从现实出发,混到总监的,有些也不在乎技术了,也没有技术情节和忠诚感,转个技术方向突破薪资才是硬道理。

生态圈的良性循环,还是得靠占据总监位置的同志们,坚持。。。

而且,大量的Java,必须突破自己,靠架构师上靠,才能进一步稳住市场。

目前Java大多数都在1W左右2W以下的薪资,勉强占领高级程序员或技术经理这么个角色。

追期根源,是因为技术上没有亮点,技术还停留在能做功能的地步,技术和思想也没形成体系。

怎么成长才能突破?

忽略其它综合因素,比较明显的是以下两个层面:

1:技术上的成长。

2:岗位上的成长。

明显决定薪水的,是岗位,要记得:上层给你一个Title让你带队,也好过给你涨薪,这是你跳槽的最有谈判的资本。

然后说说技术,感觉技术成长不上去的时候,怎么办?

先说说现在年轻人最大的感觉,很多人在用我的开源框架,但是他们遇到问题时,很多都是直接上问题,不愿调试代码。

这样的方式,只是完成了任务,就算最终学完整学会了用框架,也只是在众多框架中学会了一个,成长性是很小的。

过程是很重要的,哪怕是弯路,哪怕浪费时间,记得那都是思维的成长,比你完成一个当前的任务更值钱。

都说人生苦短,技术无涯,底层原理下面还有底层原理,无限的底层下,究竟学到哪层,才算底层?

在这框架百出的年代,若每样都要掌握,深度必无,人生必毁,所以,怎么学习,已经成为了一个值的思考的问题了。

其实,这些年,对于自己的成长,无非就是一样,将已有所有知识点形成体系。

当然,我并不是有意而为之,而是大量的实战和知识补充,最终自然而形成。

所以,学习应该围绕着体系而进行,适当的学习底层,是为了建立体系的连结点,而不是为追底层而底层。

今天跟大家分享一份Java 工程师进阶知识点扫盲清单,中间涵盖了redis/mongodb/dubbo/zookeeper/kafka 高并发、高可用、分布式、微服务等众多技术。

当然还有Java 工程师软实力方面的内容,比如说:面试技巧、技术文档编写、中英文档阅读、数据结构与算法等方面的内容。

这里先给大家列举一下Java进阶路线学习内容

一:常见模式与工具

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

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

二:团队协作专题

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

Maven,项目管理

Jenkins,持续集成

Sonar,代码质量管理

Git,版本管理

三:分布式架构

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

分布式架构原理

分布式架构策略

分布式中间件

分布式架构实战

四:微服务架构

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

五:性能优化

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

性能指标体系

JVM调优

Tomcat调优

MySQL调优

六:底层知识

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

内存模型

并发模式

线程模型

锁细节

七、项目分布式实战

要想立足于互联网公司,且能在互联网浪潮中不被淹没,对于项目的开发实战演练是不必可少的技能,也是对自身能力的一个衡量,有多少的量对等于获得多少的回报。看似简单的一个项目需求图谱,其中的底层原理,实现原理又能知道多少?你搭建一个完整的B2C项目平台到底需要多少知识?这一切都是需要我们考量的。

当真正开始学习的时候难免不知道从哪入手,学习时频繁踩坑,导致效率低下影响继续学习的信心,最终浪费大量时间。

为了让学习变得轻松、高效!今天给大家免费分享一些教学资源,帮助大家在成为架构师的道路上披荆斩棘。

欢迎喜欢Java,喜欢编程,有梦想成为架构师的程序员们可以关注一下我,

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!