润物细无声

 

道家追求虚无,虚无是一个很有趣的东西。它既是一种真理和状态,又是一种价值追求:无中生有,无为而治,大音希声,大象无形,无我,人到无求品自高,润物细无声。即使是这样随意列举的一些有关虚无的描述,其中任何一个都有无穷的展开空间。而我最近则对“润物细无声”一词尤为在意,有些思考,就在此对它略微展开。

润物细无声是一种非常有趣的理念,为什么呢?

首先,这是一道找最优解的有趣谜题。

声音除了传递信息和艺术价值之外,大部分都是一种额外的能量损耗,或者是对外界不必要的影响。而要把这些损耗和影响降到最低程度,是一件很难的事情。润物细无声就是在寻找这样的最优解。

从一个10年前的自动化本科生的角度看,在控制论里,“声”就相当于超调,说人话就是用力过猛导致的系统过度反应,这种过度反应会造成很多潜在问题,优点是响应时间快。要避免这种过度反应也不难,就是增大阻尼系数,让系统顺着惯性运行,但缺点是响应慢。所以控制论里最大的难点是怎么在超调量和响应时间之间找平衡,这里面涉及很多复杂的公式和方法,而且都是近似方法,有时需要手动尝试各种数值,而缺乏一套能找到最优的确定步骤。

从一个码农的角度看,对于一个问题最容易想到的算法往往都是遍历所有可能的暴力破解法,这会消耗很多内存和时间资源。而内存、时间资源消耗最小的方法往往都是最难找到又最精妙的方法。

其次,这是一种最纯粹的行为方式。

前面提到,声音可以用来传递信息。润物而又发声,一个可能目的是通过发声宣传自己做好事的行为,为自己打广告。而很多这么做的往往都是骗子,比如陈光标。所以润物无声就是一种只专注于做事,而没有其他杂念的非常纯粹的行为方式。

那么具体如何“润物细无声”呢? 我绞尽脑汁,想了以下具体实例\(≧▽≦)/

1. 倾听别人。

这个属于社交101 的经典建议,因为人渴望被倾听。生活中也遇到过具体的事情。疫情时有一次在一个平台上1 on 1 练口语,老师是个普通的美国人,也不是专业教师,那一次上课过程主要是那个老师在说话,他主要发表一些对各种时事的看法,而我则不好意思打断只能倾听。课后那个老师似乎很开心,还给我发私信说感觉上课很愉快,舒缓了很多疫情的郁闷,希望还有下次。

所以倾听别人就是以无声的方式让别人快乐。


2. 当和别人有不同意见时,避免直接反对,而是让别人自己思考。

很多人面对不同意见或者反对意见时,都会不自觉得产生抵抗意识,为自己辩护,而不认真思考别人的反对意见。所以如果想说服别人,就要避免直接反对而激发对方的抵抗意识,否则来来回回反而会浪费很多时间。取代直接反对的方法有两种,一种是通过问一些开放式的问题的方式,引导对方往我要的方向上想,想出来就是他自己的成果,他也就更愿意接受。另一种则是不表现反对的态度,而只是提供各种支持我的观点的信息,让对方自己想。这个方式上印象最深的例子来自一部暴露年龄的动画片《四驱兄弟》。男主角开发了一款新四驱车,但是受限于车体强度不够而无法发挥100%性能。此时博士带回了一种强化喷雾,一开始博士直接建议男主使用,被男主拒绝,因为他要自己开发。后来博士和另一个老师演了一出戏,有意无意得向男主展示了强化喷雾的威力,然后男主就自己去拿来用了。

所以虽然避免直接反对而采用询问或者暗示演示的方式会降低自己的存在感,却是一条行之有效的说服别人方法。


3. 教育孩子以引导、身教为主,而非强迫。

虽然虎爸虎妈也能教育出某个方面特别优秀孩子,但这样的孩子会有很多心理问题。而相对的如果父母给孩子提供各种可能的路径,并且鼓励孩子在自己感兴趣的领域尽可能做到最好,这样孩子便更容易发现自己真正适合并且感兴趣的领域,因为最了解一个人的只有两种人,一种是他自己,另一种是专业的心理医师。但即便是心理医师,要想影响改变一个人,很大一部分也是帮助那个人更加了解自己。同时这种方法也满足了人的自我掌控的基本需求。引导之外,也可以采用身教的方法,因为人有模仿身边的人的天性,父母用自己的身体力行,向孩子展示做人之道,让孩子自然而然的模仿。

所以用引导、身教的方式教育孩子就是用最少的说教让孩子自由得茁壮成长。


4. 开源软件

开源很多是程序员业余时间开发,并且自发协作贡献代码,使用免费,同时解决常见的基础需求,非常符合润物细无声的理念。同时在一般的程序员的工作中这也是非常值得借鉴的。与其复制粘贴别人的或者别的组的代码,不如自发的写一些通用的库,并且修改各个组的代码都去用新的库,让整体代码更容易维护。


5. 一些framework 通过自身的特别的调用方法而非文档来引导开发者使用好的设计模式。

优良的设计模式可以提高代码的可读性和可维护性,降低出问题的概率。 但很难强迫程序员在代码中使用,因为这不会妨碍功能的开发。所以一种解决方法是对程序员多做培训,多写教程文档供程序员参考,这种有声的方式无疑要耗费很多沟通的时间和精力,而且要对每个程序员都做这样的培训,不是很scalable。另一种更高效的方法是把好的设计模式刻进底层的框架和库的使用方法里,这样程序员在学习和使用这些框架时就自然而然的采用优良的设计模式,省去了沟通培训写文档的时间,达到润物细无声的效果。


6. 产品的小功能给用户提供大方便

很多设计的好的产品,无论是日用品还是软件,都会有很多虽然看着不起眼,甚至不会写在说明书里的功能或者设计,但确实用起来很顺手,大大方便用户。这种润物细无声的效果来源于产品生产者的精益求精的精神。


7. 通过搭建平台,鼓励参与者自发在平台上创造价值,丰富生态;

这里平台指的是一个很宽泛的概念,既可以是一个论坛,也可以是软件云服务,还可以是交易所。它们的共同点是不参与实际的产品或者内容生产交易,而是默默地提供基础设施,让平台上的参与者以低成本自发创造价值,满足各种用户需求。


以上这些例子可以总结为以下几条方针:

  1. 对他人和事的好奇心、探索心;
  2. 顺势而为;
  3. 优先打造基础设施和框架;
  4. 精益求精;

Popular posts from this blog

Does Free Consciousness exist ?

View and Build Government Organization like a Software

Software Architecture Books Summary And Highlights -- Part 1 Goal, Introduction And Index