代码改变世界

当你是个锤子

2020-06-18 23:37  敏捷的水  阅读(655)  评论(0编辑  收藏  举报

img

当你只有一把锤子,那么你看所有的一切都是钉子。

史蒂芬.柯唯 在《高效能人士的七个习惯》里举过一个例子,他拿出下面一张卡片。

如果你是一位男士,你可能看到下面的图片是一个漂亮的大美女,卷发,带着黑色的项链,露出长长的脖子一直向下,穿着一件时髦漂亮的羽毛上衣。

undefined

但是我告诉你他是一个伤心的老太太,一点都不好看,你是不是觉得不可思议?

那么请仔细看下面的图,如果你刚开始认为是个老太太,那么请找出美女的视角,如果你刚开始认为是美女,就请找出伤心的老太太的视角。

undefined

如果你没有找出来,我告诉你一个技巧,首先如果你看到的是美女的耳朵,就换成是老太太的眼睛,如果你看到是美女的下巴,就换成是老太太的大鼻子,美女的项链换成老太太的嘴巴,美女的白白的脖子请换成老太太的下巴。(如果你还没看出来, 请使劲多看几遍 img )

当然,我这里并不是要和你完捉迷藏,而是要说我们经常用自己的第一印象或者自己熟悉的方式来理解一个事情,用我们已熟悉的方法往所有的新问题上用。而没有深入的想有没有更好的方法。

如果我们有一把锤子,然后去找钉子,那么就是发挥特长,但是我们很多人的问题就是只有一把锤子,那么觉得这个世界全都是钉子。

当一个家长,把孩子打一顿,就完成了作业,这个就是他的锤子,很可能以后孩子所有的问题都变成了钉子。

当一个老师,用一个方法教成功一个学生的时候,这就是他的锤子,就可能一直用这个方法对所有的学生,那么就忽略了因材施教。

当一个医生,给病人治病,比如癌症,就把患癌的地方切掉,而且最大限度的切掉的时候,我们医生就只有一把锤子,那么所有的癌症对他就是钉子(好在现在已经有很多新的方式了,大家可以看看浙江大学生命科学院教授王立铭《众病之王的解决方案》)。

当我们很多人,甚至整个社会缺乏创新的时候,我们就要想想是否我们整个家庭教育,学校教育和社会教育把人变成了一个锤子。

人们总是习惯用自己最熟悉的方式去解决问题而不理会这种方式是否合适。

我举个我工作例子来说:

我记得最早的时候,我做项目的时候用了三层架构,然后公司的人就所有的项目一直三层架构,显然不是所有的都这么适合的,后来我又提倡领域驱动架构,很多人就啥项目都要领域驱动。 我在公司推行过SCRUM, 有很多人啥项目,啥客户都要严格的SCRUM, 我在公司里推过GitFlow, 那么很多人啥项目都要GitFlow, 而其实我认为最好的分支管理是一个主干分支,只不过我们很多条件没达到而难以实施。

所以,我们不要限于你所见的第一印象和知识,需要更深的想几步,你看到的是不是人家在当时的场景,当时的环境,当时的各种约束条件选择出来的一个当时最优的方案,那么我们显然不能把他当作终级解决任何场景,任何项目的锤子。

当你以为我要的是一个钻子,其实我要的是一个洞,而根本不关心是不是用钻子钻的洞,当你看到用钻子可以钻一个洞的时候,我其实那个洞是用来钉个钉子挂东西,其实我们可能连洞都不需要,粘个挂钩就可以了。

我们一些程序员看架构师在一个项目里用了一个架构时,觉得学到了大招,然后啥项目都往上套,我们要想想人家为什么用这个架构。

也有不少人,老是觉得其它人傻逼,这么简单的东西没有想到,但是人家为什么不这么做才更值得我们思考,所以当你看到别人处理一个钉子,没有用锤子的时候,我们要知道人家可不是只有一个锤子。

最后,希望我们大家不要有锤子思维,凡事多想想为什么,有没有更好的方法,除了过去的经验,还有没有更好的方式,不要老停在过去的经验,这个世界变化太快,很多东西过去的经验已经不灵了。只有这样,我们才不会”杀鸡用牛刀“, 认为全世界都是钉子。