【Z】我的学习方法论

来源:互联网 发布:山下智久北川景子 知乎 编辑:程序博客网 时间:2024/06/10 17:57

如果你毕业后就停滞不前不再学习,那么你将在生活中处于非常不利的境地。事实上,如果你一直依赖他人来教你,从来没有掌握自我教育技能,这会严重限制你提升自己的知识和技能的机会。那么升职加薪赢取白富美就会和你无缘。极端情况下,甚至可能你都没有主动和领导提加薪的勇气,也许你可能不愿意承认你其实清楚的知道即便提了也不会被批准,而且即便领导不同意你也不敢跳槽,因为你没有底气。

就我个人在IT这个领域来说,我学习过很多东西,比如编程语言、开源软件、框架等东西。慢慢的我发现在我学习每个东西的时候,都会经历一段相同的流程,逐渐的,我把这个过程总结为一套自己的方法论。用在我后续学习其他东西的过程中,然后去不断的验证并完善这一套方法论。

这篇文章主要讲述的是我这套方法论,讲述的是我如何学习,如何面对新的、未知的领域、框架、知识的时候,如何快速的上手并掌握它。这套方法论也许并不一定适合所有人,但是我希望本篇文章对你有所帮助。

我之前是如何学习的

我早期学习一门技术的时候,我会在亚马逊上买很多这个和这个技术相关的书籍,然后一本一本的从头到尾的阅读。虽然通过这种方式,我能够快速的积累和这个技术相关的全部信息,但是我仍然没有真正学会它。因为我把很多时间花在了阅读上,而并没有太多时间、甚至压根没有去动手实践。

因此过一段时间以后,我开始慢慢的忘记了之前看过的和这个技术相关的一些东西,于是我又不得不拿起那些书一本一本的阅读。看起来我似乎很努力很认真,但是我并没有多少实际经验,我内心也感觉到发虚。就好像我看了很多关于「如何骑自行车」的书籍,视频等,但是我并没有实际去骑车,我也不能说自己掌握了骑车这一项本领。

有时候在看了一两遍买的书以后,我会抽出一些时间去动手练习一下学到的东西。期间会遇到一些问题,无论是通过回头在书里查询,亦或者通过Google答案等,我解决了自己的疑惑。但是我也没太大把握说我自己真正的掌握了这门技术。毕竟我个人遇到的问题太少,我也不知道我的使用是不是最佳实践……

这个学习方法的弊端

这个学习方法的主要弊端我总结了一下觉的有以下几个方面:

  • 太耗费时间
  • 有点漫无目的,抓不住重点,没区分轻重缓急
  • 看的太多而做的太少
  • 比较枯燥,容易厌倦疲劳
  • 容易忘记

拿起一本书,从第一页看到最后一页说实话挺耗费时间的,而且如果你不是很有自控力的话,你很有可能坚持不下来,更别说看几本书了。如果你比较「急功近利」的话,你会产生一种「我都看了这么久了,但是感觉还是不会的感觉」。

而且虽然基本上每本书的作者都会根据一定的顺序来编写书籍,但是如果打一开始就直接啃书的话,就是会发现自己抓不住重点,并不知道这本书中哪几个章节讲述的东西比较重要。

我之前采取的都是读完书以后在动手实践。这种将实践滞后的做法,导致经常出现那种「有时间看书,没时间动手」的情况。毕竟工作以后的时间是非常有限的。而且工作、家庭等的因素经常会打乱自己的规划。

中国有句古话我觉的说的特别好:「眼过千遍不如手过一遍」。没有真正动手实践的情况下,记忆是不深的,尤其是随着年龄的增大,记忆力确实远远不如从前了。

我的学习方法论

我将自己整理总结的方法论和 《软技能:代码之外的生存指南》这本书提到的「十步学习法」进行了整合,归纳出我自己的学习方法论:

11. 明确动机,定义目标
22. 了解全局,确定范围
33. 寻找并过滤资源
44. 开始学习,浅尝辄止
55. 动手操作,边学边玩
66. 全面掌握,学以致用
77. 乐为人师,融会贯通

我现在的学习方式

明确动机,定义目标

人和动物在做任何事情的时候都会有一定的动机。动机可能是:好奇心、工作需要、兴趣等。不同的动机对于人们的行为产生的影响以及影响的持续时间是不同的。因此你在开始之前,需要明确自己是因为什么原因来学习这个新东西的。如果你是自发的话,那么恭喜你,你学起来应该会比较心情愉快。否则总有一种「被逼」的感觉,在这种感觉下,无论做什么事情,我都觉的不会太愉快。

明确了动机以后,往往目标也就很明确了。当然也可以说是先有目标在有动机也可以,无所谓这个不重要。之所以要明确目标,主要是为了可以知道自己什么时候已经达到了目标。在尝试学习任何东西之前,你都应该在自己脑海中清晰地描绘出成功的样子。当你知道自己的目标是什么的时候,你就可以更轻松地使用倒推的方式,明确实现目标所需的步骤。

好的目标应该是具体的、无二义性的。不要对自己想要完成的任务进行含糊不清的描述。相反,要列出某一特定的结果,或者一旦实现自己所能达到的目标你应该能够做到的事情。你想从自己的学习经历中获得什么决定了你的成功目标是什么。请确保你能借此在学习结束后评估自己是否达成了目标。 好的成功目标也能让你向着既定的更大的目标不断前进。

比如你的目标可能是在xxx时间内,我可以使用Python语言写一个抓取自己weibo的脚本。

了解全局,确定范围

在这一步,你要做的就是了解自己将要学习的主题的全局。这个主题宏观上什么样?你能从中学到足够丰富的知识以了解自己所不知道的吗?以及自己所不知道的有多少?

比如假设你要学习一个新的技术知识,那么全局可能是:这个知识是什么?解决了什么问题?没有这个东西之前是怎么弄的?用在什么场景下?都有哪些公司在用?学习这个知识需要什么前置条件?相关联的技术有哪些?
这样就可以避免出现学非所需,也可以避免自己力所不及。在深入探究某个主题之前至少要对其有所了解,这一点非常重要。这样你才能弄清自己到底要学什么,找出最好的学习方式。

而这些问题通常情况下都可以通过Google来解决,当然也可以通过书籍。不过一般情况下官方网站都会给予这个技术一个高度的概括。还是建议根据官网来了解概括。毕竟书籍和搜索引擎都会有一些滞后。我们在这一步的目的不是要掌握该主题,只是对这一主题的相关内容有一个全局性的了解。

有时候某些主题有点大,你不可能在有限的时间内学会这个主题相关的一切,所以千万不要把自己弄的不堪重负。因此我们需要确定学习范围,通常可以借助自己的学习理由来决定学习的范围。在此过程中,你可能会受到诱惑,为了学习该主题下的不同子主题,你可能会扩张你的学习范围而不够聚焦,但是请务必抵制住这个诱惑,尽可能地保持专注。你一次只能学一样东西。你可以稍后再回头学习别的分支领域,但就目前而言,选择一个专注而聚焦的范围,潜心学习吧。

明确学习范围的时候要考虑时间因素。如果你只有一周时间,你需要本着实事求是的态度 确定自己能在这段时间内学到什么。如果你有几个月的时间,你也许能攻克一个更大的主题。你的学习范围务必大小适当,既能符合你的学习理由,又能符合你的时间限制。

寻找并过滤资源

如今,随着互联网的广泛应用,各种类型的内容随处可见,你几乎可以针对自己感兴趣的任何主题,找到大量的资源。我个人一般会按照以下优先级顺序寻找资料:

  • 官方网站、官方文档
  • 亚马逊上的相关书籍,越新越好
  • Quora上搜索相关的问题
  • Google搜索文章,博客或者其他有用的信息
  • github上搜索示例代码

在这个过程中一定要注意资源的创建时间,因为互联网这个领域内部的东西更新很快,可能一年前的书籍已经因为版本更新而过时了。

资料太多了有时候反而不太好,因此我们需要对资源进行一些过滤。可以依靠网站权威程度,大家推荐程度等情况。一般按照我上面给出的顺序来说往往足够了。有一句话我觉的说的特别好:把时间花在经典上

开始学习,浅尝辄止

在这一步你可以先确定一下自己的学习路径。往往我们会发现自己的学习路径和很多书籍的章节顺序差不多。一般我个人采用的方式是对比几本书的章节顺序,然后确定自己的学习顺序。毕竟如果几位不同的作者都把内容都分解为相同的(或者差不多的)模块和顺序的话,那你按照这样的方法制订自己的学习计划不会有太大问题。

大多数人,包括我自己,在学习过程中通常会犯两类错误:

  • 第一类错误是在知之不多的情况下就盲目开始,即行动太快;
  • 第二类错误是在行动之前准备过多,即行动太晚。

要想在这二者之间取得平衡,你掌握的知识要恰到好处,足以能让你开始学习,但又不会多到让你无力探索,这样你的学习效果最佳。你要专注于掌握自己所需的、能在下一步动手操作的最小量的知识。你可以浏览参考材料,或者每章的摘要,或者各种简介,这些信息足以让你对自己要做什么有基本的认识。

动手操作,边学边玩

大多数人学习的方式,包括我自己之前,都会试图 通过读书或观看视频来掌握某个主题。他们会提前吸收很多信息,然后再付诸实践。这一方法的问题在于,在他们读书或看视频的时候,他们并不知道哪些内容是重点。他们只是因循他人设计好的学习路径。

现在,考虑一下我在这里建议的方法,边看边动手。你无需提前了解全部内容,你要做的首要的一件事情就是亲自操作和亲身体验。采用这种方法,你通过探索和实践进行学习。在操作的过程中,你的大脑自然地产生各种问题:它是如何工作的?如果我这么做,会发生什么?我该如何解决这个问题?这些问题引导着你走向真正重要的方向。当回过头寻找问题的答案的时,不只是这些问题迎刃而解,而且你记得的东西比你学习的东西要多得多,因为你所学到的都是对你很重要的东西。

在这个期间,你会遇到一些你可能暂时无法解释的问题,那么先不着急,做个标记。最后统一解决。

全面掌握,学以致用

好奇心是学习特别是自学的重要组成部分。当我们还是孩子的时候,我们就处于主要由好奇心驱动的快速学习期。但是,随着我们日渐长大,大部分好奇心也随之消失,我们把世界上的一切看作理所当然。结果,我们的学习放缓,我们觉得学习非常枯燥,并不令人着迷。

这一步的目标就是让你找回好奇心驱动的学习。在上面的步骤中,你通过动手操作发现了一些尚未找到答案的问题。现在,是时候来回答这些问题了。在这一步中,你要利用先前收集到的所有资料,进行深入学习。为了有效利用自己选择的资料,为上一步产生的问题寻求答案,阅读文字、观看视频、与他人交流都是必要手段。这能让 你沉浸在学习材料中,尽可能地汲取知识。

不要害怕回头再去操作实践,因为这不仅能让你找到问题的答案,也能让你学到新东西。给自己足够多的时间去深入理解自己的主题,你可以阅读,可以实验,可以观察,也可以操作。不过请记住,你依然没有必要把收集到的所有资料全部仔细看一遍。你只需要阅读或观看与当前所学相关的部分。我们很少能有足够的时间把一本书从头读到尾。这些资料只是帮你自学,基本上你可以以解决在动手操作中发现的问题为主要目的。

最后试着把自己正在学习的内容与最终目标关联起来。你掌握的每个模块知识,都应该以某种方式推动你向着终极目标前进。

乐为人师,融会贯通

大多数人都不敢为人师。我曾经也是。当你在思考自己知道的东西(或者你认为自己知道的东西)是否值得教给别人的时候,很容易陷入自我怀疑之中。但是,如果你想深入地掌握一门学问,想对这门学问做到融会贯通,那么你必须要做到“好为 人师”。除此之外别无他法。

在现实中,你只需要超前别人一步,就可以成为他们的老师。有时候,比学生超前太多的“专家”反而不能得心应手地教”,因为他们无法与学生产生共鸣。他们忘了初学者是什么样子,很容易专注于他们认为简单的细节。要想确定你确实掌握了某些知识,这是唯一的办法;同时,在你将自己所学介绍给他人时,这也是查缺补漏的好办法。在这一过程中,你要切实剖析并理解自己所学的知识,将其内化到自己的思想;

而且在给别人讲解的时候,你通常会比他人还学得多,你会修正自己关于某个课题的观点,以全新的视角观察和思考。 在你讲解的时候,你经常面对的都是最强悍的问题:为什么?为什么这样就是对的?为什么要用这种方法?当你被迫去探究 这些“为什么”的时候,你可能会发现其实自己并不知道为什么。当你想去帮助别人的时候,你探求答案的过程能让你愈加深入思考,甚至可能完全改变你最初的想法。

最后

如果这套方法论中的某些步骤对你不起作用,或者你觉得某些形式完全没有必要,完全可以弃之不理。这些步骤本身并不重要, 这一学习过程背后的理念才是真正重要的。重点就是你要开发出一套适合自己的自学体系,一套你可以持续不断地加以运用而获得丰硕成果的方法体系。

参考资料

  • 如何掌握所有的程序语言


原文作者: 任文超

原文地址: https://wenchao.ren/archives/484



原创粉丝点击