Skip to content

以哲学为师

认知并不是一个新的话题。2021 年知识付费如火如荼,刘润、罗振宇等人通过比普通人高的认知能力获得了他们想要的东西;各个行业咨询公司也站在更高的维度把握行业方向;管理大师通过高明的认知能力让团队勤勤恳恳为他工作。

在不好的一面,一些成功学大师也通过独特的认知能力收割大众,导致参与人高价参加课程换来的是如镜花水月一般的"成功梦"。

对于普通人来说,这些内容并非没有道理,刘润有道理、罗振宇有道理、产品经理梁宁有道理甚至成功学大师陈安之也有道理,但是,合到一起没有道理。或者,今天有道理,明天又没有道理了,后天继续想想还是觉得有道理。

这些道理在生活中无处不在,比如,有人说做人要宁死不屈,也有人说要屈能伸。在建立自己的世界观和认知体系之前,太多的道理反而成了认知负担。

我们如何建立自己的认知体系?

我们并不是首个回答这个问题的人,建立在空想和畅销书之上的认知是非常脆弱的,而且很难形成体系。每一个人都有自己的想法,建立认知体系的过程只能靠自己完成,外界的知识只能提供养分。

古希腊、中国的先秦时期已经诞生了大量的思想家,先秦的思想家即使在科学技术落后的时代,认知能力也比现代的普通人要高。在西方,我们可以学习苏格拉底、柏拉图、亚里士多德等哲学大师的著作和思想;在东方,我们可以学习诸子百家的思想。

随后的几千年时间里,黑格尔、叔本华、笛卡尔、康德、尼采等哲学家为我们建立了浩瀚的思想宇宙,通过哲学我们可以建立强大的认知体系。哲学并非缥缈虚无,建立在哲学之上的认知无比坚韧。

这和软件工程有什么关系,如何利用哲学的认知体系解决软件工程中的问题呢?哲学包含了认识论、逻辑学、方法论等不同的分类,这些内容可以指导我们如何辨别过度的信息、如何找到合适的方法、如何理解业务、如何建模和架构,以及如何处理团队的问题。

亚里士多德的逻辑学可以让我们在沟通过程中分辨什么是诡辩,什么样的描述是符合逻辑的。例如,订单中的商品是商品吗?要回答这个问题,需要深入理解概念,通过概念的内涵和外延来识别软件建模中的陷阱。基于逻辑学,可以让我们更深入的理解概念,不被概念的名字迷惑。

方法论这个词汇起源于笛卡尔的《谈谈方法》[3],那么软件工程中的各种方法论说的又是什么呢?例如,笛卡尔在《谈谈方法》中告诉我们如何分解问题,合理地分解问题和任务是测试驱动开发(TDD)的前提。

哲学分支认识论 [4]用主体、客体描述行为,将操作者看做主体,将被操作者看做客体。通过主客体方法可以把代码写的如自然语言一样流畅。定义清楚谁操作谁,使用拟人、拟物的方式来定义代码中的职责,这样的代码更加符合普通人的理解方式。

用哲学理解团队协作也别具一格。《社会契约论》[5]中,组织是个体权利让渡后的结果。个体让渡了部分权力,以失去部分自由的代价实现团队协作,以换取个体的利益,当个体利益受到损害时,团队就会崩溃。这种认知要比道德、情怀的诠释深刻得多,也有用的多。

Released under the MIT License.