程序员是终身学习的职业,应该怎么学习?

在上一篇《一款用了就不想走的工具》中介绍了一款工具 Notion ,可以做学习的规划、时间的管理、学习的记录等,但学习本身还是需要一些方法的,本文谈谈我对学习的一些感悟。

不管你是刚刚进入职场的新人,还是工作多年的老兵,或许都有这样一些困惑:

  • 看了很多的技术和管理的书籍,但关上书之后书中讲的内容都不太记得了;
  • 每次准备入职面试时,精心准备的算法和设计模式之类的内容,当过了一段时间之后,便会抛之脑后,不能很清晰说出使用场景和原理;
  • 每天利用通勤时间看了大量的公众号技术文章、博客等,但在个人技能提升上没有很明显的提升。

这些问题之前也困扰着我,也是在不断地学习和摸索,慢慢找到一些方法:

  • 保持学习的热情
  • 费曼学习法
  • 逃离一万小时理论
  • 利用碎片化时间系统化学习

保持学习的热情

兴趣是最好的老师,很多时候同样的事情重复地执行,会使我们感到枯燥乏味,慢慢丧失了兴趣,比如在教女儿写字的时候,使用了一个方法,让她每天写日记,内容写什么都可以,不会的字可以用拼音代替,每天写完后,会把她不会的字标注在空白处,坚持了几个月效果还是挺不错的,但慢慢有时对写日记比较排斥,这时换一种方式,在周末的时候,一起用小木棍玩拼字的游戏,其实是变相地在写字,由于变得有趣了,兴趣也就有了。

除了兴趣,要想能够持续,那么我们的目标就不能设置的太高,太高会让我们望而却步,难以坚持。在《微习惯》一书中讲的的方法可以解决这个问题,并适用于每一个普通人,就是让目标设置的足够简单,比如要写一万字的文章,现在每天就写20个字,20个字你不可能做不到,所有人都能做到。想要锻炼,那就从每天一个俯卧撑开始,你根本就不可能失败。作者把这套策略叫作 「微习惯」。

最近我也在使用《微习惯》中的方法,由于天气太热,晚上对出门跑步有点排斥了,我就告诉自己,每天不是非要跑步,下楼去走几圈也可以,这样就没那么排斥了,但只要换上运动鞋下楼了,除了走,还是会跑一下的,锻炼的目的达到了。

费曼学习法

或许你没有听过费曼学习法,但有可能你已经实践过此方法,该方法非常的简单,比如我们想要学习某个技能的时候,大概要做下面几个步骤:

1、在一张白纸上,或者用思维导图,写出你想要学习技能的相关知识点;
2、模拟教学,想象自己是一个老师,最好是有一个具体的传授对象,将所学习的知识教授给他们,费曼认为,如果你不能向一个小学生解释清楚某个事物,那说明你没有真正的明白;
3、模拟教学不可能总是那么顺利,总会有一些卡壳的地方,这些地方需要重点记录下来,进行资料查阅和有针对性的突破;
4、查缺补漏之后,会有更全面的认识,然后继续第二步,进行模拟教学,重复2、3,直到完全弄懂。

平时在团队中我一直鼓励大家做技术分享,这个也是考核的一个加分项,也是希望通过这个方法让每个人在技能上有所突破。

对女儿的教育也是一样,我经常让她把老师教给她的知识转教给我,其实也是希望通过模拟教学,让她对知识能有更深刻的理解,有些地方如果她讲不出来,我再有针对性地进行辅导。

逃离一万小时定律

一万小时定律很多人都知道,现在只要提到这个定律,很多人都会理解成只要在某个领域时间超过一万小时,就可以成为这个领域的专家。这个理论最早来源于《异类》这本书,作者马尔科姆·格拉德威尔也说了这个只是必要条件,没有说是充分条件,但很多人忽视了这一点。

很多使用一万小时定律的人看似勤奋,但其实是低效率的重复,这就可以解释了为什么很多十几年工作经验的程序员水平还很低,就是因为每天都在重复地做简单的事情。

最近为了教育家里小朋友买了黄静洁的《学习的格局》,里面也提到了一万小时定律,书中认为要正确使用一万小时定律,我们在这个时间内需要一直待在学习区,除此之外还有舒适区和恐慌区,比如上面提到的每天做很简单的工作的程序员就是待在舒适区,所以时间再长也没有进步。恐慌区则是要求太高,能力够不到,而屡屡带来挫败感,最终可能导致放弃。

学习区就是需要我们进行刻意练习,每次能提高一点,螺旋式地上升,首先取得进步,然后到了一个瓶颈,被困住了,寻找不同的方法来克服障碍,最后找到了这种方法,然后又稳定地提高,直到下一个障碍出现。

锻炼也是如此,长时间没运动后的第一次,会非常有感觉,但如果相同的节奏持续了一段时间,便会进入舒适区,需要寻找其他的方式来继续加大刺激才会有持续的效果。

利用碎片化时间系统化学习

「碎片化」和「系统」看似是两个矛盾的东西,但在今天这个信息爆炸、快节奏的时代,我们需要学会利用碎片化时间来进行系统化学习。

我一直认为学习任何技能需要进行系统学习才可能更全面地理解,更有大局观,最好的方式就是书籍、专栏等,但首先我们要建立这个技能的一个知识架构,可以使用思维导图。这个知识架构就像是一棵树,有很多的分支和叶子,书籍和专栏学习的产出(笔记、示例代码等),会慢慢填充这些分支和叶子,我们在平时碎片化时间中学习到的一些知识点可以纳入这个树的结构中,而不是作为一个孤立的点。

慢慢这个树会越来越大,这时需要做一些优化和调整,同时也可以使用费曼学习法来进行知识吸收。最终树又会变得清晰和简洁,而知识你已经了然于胸,这就是将书读厚再读薄的一个过程。

学习是一件终身的事情,我们需要不断地探索。

希望本文对您有所帮助。