愤以忘食 乐以忘忧 不知老之将至~

卓有成效的软件交付 - 烦恼篇 - 1+1 = 5、问题、烦恼和魔法

Posted on By Biao Wang


卓有成效的软件交付 - 烦恼篇 - 1+1 = 5、问题、烦恼和魔法

人人都有烦恼。

古今中外解决烦恼都有一套:基努·里维斯的1+1 = 5 trouble_1+1

孔夫子的:三季人的故事 trouble_confucius

司马懿的:学会向愚蠢低头 trouble_simayi

程序员-Jesse Robbins: Don’t fight stupid, make more awesome. trouble_jesse

这些都是一个策略,不过这个策略被基努·里维斯传播得更广,因为最简单(越简单,越容易流传)。可以简单叫做“1+1 = 5”策略. 据说掌握这个策略可以让你多活10年,快快学起来!

问题 vs. 烦恼

在这里,我要隆重地把问题和烦恼区别开。

problem_vs_trouble

我们从这几个维度来讨论一下“问题”和”烦恼”:

英文近义词: 我们讨论的上下文里的“问题”,可以找到英文的近义词,比如:Problem, Issue; 而“烦恼”的话,则比如,Trouble, Worry;

诉诸人或事: 问题 - 通常是直接和事相关,可能是具体的某个事情,或者是某一类事情和合集。 烦恼 - 通常会和人(人际关系)相关。烦恼会由问题引发,然后诉诸到人上。

归类: 问题 - 可以归类到程序性问题。Eventually, 可以被程序解决,可以被算法化。 烦恼 - 可以归类到非程序性问题,即人的问题。

主客观性: 问题 - 偏客观事实,Factors, 发生了什么事情; 烦恼 - 偏主观感受,Feel, 对这个事情的解释,或者感受;

理性感性: 问题 - 偏理性,慢思考,逻辑判断; 烦恼 - 偏感性,快思考,感觉经验;

复杂度: 问题 - 偏简单、繁杂,Sense- (Analyze) Categorize- Respond; 烦恼 - 偏复杂,proble-sense-respond,”不同地方的人们并不都是一个样的“,不同的人有不同的思维方式,以及人心和人性的复杂多变;

解题思维: 问题 - 解决问题,我们依赖工程思维,有公理定律可循,特别是因果律。 烦恼 - 解决烦恼,我们靠的是”人生智慧”;有时候,只有魔法才能打败魔法。

解题方式: 问题 - 可以找到明确的期望,找到明确的结果,缩短期望和结果之间的差距。 烦恼 - 期望不一定,而且会变化;结果也不一定,而且会变化,且受其所处环境影响较大。人心似水,波谲云诡。

解决心态: 问题 - 我那该死的解决问题的冲动和”工程思维“,一写代码就停不下来;要攻克,要解决;越有挑战越兴奋,反复尝试; 烦恼 - 唉声叹气,忧愁、焦虑、挣扎、时而还有无名之火,强颜欢笑,夜不能寐;

解决不了对自我的影响: 问题 - 解决不了的问题,会不服输、不甘心,激发精进之心; 烦恼 - 解决不了的烦恼,会觉得心力憔悴,会退缩,选择回避,会出现”整个人的都不好了“;

烦恼包裹着问题

前面的讨论,我们强行把问题和烦恼进行了分离; 但是大部分的事情其实是问题和烦恼杂糅在一起的,更多的时候,问题被烦恼包裹着。

如下图所示:

problem_in_trouble

一个典型的过程可能是:

  1. 发生了事情,导致了问题A (问题A 和 人P直接相关)
  2. 因为人P的介入,导致了烦恼A(烦恼A和问题A是杂糅到一起的)
  3. 烦恼A包裹着问题A(提到问题A,一定裹挟着烦恼A)

本来可能对问题A跃跃欲试的解决冲动和工程思维:

  • 我一定要搞定这个问题A

被包裹上烦恼A之后,可能就变成了:

  • 这个人真烦(怎么又是Ta)
  • Ta凭什么要XXX
  • 我凭什么要XXX
  • 我现在很不爽…等等

一个工程学问题(某项结果和预期的不一致),被社会学烦恼(我不爽)包裹起来了; 要解决这个工程学问题,先(最好)先解决社会学烦恼; hmm… 解决烦恼,魔法打败魔法?

魔法1 - 烦恼过滤器:

讨论到这里,我们再来看一下开篇提到的: 基努·里维斯的1+1 = 5策略,孔子的三季人等策略,就可以形象地表示为:过滤器策略。

江湖险恶,鱼龙混杂。 行走江湖,为了多活几年,我得随身携带“烦恼过滤器”。 对于一些争论,在过滤层就直接过滤掉了,因为都不配进入到烦恼层,因为不Care.

trouble_filter

注意,我要show过滤器实现的 (伪)代码了:

While (争论.happen()) 
{
	烦恼过滤器.start(person_a, argument_a); 
}

烦恼过滤器.start(Person person_a, Argument argument_a)
{
  If ( (person_a is 不重要的人()) | | (argument_a is nonSense) ) 
     return "你说得对!"
}

软件交付的烦恼

怎么?学会了一个魔法还不够?

魔法1 - 烦恼过滤器,针对的,大抵都是不会与你的生命交集过多的人(路人、见面点头之交,朋友圈点赞之交,过年才见面的远方亲戚),无法抵抗你现在身边的人(亲密的人,项目上每天合作的小伙伴)的烦恼。

提问: 那还有什么魔法来消除烦恼呢? 作为软件工作者,整个软件交付过程中,是人与人协作的过程,中间也会有很多很多烦恼,怎么消除呢?

难你想要的是 烦恼消消乐

软件交付过程中的

  • 程序问题
  • 非程序问题

烦恼消消乐?

  • 程序员解决问题
  • 领导者解决烦恼

下回分解!