本篇文章文字不多,但是读来颇有收获,不信你试试!
作为一个程序员,必备的一个能力就是自我学习能力,这个在如今竞争日益激烈,技术更新日新月异的时代,可谓是我们每个人的核心竞争力,但是,每个自学过的人大概都会有这么些苦恼:
1、要学习的东西太多,学不完的节奏
2、学过的东西忘得太快了,学着后面的忘着前面的,仔细想想,好像自己啥也不会。
我虽科班出身,但是我都是把自己大部分的时间用来私下自学,这导致的结果是,我的计算机基础这些,本该在上课时间学好,却让我给白白浪费,拿来自学安卓和Java这些,因为当时觉得诸如操作系统和网络这些,学起来实在没劲,所以把大把的时间用来学习安卓和Java这些了。
那为什么我现在还是那么菜呢?按理说自己学习Java很长时间了,这不应该啊,天生愚钝?
后来我仔细想想,问题出现在了这里,那就是我在之前的自学中,存在一个很大的问题,首先我自学的时间不短,自然我学习的知识点很多,知识面很广,但是后来发现,这个所谓的广,仅仅是停留在表面,学的东西比较多,比较杂,正好中了自学中的坑,那就是学了忘忘了学,导致时间花了不少,觉得自己学的东西很多,但是技术水平提升有限。
原来,我之前的自学犯了一个很大的错误,这个是思维方式上的错误。
一直有听人说,要多练习,多实践,在项目中去学习是进步最快的方式,有的人还直接建议,直接上手项目吧,遇到不会的再查资料,再学习,这样提升比较快,很多人这样说的,你是不是也听到过这样的建议呢?
但是,当时我是不愿意这样做的,为什么呢?我觉得吧,你去做一个全新的项目,比如里面用到的Spring这个框架,可是Spring你根本不会啊,那么去做的时候就会时不时的遇到问题,你不会的将会很多很多,有些都不明白是怎么回事,这个时候最可怕的是因为你跟不了解,所以当你遇到问题的时候,你都不知道该如何去描述这个问题,该如何去搜索这个问题的解决办法,给你Google,你都搜不起来啊。
所以,我觉得这样是不合理的,会浪费很多时间,不如先把Spring给学了,然后再去做相关的项目,这样因为你学过Spring,所以做起来会相对容易点,遇到问题也知道如何利用搜索引擎去解决。
这导致一个什么问题呢?结果就是我会花大量的时间去学习这些新的知识点,而真正的项目却做的很少,导致自己学到的知识没有真正的进行实践,慢慢的,之前学的东西就忘得差不多了,这就如同一个恶行循环,导致自己学着忘着,虽然说花了时间,学了那么多东西,但是很多都忘了,而且因为大量时间花在了学习新知识上,自己做的相关实战项目很少,自己的技术能力自然提高不多。
后来自己就花时间去思考自己的学习方式,不断去试错,去总结,发现自己之前的想法是存在很大问题的。
重要的一个思维的改变就是:在自我学习中,不是先全面的去掌握知识,然后再去应用,而是在应用中去不断的总结新知识,发现自己的知识盲点,然后去针对的进行学习。
为什么这样做?
1、知识太多,你学不完的,所以应该有针对性的去学习,怎么去针对性的学习,你学到的知识最终是要体现在现实的应用中,说白了也就是项目,因此,你从项目着手,知道该学习什么,你学到的都是实际要用到的,这就是有用的知识。
2、我们每个人学习东西都是非常容易遗忘的,但是我们可以尽量让自己少忘记点,记得深刻点,怎么办,最简单的一个办法就是把你学到的用起来,以项目着手,你学到的知识,是在立即应用的,这样你记忆的会更加牢固,遗忘的也就少很多了,这就是高效率的学习。
也就是说,我们平常的学习啊,还是要以项目着手,效率比较高,但是我个人也觉得有个小前提,那就是基础知识最好提前学一遍,有个笔记记录,这样效果就会更好了。
你觉得呢?欢迎留言讨论,一起进步!