程序员均会面临诸如快速学习新技术、新编程语言、新框架等压力。真正的挑战在于建立一种简单、透明、具有支持性、自我完善、有灵活性的进程。《软技能》一书的作者便开发出了这种可重复的自学体系。

体系背后的逻辑

在作者职业生涯早年也曾有过将专著一页页读完的经历。这种方法确实能学到东西,但效率低下,在需短时间学习知识时便难以奏效。在寻找更好的自学方法时,作者发现,为了能够掌握一门技术,我们需要了解以下三个要点:

1.如何开始——要想开始使用自己所学的,我们需要掌握哪些基本知识?

2.学科范围——我现在学的东西有多宏大?我应该怎么做?在开始阶段,我不需要了解每个细节,但是如果我能对该学科的轮廓有大致的了解,那么将来我就能发现更多细节。

3.基础知识——不止在开始阶段,要想使用一项特定的技术,我需要了解基本的用户案例和最常见的问题,也需要知道自己学的哪20%就能满足80%的日常应用。

如果我们了解三项主题——如何开始,我能做什么,以及相关基础知识,那么就能随着学习深入学会所需的其他知识。如果想提前掌握所有知识,那只是在浪费时间,因为真正重要的内容会湮没在那些细枝末节中。

十步学习法体系

“十步学习法”的基本思想就是:要对自己要学的内容有个基本的了解——了解自己不知道什么就足矣。然后,利用这些信息勾勒出学习的范围,即需要学哪些内容,以及学成之后又会获得什么。依靠这些知识,你可以找出各种资源(不局限于书)来帮助自己学习。最后,你可以创建自己的学习计划,列出要去学习哪些相关课程,筛选学习材料,只保留能帮助自己达成目标的优质内容。

一旦完成这些工作,你对自己要学什么和怎样学都了然于胸,你就可以把控自己的学习计划中的每个关键点,通过“学习—实践—掌握—教授”(Learning, Doing, Learning and Teaching,LDLT)的过程,获得对该学科的深刻理解,同时你也向着自己的目标前进。

img

第 1 步到第 6 步:这些步骤只做一次

对于“十步学习法”的前六个步骤,你需要集中精力完成足够多的前期调研,确保自己明确知道要学哪些内容,以及如何确认自己已达成目标。你还将学到如何挑选最好的资源来帮自己实现目标、制订学习计划。

第1步:了解全局

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

第2步:确定范围

你想要理解的是“这一主题到底有多大”,以及“如何将其分解为更小的范围”。在一定的时间内,你不可能掌握一切的知识,所以你需要决定学习的重点和学习的范围,将庞大的主题分解为小而聚焦的主题。

第3步:定义目标

在全力以赴启动之前,明确“成功”的含义极为重要。在尝试学习任何东西之前,你都应该在自己脑海中清晰地描绘出成功的样子。当你知道自己的目标是什么的时候,你就可以更轻松地使用倒推的方式,明确实现目标所需的步骤。

第4步:寻找资源

要尝试收集到多种多样的资源以帮助你学习,而不是只读一本关于这一主题的书。资源可以是多种多样的,不局限于书籍。事实上,如今,随着互联网的广泛应用,各种类型的内容随处可见,你几乎可以针对自己感兴趣的任何主题,找到大量的资源。

第5步:创建学习计划

现在你已经掌握了一些资源,你可以借助这些资源对自己要学什么、以什么顺序进行有了想法。在这一步,你需要创建自己的学习路径。把它看作自己写书时候的大纲。

第6步:筛选资源

现在,你知道自己要学什么以及以什么顺序学,那么是时候决定要使用哪些资源来完成自己的学习任务了。回到第4步,你收集了与研究主题相关的所有资源。在第5步中你使用这些资源制订了自己的个人学习计划。现在是时候对这些资源进行筛选,挑选最有价值的几项来帮你实现自己的目标。

第7步到第10步:循环往复

步骤7到步骤10的目标是通过“学习—实践—掌握—教授”(LDLT)的方式真正领会知识。你从掌握恰到好处可以开始的基础知识开始,然后通过操作来学习,同时也通过自我探索收集问题。之后,你掌握了足够多的有用的知识。最后,你能将自己学到的教给他人,以此来弥补自己在学习过程中的不足,同时通过深入思考巩固知识。

第7步:开始学习,浅尝辄止

在这一步中,你的目标是获得足够多的与所学主题相关的信息,从而能让你开始学习,并在下一步中动手操作。对于编程语言或框架这样的技术,这一步还包括掌握如何创建一个基本的“Hello, world!”程序,或者设置自己的开发环境。

第8步:动手操作,边玩边学

起初,你会觉得这步似乎并不重要,不过还是让我们先来考量一下其他的方式——大多数人学习的方式。大多数人会试图通过读书或观看视频来掌握某个主题。他们会提前吸收很多信息,然后再付诸实践。这一方法的问题在于,在他们读书或看视频的时候,他们并不知道哪些内容是重点。他们只是因循他人设计好的学习路径。

你无需提前了解全部内容,你要做的首要的一件事情就是亲自操作和亲身体验。采用这种方法,你通过探索和实践进行学习。

第9步:全面掌握,学以致用

利用先前收集到的所有资料,进行深入学习。

为了有效利用自己选择的资料,为上一步产生的问题寻求答案,阅读文字、观看视频、与他人交流都是必要手段。这能让你沉浸在学习材料中,尽可能地汲取知识。

第10步:乐为人师,融会贯通

在这一步中,我会要求你走出自己的舒适区,将自己学到的知识教给别人。要想确定你确实掌握了某些知识,这是唯一的办法;同时,在你将自己所学介绍给他人时,这也是查缺补漏的好办法。在这一过程中,你要切实剖析并理解自己所学的知识,将其内化到自己的思想;同时,你也要用能够让他人理解的方式精心组织这些信息。

最后的思考

学会自我教育需要奉献精神和辛勤工作,但是你也能从中收获无比丰厚的回报。“十步学习法”并非一个神奇公式,能够让你瞬间变得聪明伶俐,但这种方法可以将你的学习过程更为结构化,而不是漫无目的地一头扎进浩淼的知识海洋之中;这种方法通过利用人天生的好奇心来帮助你吸收更多的知识,而我们中大多数人正是在好奇心的驱使下才学到很多本领的。

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