23

程序员最佳学习方法(干货总结)

 5 years ago
source link: http://www.cocoachina.com/ios/20180724/24281.html?amp%3Butm_medium=referral
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

前言

这里筑梦师,是一名正在努力学习的iOS开发工程师,目前致力于全栈方向的学习,希望可以和大家一起交流技术,共同进步.

本文阅读建议
1.一定要辩证的看待本文.
2.本文主要阐述了自己在进行编程语言学习中的各种学习方法
3.本文只阐述个人观点
3.觉得哪里不妥请在评论留下建议~
4.觉得还行的话就点个小心心鼓励下我吧~
目录
1.三大要素:环境、目标、动力
2.学习力
3.适度学习法
4.快速学习法
5.输出倒逼输入学习法
6.弹性时间学习法
7.随机目标学习法
8.沉浸式学习法
9.压力学习法
10.快捷键&笔记学习法
11.快速切入学习法

环境

一个程序员在萌芽之中,唯一的天敌并不是自己,而是一种叫 程序员劝退师 的人,他们可能有一点解决自己温饱的技术,有一份较为稳定的工作,但他们态度极其恶劣,从来不引导新人如何进行学习,而是驱赶。他们学习既不努力,工作中也不负责,因为自己的工作就已自满自足。

很多大学生或者转业人士都会遇到这种人,这些人大部分存活于QQ交流群之中,日常在群里吹水,遇到吵架就凑热闹,遇到问题就消失,从我发现程序员劝退师以后不知道有多少人已经因为他们而远离这个行业。

各位新人,请允许我告知各位,真正的程序员交流圈,根本不存在 程序员劝退师 ,高质量的圈子几乎每天都是讨论前沿问题,最近的面试题,以及分享资源,互帮互助,可能这也是对新人的一种历练,但我觉得这并不妥, 劝退师 为什么要展现一种丢人现眼的样子给别人,到现在我仍不懂他们存在的意义。

现状

那么,程序员现状是什么呢。因为培训机构的存在,每年,每个编程语言的各行各业都不会缺少技术新人的存在。但各行各业的人才依旧紧缺,这是为什么呢。

因为大多数技术新人仅仅停留在解决温饱的程度,而不深入研究技术,对此我不评价他们,我只想对新人们说:只要你们稍微一努力,你就比他们强。

现状总结为一句话:初级开发工程师有很多,工作有时并不好找。高级工程师,多栈工程师依旧紧缺。

再来一句浅显易懂的话:初级工程师使用工具,中级工程师修改工具,高级工程师创造工具。

程序员这个行业,你选择了,就要不停地努力,否则就会被淘汰。

目标

很简单的,确定一下你的学习目标和生活目标

学习目标:

学习是一份苦差事,这句话真的不是说说而已,真的是你认真学习过,才会懂得,学习是多么的辛苦,这点我深有体会,但是我还是想说,没办法,想要更好的生活,你就要不断地努力学习。

所幸的是,程序员这个行业,学习和回报率是要高于其他行业的,不断提升自己的技术水平和认知,是绝对没有坏处的。

生活目标:

是否想靠自己的努力,一步步提高自己的生活水平,是否能够随时为自己的喜欢买单,我没什么大理想,我就是努力实现:看到好吃的,我可以买来吃,看到我喜欢的,我就买来玩。但是钱是挣不够的,知足常乐。

定一个自己能力范围内的目标,实现它。

不要安于现状,你不努力,谁也给不了你想要的生活。

动力

动力,只说我自己的感觉吧。

当我找到了学习方法和学习路线以后,我每天的日程都是排满的,我每天有12个小时都在学习。我是全天学习的那种,暂时不考虑工作。

你知道我是什么感觉吗?我每天12个小时都在学习,还是每天都能感觉到要学的东西有好多,太多太多,每次看完一本书,都会再根据自己的路线安排新书,都是能在工作中用的到的书。

我深刻体会到时间是不够用的,我甚至不想吃饭,都用来读书,有些词和大道理真的不是单纯的字面意思存在,等你到了那个时刻,你便会深有体会。

每次想打游戏的时候,我都会忍下去,是真的忍..而不是说好,我就玩一个小时,再来学习我觉得我是回不来了。所以,我根本不去打游戏,我甚至我的时间是不够用的。

总有人跟我那学习路线陡峭说事,这就是你要变强和成为大神必经的一环,如果学习路线不陡峭,人人都能成为高工,又如何体现你这么久以来的刻苦学习和成果是多么的来之不易。

未来的你会感谢现在努力学习的你。

学习力

学习力不同于学习能力,而是将知识资源转换为知识储备的能力,你看了多少书、文章,这是你的知识总量(阅读量),但不是你拥有的.你能够讲出来的知识,就是你所拥有的.

适度学习法

学习一定要找到难度适中,需要一定时间学习才能理解的知识.而且以后能用的上. 从遇到的问题出发,从能实践的领域出发去找适合的认知材料。 不要一上来就阅读数据结构、算法导论这种圣经类的书籍,而是一步一步来.

快速学习法

当我遇到一个自己不会的知识点时,我会进行百度,进行泛读,充分结合各个大神的文章,进行理解,重点是自己个人的理解.做笔记.辩证的看待每个人的文章,然后提炼到自己的笔记里.

遇到难点时,我会询问列表里的大神,是否在工作中也是这个做法.得到答案. 整理以后,可以用自己的话描述出这些知识点. 在讲的过程中,就会发现自己的话有瑕疵,就会去寻找正确的说法,不断修正自己.

输出倒逼输入

如何提高巩固自己的实力,也是本人最喜欢的一个学习方法,在整理自己的笔记之后,尝试把自己的笔记转成文章输出出来,放在博客,简书或者CSDN等技术论坛上. 在输出的同时,在追求完美的同时,就会发现自己的不足,搜罗各种知识点,结合自己的理解.

最后变成自己的输出文章.这就是输出倒逼输入.完美的文章逼着自己学习更多的知识.

弹性时间学习法

我是一步步自学探路过来的,我很清楚你们所谓的自学的情况是什么,几点到几点看什么书,几点到几点看什么视频,从来没有按时完成,然后一拖就石沉大海了。

不要给自己的目标限制死时间,因为一件事可能会被耽误,那么接下来的目标都会耽误,而是要以完成目标、达到目的为中心进行学习。例如我这两天要看完一本书,那么这本书可能会有些难懂,我可能需要再多一天,那么我便三天去看完这本书,我的目的是看完这本书,而不是在有限的时间内,我的重心是学习这本书的知识。

在完成了某两天的目标以后,再完成下一个目标,因为你无法预估你是会提前完成你的目标,还是延后。

这就是弹性时间学习法,以完成目标为重心的学习方法

随机目标学习法

随机目标就是,不要只把学习的重点只放在一个范围内,而是要做好随时跳出去的准备,只有懂得多了,才能更容易理解后面的知识。简单来说,每本书都不可能面面俱到,他不可能把一个业务逻辑所涉及的方方面面都给你讲一遍,有时候需要你自己去延伸,如果你不延伸,你又无法读懂后面的知识。

例如学习HTML和CSS的过程中,可能会涉及到Cookie和Session,那么这两个东西又属于HTTP协议,如果这个时候,你不去延伸一下什么是HTTP协议的话,后面的内容就无法融会贯通。

学习编程语言不是为了看书的数量,刷视频刷代码的次数,而是在于连贯性,越能融会贯通你学习编程语言的速度就越快。

沉浸式学习法

沉浸式学习法,毫无疑问,就是没有任何干扰。这里指的不是外界干扰,就拿我来说,我可以在KFC非常吵闹的地方看书敲代码。却有时无法在家中静下心来想事情。

所谓的沉浸,便是把自己沉浸在学习中,远离游戏,远离来自自身的一切干扰,例如聊天软件非必要不开,例如游戏该戒就戒,现在的努力和刻苦是为了以后更好地生活和打游戏,别因为现在的一时痛快,浪费了整个人生。

压力学习法

说一个在高质量群听到的把,我97年在群里算年龄小吧,但是当我得知比我小6个月,已经在16年拿到了16K 15薪的时候,那个压力,虽然我不喜欢攀比,但当你知道,很多人都比你强的时候,你自己就会很冷静,时刻明白自己还要努力很多.就不会把时间放在娱乐上.

就是压力,让我现在可以把一整天的精力都放在学习上,而不是打游戏,看电影,环境很重要.

快捷键&笔记学习法

那么高效的开发,为什么推荐Mac呢,因为快捷键太方便了,我会将常用的终端,文本编辑器设置快捷键,快速调用. 关于笔记,我本人会开启三个笔记窗口,使用的是Omni outliner.

自学笔记,该笔记针对并记录在书中的问题,以及书中重点.

视频笔记+学习日志,该笔记针对每天的学习中遇到的问题,以及在各个视频当中汲取的知识点的笔记.

输出笔记,例如:全栈工程师开发入门笔记,该笔记按照文章输出规范整理,每一个知识点,都可以成为一篇文章输出,不整理好不写入笔记,这就是我的财富.一定要漂漂亮亮的.

快速切入学习法

上面的学习方法,都是适合有大把时间自学的人,那么针对于上班人群,想要提升自己的,目前我只能提供一个方法给你。

我不推荐你看视频,因为既浪费时间又没有效率。

首先要养成一个模式,随时可以将自己全身心投入学习的模式,例如在坐地铁的时候,切入到学习模式,拿出手机,刷一些干货文章。

我推荐你看书,因为我知道,每天上完班是疲惫的,谁不想舒舒服服吃顿饭,躺下休息。按照自己的学习路线,买一些提升的书籍去读,一星期看一本400页的书是工作中的人基本水平吧。

重点不是如何学,而是如何切换到学习模式,而不是休息和娱乐模式。

断点续传读书法

这个方法我自己总结的,不一定适合所有人。

看书是有方法的,不同的看书方法效率是不同的。如果你是咬文嚼字的读书,那我推荐你换一个方法.

书籍大致分为四类:计算机基础类、入门类(不同语言的入门类书籍)、应用提升类(不同语言或框架)、提升类书籍(例如剑指offer)

没有任何一个人可以做到看一遍书就记住所有知识点,因为其过程及其漫长,你要知道一本500页的书籍咬文嚼字,每行都仔细的研究,那是需要近一个月甚至更多,尤其有些人还需要上班。

列一个公式:

  • 咬文嚼字模式:

    第一遍(一个月)记住本书的50%(甚至更少)

    第二遍:可能因为书对初读者不友好等原因,可能没有第二遍。

  • 我的看书模式:

    第一遍(一星期)记住本书的大纲(20%)

通过第一遍阅读书籍的前言和目录快速分析本书的针对方向,可同时翻看同类书籍的其他书籍对比针对性。

例如:PHP+MySQL 开发实战 注重实战和PHP,而PHP&MySQL web开发一书注重的却是MySQL部分和项目优化.

书籍并不都是好的,根据第一遍阅读情况,来决定要不要阅读第二遍,或者阅读更好的书籍,放弃此书

  • 第二遍(两星期)记住本书较为重要的部分(40%甚至更多)

    根据作者划分的重点进行学习.

  • 第三遍(一星期)本书当中在实际应用中我需要用到的部分(60%)

    根据工作需要,重点学习并应用.

  • 最后,因为我对本书至少看了两遍,那么他的知识分布我是知道的。

所以在工作中我需要用到的时候,我就会去直接查阅我需要的部分。这便是我比大多数人可能一年都读不了几本书快的原因。

我个人偏向于快速读书,多读几遍的模式,而不会因为某个艰难的知识点卡壳,我会在学习相关知识以后,再扭头回来解决这个问题

结束语

如果您对这篇文章有什么意见或者建议,请评论与我讨论.

如果您觉得还不错的话~可以点个喜欢鼓励我哦.

如果您想和我一起学习,请毫不吝啬的私信我吧~

我目前正在进行前端和Node的自学,如果你有兴趣和我一起学习,你可以添加我的公众号或者私信我。

作者:筑梦师Winston

链接:https://www.jianshu.com/p/3f4b1c052910


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK