学生时代的模式是,先学课本上的基础知识,比如数学中的定理,再去做题,通过题目强化知识,最后是终极目的-考试。
这里面隐藏的一个细节就是,当面对一个新题目时,解决该题目所需要的全部知识都已经储备好了。实际流程就是:
知识储备---》遇到问题----》解决问题
然而,生活或工作中,是不可能都按这种流程去执行的。我们可以认为,生活就是解决问题的过程,我们所做的一切都是奔着一个目的—解决问题。而在大多数场景下,我们面临的都是 :遇到问题----》解决问题。理论上来讲,这是不可能的,因为能力不是天生的,我们缺少了重要的一步:知识储备。
事实上,从学校进入社会后,我们进行了转变,真正指导我们生活的方法论应该是:
明确问题----》学习(知识/技能储备)-----》关闭问题
而不应该总寄希望于“我应该先把所有的技术学好,然后就能解决工作中所有的问题了”。这是学生时代的遗留思想,认为学习知识是主要的,考试是次要的。需要清醒地认识,知识是我们解决问题过程中得到的附加品,经验也是。知识不是目的。程序员中的“唯技术论”就是没有认识到这一点。这里面还有一个陷阱,问题解决之后是需要总结、再学习,才能把知识内化,成为我们的一部分。很多人问题解决之后就什么都忘了,所以永远都是一个空瓶子。
讲完方法论,我们现在回归到生活中具体的场景中来。比如,很多人都会说,“哎呀,我想学习英语”,然后就开始背单词…背单词…背单词…玩手机。这种是什么?根本就没有明确出问题来,当然也不可能解决问题。我们的目的是学习英语,那么问题是什么呢,是因为需要在英语环境下进行沟通交流。明确问题之后我们就开始有针对性地知识储备,背单词、学语法,这些是基础入门,就像高中学数学时一样,先学定理,然后我们要做题来强化,来代入,可以试着做一些英语字幕翻译、创造英语使用场景,等这些做好了,我们的问题就可以解决了。这就是上述方法论在生活中的指导应用。
在工作中,如果我们能遵循“知识不是目的”的原则和坚持总结,就能避免掉入“唯技术论”的陷阱,变得越来越强。