如果你要投资时间和精力去学习某个课题,请先评估你的风险。

阅读或者看视频时,遇到“深以为然”的内容,紧赶慢赶记到笔记上,生怕差一秒钟这份感知就会溜走。在网上看到逻辑通顺的技术贴,大略读读,复制一些段落到笔记里面,再加上几个标签分分类。兴致来了研究一个高深的内容,花一天时间整理了一大篇笔记放到我的知识宝库中。 

我的笔记上囤积了不少这样“珍贵”的内容,像珠宝收藏家看着璀璨的钻石宝石摆在柜台上,内心收获感十足;买了一堆从不会翻开的哲学书,光是看着就感觉已经成功探究到世界的本原;收藏了一堆游戏技术贴,恍惚间已经看到自己在峡谷大杀四方了呢。

摘要

时间和精力是我们每个人手中有限的筹码,可是我们分配它的方式太过于随意,挥霍之后也无知无觉,却总在抱怨付出和回报不成正比。你真的确定自己的时间都分配在了有效的知识学习上了么?当你准备开始学习某个知识技能时,你的第一步是什么?

当你想要学习一份知识技能,先别上头,问自己几个问题。

  1. 我学习过相关的内容么?这是一份新的知识么?
    1. 长久来看,我的三分钟热度有支撑么?
    2. 我是“认同”还是“需要”
  2. 我需要的是“观点”还是“方案”?
    1. 一个我需要知道的“常识”
    2. 一份可以参考的实践“方案”
  3. 我将要在哪里用到它?
    1. 提升能力和提高效率
    2. 开拓新领域

 


囤积知识

我钻研过汇编语言语法,音视频处理原理,OpenCV 原理,花费大量时间去看一本又一本大部头书,翻译全英手册,写了一篇又一篇笔记。

这些当然对我有帮助,但很有限。相当有限,我不是底层硬件工程师,不是音视频处理行业也用不上OpenCV,全英手册的翻译很耗费精力,没精力维持的知识后面都被我遗忘了。

为什么精心整理的知识,最后放在角落里落灰?”

整理这些内容之前,我很少问自己,他们是出于什么样的需求?这些内容以后能够用的上么?我真的有时间剩余精力去维持推进么?

如果用不上,整理这些知识的意义和我购买的晦涩哲学书,收藏的技术贴有什么区别?你永远不会翻开他们,因为你当下不需要,未来也不需要。 

这些笔记满足了一颗‘上进’的三分钟热度的心,这就是它们的全部作用了。

更糟糕的是,有时候我的热度不止三分钟,一天,一个星期甚至一个月,等这热度消退之后,没有足够的外力加持热度,耗费了很多精力,浪费许多时间,囤积了大量的用不上(总觉得以后会用得上)的知识。

所以,下次在热度上头之时,考虑一下,问问自己,上次学习欲望上头时积累的知识用上了没?

环境支撑

任何的学习都需要环境,一个“我真的需要”的环境。 没有这个环境,知识注定被遗忘。

收藏游戏技术贴是因为在打游戏的时候真的太菜,你喜欢打游戏,也真的需要这个技巧来让自己不挨骂。

阅读哲学是因为内心真的对这个世界疑惑得不行,要带着好多问题去书中寻找答案,去问那些哲学家。

学习这项技术是因为项目需求,或是工作需要,它能提高效率,提升你的能力,甚至写到你的简历,用到面试里面。

也可以说是目的,但并不是功绩主义那样的目的,而是从自我出发的需求。 

一切都要以实际存在的环境为支撑,只有这样的学习才能得到实践,热度才能够持续不断。

认同还是需要

“人类从历史中学到的唯一教训,就是没有从历史中吸取到任何教训”。这是黑格尔说的,我相当认同,但除了认同之外,以我当前的水平,想不到其他的了。 

这句话于我,就像数字的加减乘除研究一年也还是四则运算,我记录再详细的交换律和结合律也没什么用,四则运算本身就像是一个句号,代表着我再也没有需要问的问题了。

一个句号对于我的职业迷茫没有用,对于解决“提高软件性能”没有任何帮助,我需要的是一份方案,一个思路,而不是一个我已经认同的观点。我可以把这个观点放到自己的备忘录收藏夹,闲暇的时候再翻看下,提醒自己,但是除此之外,它无法为我提供更多的价值。 

认同还是需要,这是必须分辨的因素,认同有时候代表着“我没有需要质疑的地方”,代表着没有进步可言。

观点还是方案

在需要学习的内容基础上,我将自己的预备课题分为“观点”和“方案”。

举个例子,“进程间通信”不是我的工作范围,出于技术人员的自我要求,我认为自己需要了解一些进程和线程,资源和内存这样的概念。那么我需要的只是观点,不是方案,我只要知道进程间通信有这个有那个,再大概看看技术帖代码,这就够了,不需要写个demo来实现,没有深入的必要,因为我不需要,用不上,不被忽悠就行。 

但有个渲染相关的公式帖,这是我的本职,或许这个项目,或许下个项目,我真的需要它,那么这就是一份“方案”,我要详细的记录下数学原理,记录实现方式,写几份代码练练手。

区分观点和方案,是为了避免囤积知识,给自己的划清界限。计算机领域中,技术和技术之间距离很近,可时间和精力是有限的,专注做好自己的那部分才是最重要的,如果你连自己手里的都没有做好,就不要东张西望,看别人的领域。厨房里,炒菜的和颠勺的各司其职才能做好一道菜。

补充:评估时间

刚开始工作的时候,经常有人来问我,你这个改完需要多长时间?评估一下工时。 

我当时真是困惑,完全没有概念,我不知道自己写完一个功能要多长时间。当时我总参考别人的工时和项目,提一个比较宽泛的时间。

随着我越来越熟悉工作,我会记录自己做完一个功能,修改一份代码大概需要多少时间。 有意识的记录让我对自己的效率有了更清晰的认识。

评估时间,是需要经验的,并且这个经验需要耐心和恒心的积累。首先分类手头的任务,任务量划分下,做之前看下时间,做完看下时间。容易被打断的任务,需要等待的任务,特殊的任务需要评估更多的因素,这都不是凭空造出来,有耐心是前提,必须有意识的记录时间和关注自己的精力消耗。