很多程序员,在工作之初,感觉学到了很多知识,但是工作一段时间之后,即便继续学习,但是所获有限.我认为这是学习方法不对造成的.我推荐采用以下两种方法.
一是通过实践的方式上手,然后进行系统性的学习.一开始,拿具体项目,或者实验性小项目,作为学习对象,去攻克一个个技术难点,在这个过程中,会不断学习到新知识,也会带来成就感,激励自己能够继续深入学习.项目过程中查询的那些资料,可以帮助我们找到哪些资料和书籍需要我们后续深入阅读.不要一开始就掉在书的海洋里,带着问题去阅读,比被动接受书本知识更让人映象深刻,再则人很难在长时间保持只学习一个东西,贪多容易分散精力.项目中遇到的问题,当时解决掉,如果不知道其原理,需要后续进行系统性学习,这样以点带面,可以把很多零散的知识系统化.
二是不断加强基础知识,基础知识就大厦的地基,它决定了大厦能够承载的高度,决定了你的技术之路是否能够更加长远.很多人发现自己年年学习新技术,一直在追赶,一直没追上,力不从心,很大程度上是因为没有扎实的基础知识,当新东西出来之后,不知道其背后的原理.再学习,又重新走了会用但是不懂背后原理的老路子,不断循环,但是提高有限,疲于奔命.看到新东西之后,需要思考其背后的原理,是通过什么原理衍生出来的,有什么优缺点,不要一味跟风,有自己的技术判断力,还要与具体的使用场景结合,在什么样的环境下才能充分发挥其价值.做到技术使用的合理性,不一定是最新的技术,但是是当时环境下的合理选择.这些都需要扎实的基础知识保驾护航.