十步学习法与程序员延寿指南

最近一直在思考如何制定自己的个人目标,凑巧某天开车的时候在微信读书上听到了《软技能:代码之外的生存指南》 这本书,里面提到的关于程序员职业生涯规划部分十分受用,后来到喜马拉雅上找了个更好的版本,快速把第一篇听了一遍,并且趁周末仔细的阅读了一下电子版。

目前整本书还没有读完,我挑了其中个人比较感兴趣的职业篇和学习篇阅读完了,其中职业篇有介绍到设置一个人生目标,而学习篇则介绍了作者本人总结的一套学习方法,他称之为 “十步学习法”,本篇文章主要就是我自己使用十步学习法进行个人目标设置和规划的一些实践。

什么是十步学习法?

作者说自己 33 岁就已经实现了财务自由,且同时还是一个健身博主、营销专家,本书的序其中还有 Robert C. Martin 这样的大牛,说明作者本身在编程领域也有很深的造诣,这些跟他自己的学习方法关系密切。同时他还利用自己总结的这套学习方法在一年内开发了超过 30 个适合开发人员的长期培训课程。当然,很多这种所谓的成功学都是有很多水分的,我们只需要借鉴其中个人觉得有价值的东西即可。

这里我先直接上一张书里面的图:

20220821101304

十步学习法的基本思想就是先对自己所需要学习的内容有一个基本的了解,知道自己有哪些不会的知识点,再根据这个圈定好的范围明确目标和计划的制定。

整个方法分为十步,所以被称为“十步学习法”,其中,1-6 是一次性解决的问题,7-10 则是需要重复训练学习的部分。从整个大的流程来看,十步学习法跟 PDCA 工作法或者费曼学习法有很多共通之处,作者应该也是受了相关方法论的影响总结出的更加适合自己的方法。比如在学习之前,先明确自己的整体目标,开始学习之后,不要一头扎进去,而是要边玩边学,把自己实践过程中遇到的问题记录下来,汇总部分问题之后再回头看书学习解决问题。这与 PDCA 中,制定计划、执行、定期检查的流程基本类似;而十步学习法的最后是乐为人师,这应该也是借鉴学习金字塔或者费曼学习法而来,掌握知识或者技能的最好的办法就是教会他人自己所学到的东西,既可以在整理准备的过程中回顾自己学到的内容,又可以从他人的反馈中知道自己哪些地方还没有吃透。

对我个人而言,这套方法中最有价值的地方在于作者单独把 1-6,也就是如何制定目标和计划的部分加以抽象总结,这是我之前未在其他方法中看到过的。尤其是其中关于学习资源的部分,非常适用于当前这个知识大爆炸的时代,很多时候,人们并不是找不到资源,而是资源实在太多了,很容易淹没在信息大海里面,忘记了本身的初衷。

个人实践心得

我自己最近在思考的一个个人目标就是如何健康的长寿,不光要活得健康,最好还能活得久,读了这本书刚好练习学习方法的时候制定一下自己的长寿计划。在具体练习的过程中,我发现十步学习法稍微有点冗余。每次制定学习计划时,如果都 1-10 这么来一遍,过于繁琐,且很多时候你会发现按照 1-10 这种方式挨个执行,自己都不知道自己当前在第几步,这里指的主要是前面 1-6 的部分。 比如了解全局,如何了解呢?大多数人肯定还是网上搜索资料,那这一步跟 4 寻找资源有啥区别和联系? 2. 确定范围 跟 3. 定义目标,本身感觉也容易边界不那么清晰。当然,作者本人也提到,并不一定非要按照他这个步骤来,这些步骤本身并不重要,重点是读者需要开发出一套适合自己的自学体系。

我把这十步划分为了四个大的部分,这样边界更加清晰,比较适合操作,跟原有的方法对应关系如图

20220821174104

一、制定计划前的准备工作。

你不知道哪些你不知道的事。

这里包括原方法的 1-4 以及 6,重点是如何快速了解一个自己不知道或者不熟悉的主题,并且能够制定一个有明确目标的学习计划。我把筛选资源这一步也归类到准备工作中,原因是我个人觉得,在检索资源的同时,就应该利用自己的鉴别能力对资源进行筛选,只利用其中优质的资源进行计划的设定,把筛选步骤放在前面好过制定完学习计划之后发现这个信息源不靠谱,需要推倒重来。

为了能够制定一个学习计划,我们需要明确以下几个问题:

  1. 我需要掌握哪些基本知识?
  2. 我现在学的东西有多宏大?我应该怎么做?
  3. 哪些是属于学习了就能满足 80% 日常使用的内容?

以健康长寿计划为例,这里首先需要明确需要研究的主题是什么,此时因为对主题缺乏足够的了解,所以有一个模糊的概念即可。我比较关心的是如何健康长寿的生活,所以直接检索 “长寿” “健康” “不生病” 等关键词,以便对于这个主题有一定了解。

关于信息检索,由于目前互联网发布信息的门槛过低,以及大量 内容农场 - 维基百科,自由的百科全书 的存在,很有可能你检索到的信息会把你往沟里带,具体例子可以参考 魏则西事件 - 维基百科,自由的百科全书,这里强烈推荐使用 Google 或者 DuckDuckGo 引擎,同时,如果你英文水平尚可的话,优先使用英文进行检索,尤其适用于一些专业度非常高的主题(比如计算机、医学等)。

在你检索得到一大堆结果之后,如何快速获取自己需要的主题信息以及如何进行筛选是另外一个很重要的工作。目前网络上的资源包括各种自媒体文章、视频、音频、书籍等等,很容易就让你眼花缭乱,忘记了自己想要做什么。在这里,我的一个小建议是,优先选用一些领域专家出版的书籍作为信息源,而不是各种自媒体文章或者其他信息。这样做的原因包括:

  1. 通常来说,领域专家在他们自己的领域内,可信度较高,他们已经在各自领域积累了大量的知识。当然,非他们领域发表的观点可以忽视。
  2. 相对于自媒体文章来说,发表书籍成本更高一点,能够过滤掉大多非专业人士转载或者半懂不懂的观点。
  3. 一般书籍都会标明引用来源,所以往往一本好书会给你推荐更多此主题的好书。
    当然,这同样带来了一个弊端,那就是书籍通常迭代速度比较慢,对于一些非常前沿的领域,往往通过书籍获取不到太多有用的信息。不过,对于绝大部分人来说,可能一辈子也没有多少学习这些前沿知识的机会,所以这个弊端可以接受。

另一个关于了解主题的建议是,快速翻阅找到的这些书籍的目录。通常来说,作者在编写书籍目录的时候都是经过深思熟虑的,某主题的书籍目录,往往涵盖了这个主题大部分内容,且一般是由浅入深,带你逐步了解熟悉这个主题。所以翻阅目录能够让你在最短的时间内知道这个主题所涵盖的大部分知识,便于你选取自己的学习目标,制定计划。

拿我研究的长寿计划举例,在检索了相关关键词之后,我得到了一大堆文章,同时,我还在豆瓣、亚马逊等地方检索有关这些关键词的书籍,得到了一堆书籍,包括《管理你的健康》、 《人体的故事》、《端粒》、《长寿》、《人为什么会生病》等等。通过翻阅这些书籍的简介和目录,我大概知道了影响一个人健康和长寿的主要因素包括身体健康和心理健康,涉及到了医学、心理学、营养学等等内容。

20220821181049

之后就是对这些资料进行筛选,同时慢慢对自己要研究的目标有了逐步清晰的认识,同时从 geekan/HowToLiveLonger: 程序员延寿指南 | A programmer’s guide to live longer 了解到了什么是全因死亡率。同时根据个人情况逐步对已有资料进行剔除,比如自我感觉心理状态还可以,可以先跳过心理健康相关书籍和资源;目前还比较年轻,同时也没有家族遗传病史,所以疾病学相关知识也可以先略过,等以后再研究。最终,明确我的目标变成了制定一个降低自己全因死亡率的初步计划(暂不包括心理健康、疾病学相关主题)。

检索资料和筛选的过程,就是逐步发现自己的目标,一步步靠近的过程,这里最实用的原则就是 ”二八定律“(也就是帕累托法则 - 维基百科,自由的百科全书)。个人精力是有限的,你不可能做到面面俱到,尤其是在你对一个新主题不了解的情况下,这时候如何根据自己当前的情况,明确自己下一步的目标就非常重要了。既能够节约你大量的时间,又能够让你摆脱知识焦虑。当你逐步达成了现有的目标之后再回过头来查漏补缺,对这个主题其他目标发动攻击。

二、制定学习计划。

当你有了一个比较清晰的目标之后,接下来就是要制定一个可执行的学习计划,目标就像是航海中的目的地,而计划就是航线,没有目标或者航线你就会迷失在大海之中。制定计划的过程中最重要的原则就是 SMART原则 - 维基百科,自由的百科全书,其中我感觉最受用的就是可衡量 M、可达成 A、和时限 T。时限,不用多说,通常情况下,你的学习计划都需要一个截止时间,所谓的 deadline 是第一生产力一定程度上非常准确,大部分人制定的计划也都会包含这一点,但很多计划中缺失了可衡量和可达成原则。可达成不必多说,如果你给自己设定的目标压根完不成,那计划自然也就失去了意义,比如你希望自己长生不死,这违反了已知的自然规律,自然也就无法执行落地。可衡量的重要意义在于你需要明确的知道自己到底有没有达到这个目标,比如说你的目标是锻炼,那么每周锻炼三次或者今天锻炼 45 分钟都是一个非常好的目标,今天练到爽就是一个不可衡量的目标,因为爽的定义非常难,你今天觉得练得很爽,下次相同的练习就未必了。

降低自己的全因死亡率显然只是一个很粗略的目标,我们需要更加详细的执行计划,不过由于这个目标的特殊性,它并不是每个阶段产出结果的,我们只需要确保过程中的小目标都是可衡量,有时限的即可。

我自己的计划设定中,很多信息都是来源于 geekan/HowToLiveLonger: 程序员延寿指南 | A programmer’s guide to live longer ,推荐大家也都去了解一下。结合我自身的情况,以及是否可衡量,对已有的这些影响全因死亡率的因素进行过滤。比如,其中吸烟、喝酒等习惯我都没有,可以忽略;刷牙由于目前基本每天执行,也没必要放到计划中;同时,我尽量挑选那些影响比较大的因素(二八定律),所以少喝或不喝甜味饮料、多吃植物蛋白等也排除掉。得到一个可执行的计划:
20220821184129

三、在学习和实践中反复练习。

有了一个可量化可执行的计划之后,接下来还需要解决一个很重要的问题,那就是目标追踪,也就是说你如何跟进你的进度,如何知道自己什么时候应该调整计划。现在这类目标跟踪软件网上非常多了,我自己最近在使用 Vision,这个是买断制软件,同时支持 iOS 和 Mac平台,买断价格是 88¥,感觉还是很良心的。
20220821184541
我选择这款软件的原因有:

  1. 买断制,一次付费就可以。
  2. 同时支持 iOS+Mac
  3. 进度展示非常明确,支持累计次数、平均值、最大值等统计方式,定期打卡即可看到自己的进度变化,很有成就感
  4. 支持日历同步,配合系统日历提醒,确保不会遗忘

不过这个软件针对我目前这种需要重复完成的目标支持的不是很好,比如我想要完成每天早起的目标,因为目标必须要有起止时间,那么我还得计算这个周期内总共有多少天,我需要完成多少次,略有点繁琐,除此之外整体使用体验还不错。

这部分另外一个重要的内容就是在学习和实践中掌握平衡,反复练习,这里不得不佩服孔子在两千多年前就提出了”学而不思则罔,思而不学则殆“,理念十分类似,类似的理论还有王阳明提出的知行合一。 如果明确目标之后,就一头扎进去看书学习,而不进行实践,你会发现自己很容易学完就忘;而如果稍微看一点就开始不断尝试,你会花费大量的时间,很可能尝试了几天都未能解决的问题,就在你要学习的下一章提到了。所以如何边学边练是这一部分的重中之重。

对于降低全因死亡率这样的计划来说,并不能像学习新的编程语言或者学习如何搭建一个 SpringBoot 应用实操性那么强,不是很能体现学习和实践的紧密关系,但也是适用的。经过初步的了解之后,可以深入到各个子主题里面学习,比如如何提高自己的睡眠质量、如何提高自己的心肺功能、如何增肌等等,更具体的例子是学习了一个新的健身动作,如何通过看视频、听教练指导一步步矫正自己的动作,过程中你还可以通过录像查看自己的动作是否标准,并与学习视频逐一对照修改,直到动作十分熟练,形成肌肉记忆。

四、乐为人师,融会贯通。

跟原有方法保持一致,参考费曼学习法 - MBA智库百科,比如通过写博客的形式把我自己的实践经验分享出来,本文不再展开。

结语

这次的研究课题其实不是很适合用这个学习法,实操性比较差,后面的步骤介绍的不是很好,不过十步学习法中的重点还是在于如何检索资源、筛选资源,并且利用二八定律快速制定一个可执行性较强的学习计划,关于这部分,我感觉还是非常有用且在我制定自己计划中起到了重要帮助的,把之前可能已经在用的一些思路、原则很清晰的提炼总结了出来。
希望也能对你起到一定作用~