Email the Author
You can use this page to email Shaogefenhao about 程序员的认知心得.
About the Book
2012 年从编写第一个网站开始,有幸进入程序员的行列已经接近 10 年了。十分惭愧的是,在这期间并没有什么特别的成就和产出。
还好喜欢思考以及写写东西,将工作、生活中收集到的一些关于软件工程中的认知心得从不同地方整理出来,构成了这本个人风格非常强烈的电子书。我给这本小小的电子书起名为认知心得,你可能会好奇,为什么我把程序员和认知这两种看似毫无关联的内容联系到一起呢?因为在工作中,我们需要解决大量的问题,而解决问题则需要对事物有充分的认识,这就是认知。
认知,是一个非常"虚"的概念。
在心理学上,有两类智力。
一种被叫做流体智力,类似于计算机的内存、CPU,它的效率取决于个体差异,表现为反应速度、工作记忆等特征。我们常常认为反应速度快、记忆力好的人更聪明,以至于忽略了另外一种智力。
另外一种智力被叫做晶体智力,表现为最终解决问题的能力。虽然有些人从流体智力看起来更为聪明,但是解决问题并不仅仅靠聪明,还需要用到知识、经验、工作策略来配合才能最终解决问题。
知识、经验、工作策略增强我们解决问题能力的,同时也伴随认知能力的提升。在同样的流体智力下,通过对事物不同角度的认识,获取更好的工作策略,晶体智力会被强化。
我曾在认知中获得甜头,想通一个问题背后的逻辑,可以抵消大量的努力。
比如,我曾短期参与过一些咨询工作。咨询工作中有大量的隐喻,需要分析客户的预期和动机,但是有些动机是不能在明面上表达的,如果我们对动机的理解每多一分,工作就会越轻松。
同样的,我们每时每刻都在做一些判断,认识到问题背后的逻辑,判断越准确,返工折腾就越少。
在另外一方面,我曾掉入另外的陷阱:迷信认知就能解决实际问题,就变成坐而论道缺乏实践了。自以为知道却实际上不知道的人,比知道自己不知道的人更危险。因为后者保持对问题的敬畏,而能把每一件小事做好。
也不得不承认我并非是一个对软件工程认识足够深刻的人,理解软件和做好软件还需要很长一段路要走,而且不能停留到认知本身,还需要落地实践。但是无论如何,有一些网友被我发过的博客吸引而来,有必要整理出来抛砖引玉。
为什么起名为心得是因为这些内容需要在不同的上下文中甄别,并且某种程度上来说没有太多用处,因为"做到"比"知道"更重要,也是我在努力的方向。
这本电子书包含了程序员能用上的一些认知心得:
1. 一些哲学内容,建立接收、判断信息的基本原则。
2. 一些逻辑学内容,将逻辑学的内容和软件工程结合起来。
3. 一些模型思维、软件业务理解、架构相关的心得。
4. 将团队和计算分布式系统连接起来的认知心得。
About the Editor
你可以在我的网站上找到这本书的网页版本 https://shaogefenhao.com