简介
网络上经常会有各种大牛(cto、阿里架构师等)的分享,诸如:
- 技术人员2年、3年、5年如何提高自己
- 程序猿自我修炼之路
- 工作八年、十年总结
会列出各种路线图,分为几类
- 过程式,即不同阶段要做什么
-
目标式,即不管干什么,到一定要阶段要掌握xx。比如:
- 分析源码,主要指常用设计模式、spring3/4/5、mybatis
- 分布式架构,包括原理、中间件以及 应用层框架(计算、微服务、存储等)
- 并发编程、性能调优
- 开发工具工程化,包括maven、jenkins、sonar、git等
- 项目实战,比如一个b2c项目包括:用户认证、店铺商品、订单支付、数据统计分析、通知推送等
技术人员在面对这些攻略,要认识到以下几点,否则这样的文章看的越多就越焦虑和困惑:
-
有自己的侧重,比如笔者就觉得spring 代码组织的不太好,在买过一本书对其原理有大致体会后便没有深究,springmvc 源码笔者到现在都没有深入看过。
- 有的东西不理解到细节难受,你知道底层原理,然后可以推知上层所有因果
- 有的东西不耽误用就行,可以通过博客等把别人二手结论拿来用。比如要实现一个自定义注解,博客说spring xx组件可以实现,你demo 做出来就可以用在项目中。
- 你对项目的定位(自己学到何种程度)要有自己的判断,当然,这个判断要根据实际情况调整。
- 有自己的路线图,靠兴趣、“事到临头”来推动。别人是1=>2=>3开始学,你2==>3==>1学也没什么问题,甚或是2.1 ==>1.6 ==>3.2==>2.5。比如jvm调优很有意义,但一则很多人用不上,二则过早接触也看不懂。你先看点,关键时刻知道有这么个事儿就行。一般来说,只要你追求去做更大和复杂的项目,123终究会体验全的。
- 看文章 要为我所用,前提是你自己有一套取舍观、方法论和路线图。看文章的目的不是刷新自己,而是吸取自己之前没注意到的知识、观点和方法论,添长处去短板。
为何要想这些东西,因为如果这些东西想不清楚,他们会一次次来占用你的精力、带来困惑和烦扰。以后看到这类“经验文” 应该不会再引起难受了。有一句话:很多人为了不思考愿意做任何事情。但其实,很多人没认识到该思考这个问题,也没认识到一直拒绝思考导致自己付出了多大的代价。
思考是对复杂事务、信息降维处理, 以便于主动规划,而不总是被动应对。你应该先有一套知识图谱、方法论,然后碰到新东西,去充实它们。而不是左支右绌,忙于应对。