上一篇文章「你为何还不够优秀?」有同窗给我公众号留言:张哥,我是一名大二学生,我很喜欢 Android,可是我感受个人逻辑思惟有点慢,学习方法也不得巧,因此,问下您有什么建议吗?仍是说我不适合学编程,大学计算机专业!编程
其实不止这位同窗,以前不少人给我留言,说由于兴趣,选择了编程,并且本身也很努力,也在持续坚持学习,然而以为本身没有任何进步,甚至一度怀疑本身不适合编程。还有工做了一两年的同窗给我留言,说感受本身也挺吃苦的,作的项目也挺多,可是总感受本身一直处于初级水平,没什么进展...微信
我相信以上毫不是一我的,这些人你能说他们不够努力么?不必定,可是若是大家很努力,并且颇有毅力,那么我以为可能就是学习方法的问题了,因此今天单独写篇文章来谈谈学习方法。学习
在谈学习方法以前最重要的应该是先确保你的方向对不对,由于不少时候若是朝着错的方向,无论你如何努力,方法再怎么正确,可能都是在错的路上越走越远,因此方向很重要。搜索引擎
不少人总怀疑本身不适合编程,因此这个问题我以为是优先要解决的。确切的说真的不是全部人都适合编程,我认为逻辑思惟能力是编程最重要的能力,而一般是理工科的人逻辑思惟能力较强,尤为是高中数学、物理还不错的人,这部分人学习编程彻底不用担忧不适合。相反若是你逻辑思惟能力较差,并且对编程又提不起兴趣,一对着电脑就头晕等等,这部分人可能真的选错了方向。视频
至于本身是否是计算机专业真心没大的区别,若是是计算机专业,只能说你比别人基础好点,上手更快些,可是小学成绩好,不表明之后高中成绩就好。之后能走多远全靠本身的学习能力以及够不够努力。索引
在确保方向是对的,或者差很少没有误差太大的状况下,本身很努力,而又没有效果可能就是学习方法的问题了。游戏
我一直认为学习是没有捷径的,就有两条:努力,坚持!然而是有一些学习方法能够参考的,适合你的学习方法能够帮你提升学习效率,也便于你更好的坚持下去。开发
相信你们都有这样一种经历,在上学的时候总有那么一批人,总感受每天在玩,可是成绩很好,而我就是这么一批人。而总有另外一部分人很努力,几乎天天都在看书学习,可是成绩依然很通常,甚至不好,你能说他智商低下么?我不这样认为,我以为大部分人的智商应该都差很少,不会有根本性的区别,因此归根结底极可能就是学习方法有问题!文档
我本身上初、高中的时候成绩很好,可是平时基本不看书,给人的感受就是每天在玩,可是成绩却又很好,然而我并非不看书,我只是习惯晚上看书学习而已。偶然间我发现我晚上学习能学的进去,效率较高,因此我就培养了这个习惯,而后把它坚持下去,进而造成了本身的学习规律,一到晚上就会把笔记掏出来消化掉。其实大部分人都是有惰性的,因此不少人喜欢看鸡汤,看完鸡汤后感受浑身充满干劲,而后努力一阵子,可是没几天以后又回归本质,这种我把它叫作冲动学习,根本不足以持续。get
因此以前有人留言说让我多发些鸡汤,鸡汤有用么?确实有用,我自学编程的时候甚至都主动找一些鸡汤来激励本身,可是解决不了坚持的问题。前面我说了学习就两条,努力和坚持,努力相信稍微有点自制力的人都能作到,可是坚持恰是最难的。而培养本身的学习规律本质上就是解决坚持的问题,因此,试着发现适合本身的学习场景,你是习惯早上阅读仍是晚上阅读,是习惯在教室学习仍是在宿舍学习,是习惯地铁上看书仍是公司加班时看书...
总之,找到最适合本身的学习场景,培养成本身的一套学习规律,养成习惯才足以持续下去!
咱们在学习的时候有人看纸质书,有人看电子书,有人看视频,有人看博客,有人看官方文档,有人看源码等等,这些都是学习的不一样方法,没有高低贵贱之分。
找到适合本身的学习方法很重要,可是必定要结合本身的实际状况。我以为颇有表明性的一个例子就是,有些大神分享本身的学习经验是看源码、看英文文档过来的,而后有些人就照搬这套学习方法,然而却不知连编程基础都没有,甚至简单的中文文档都看不懂,就学大神看源码、看英文文档不是在扯淡么。大神的学习方法有用么?固然有用,然而却不适合你。
对于大部分人来讲看书是最广泛的学习方法,然而就是由于最广泛,门槛最低,因此大部分人看书自学编程的阶段水平差距没怎么拉开,然而一旦入门,每一个人就找到了本身的学习方法,这个时候差距才慢慢开始体现。英文好的,就选择看官方文档,这是最权威的,比任何书籍、博客更有说服力,然而不是全部人都能看得懂的。0 基础的一开始可能看书都有点看不懂,因此有的会结合视频,帮助本身理解,可是一旦水平进阶了,再看视频会以为很没效率,几分钟看篇文章就弄懂的知识点,看视频要讲半小时。其实就是由于你处于不一样的阶段,你知道有属于最适合你本身的学习方法了。
因此,大神分享的学习方法不能一味的去照搬,要对照本身的实际场景,起点高的看英文文档也好,源码也好,起点低的就看书结合视频也好,总之寻找到最适合你本身的方法最重要!
咱们作一件事总归是有目的的,好比上学的时候学习就是为了能取得好成绩,考上好大学,之后出任 CEO,迎娶白富美!学习编程同样须要一个目的,没有目的,你就会没有任何动力。
以前有人问过我,说:张哥,你这么努力,究竟是为了什么?其实我想说,很差意思,我很俗,我这么努力就是为了赚钱!
是的,我当初选择自学编程的目的就是为了赚钱,由于经历过生活的困苦,我才意识到钱有多么重要。因此我以后自学编程没有其余那么高尚的目的,很简单粗暴,但却很明确,因此我学习起来会比其余人更有动力,一想到之后学成了能够月薪过万,顿时充满了斗志。
因此学习有个目的很重要,你想清楚你是为了什么而学,若是你还没想清楚,那么先别急着学,这跟上学不同,上学是被迫的,咱们不得不上,可是如今你能够有更多选择。如今固然我想,大部分读者学习编程的目的可能都跟我同样俗,就是为了赚钱,若是你不是,恭喜你,你还不够俗!
学习的目的是了挣钱,可是挣钱是个大方向,不够具体,总归有个具体的小目标吧,并且这个目标得是眼前看获得可达成的。
若是当初我给本身定个目标是之后月薪 10w,我想我会颇有挫败感,由于无论我怎么努力,怎么付出可能都无法达成。因此我最初给本身定的目标就是月薪 1w,那会天天想着何时月薪 1w 就行了。
然而当我真的月薪 1w 的时候,意识到靠本身努力是真的能够实现本身梦想的,更加自信,更加有努力的动力。不过欣喜以外,我又给本身定了下一个目标,就是月薪 1w5,看看市面上月薪 1w5 大概是什么级别的,这个级别的开发大概须要具有什么样的技能,而后去朝着这个方向继续努力。
就这样,我一步步实现本身的小目标,达成以后给本身设定下一个小目标,就是这么简单直接有效!
编程是一个实践比理论重要的多得多的职业,可能你看了不少书,不少博客,可是远没有亲自作一个项目来的有效。
相比我那个信息匮乏的时代,如今可谓是信息爆炸的时代,天天大量的技术文章能够看,信息的消化就变得很重要。以前不少人问我,说但愿我多更新些技术文章,最好天天一更,我时间与精力跟不上是一个缘由,退一步说即便我有大量的时间与精力去天天更新技术文章,对你来讲你真的消化了么?对于技术文章来讲,看过跟消化掉是彻底两个概念。
你天天看的技术文章是没有目的性的,恰好看到了就看到了,要么就收藏了。可是远没有多大价值,下次碰到一样的问题你同样不知道怎么解决,而若是你是在项目中用到的,或者说遇到问题了,好比项目中须要用到自定义 View,这个时候由于项目的须要,再去搜索引擎中寻找答案,而后去学习、研究、实践,这才是最佳的消化信息的方式。
而我认为在找到工做以前的实践通常分如下三个阶段:
1.对着书本或者视频敲代码的阶段:这个是学习编程的最初阶段,哪怕彻底按照出本敲一遍,也比你只是看有效的多,只有亲自敲代码你才能加深印象,方便你更深入的理解;
2.模仿:当你有必定的基础知识的时候,可是缺少实践经验的时候,其实这个时候最迷茫了,本身会点基础,可是本身写项目根本不知道无从下手,这个阶段我推荐大家从模仿着手。网上一堆 demo,就从这些 demo 入手,结合代码,本身理解,边理解边对着 demo 敲代码,直到你能够不看代码能够本身敲出来为止。也许是从一个小动效,再到一个半成品的 demo,再到一个完整项目的模仿,在模仿的过程当中你会逐渐的进步,进而对一个真实的项目有所了解。这么说,我认为模仿是项目经验的启蒙!
3.练手项目:当你跨过模仿阶段的时候,这个时候要想着本身单独作个项目练手,也许是模仿的别人的项目,可是是彻底本身从 0 开始搭建,再也不须要依赖已有代码就能够折腾出属于本身的项目,在这个阶段会遇到各类问题,相信我,即便以前你掌握的技能,在这个阶段依然会遇到问题。可是一旦经历过这个阶段,会进步很大!
通常来讲经历过以上阶段以后就能够考虑找实习或者找正式工做了,在工做中不一样的人进步速度又会有所不一样,有的人在工做中持续学习,总结经验,积极争取新的机会,有的人安于现状,得过且过,把本身眼前的事作完就好了。这自己是两种态度,工做之中把本身事情作好了就以为 ok 了没有任何错,可是若是你只把本身当成一个打工的,那么你可能永远都是个打工的!
最后,不少人总以为本身进步很慢,学习效率奇低,这个是正常的,大部分人都跟你同样,包括我本身,经历过跟大家同样的阶段,套用意见游戏里常说的话:当你遇到敌人的时候,就说明你路走对了。你须要作的就是确保在正确的道路上,找到适合本身的学习方法,按照本身的节奏,持续不断的努力,坚持下去就足够了!
本文原创发布于微信公众号 AndroidDeveloper,欢迎关注第一时间获取更多原创分享。