@jtong
2016-08-31T20:23:49.000000Z
字数 2614
阅读 1790
教育
程序员培养
能力建设到底要做什么?
这个问题困扰我很久,具体的技术,为了跟上时代的发展,会疲于奔命。抽象的方法,往往由于不能内化而失去意义。
最终的最终,我们找到一个看起来还比较靠谱的答案:培养习惯。所谓卓越不是一种结果,而是一种习惯。所以我们想要提升能力,就不能呵护自己不好的习惯。
那么应该培养什么样的习惯呢?习惯又如何培养呢?
首先,应该培养什么样的习惯,要回答这个问题就要从我们的培养目标出发,什么是我们的培养目标呢?
考虑到ThoughtWorks是一家专业服务公司,那么我们的培养目标只能是培养一个精益求精,持续改进的人,也就是所谓精进的人。
那么问题就变得更清晰了,一个精进的人,他有什么习惯呢?
遇事分解、穷尽,事后复盘、总结。
做事中采用的是敏捷的实践原则: 小步快跑,迅速反馈,过程可视,迭代交付,渐进增强,拥抱变化。
这基本上就是我认为的一个精进的人应该具有的好习惯,至于是不是唯一的答案,我是不清楚的,然而我觉得能做好这些,这个人已经不简单了,没有必要证明这是唯一正确的做法才去培养人。
如果你接受了这个设定,愿意往后看,那这其中的每一个点可能都需要更多的文章展开,所以我会后续逐渐描写这些习惯都是什么。今天的话题是,如何培养习惯。
在《习惯的力量》这本书里,作者用一张图表达了习惯培养的循环:
简单的解释一下这个图,就是我们需要一种触发机制来触发一种行为,并在行为得到触发之后进行奖励,然后重复。
这里面最难的其实是整体的设计,当我们把Reminder连接到某项行为的时候,习惯的大门才能真正打开,而Reward最好能解决Reminder的深层负面影响,让Reward和Reminder形成关联,循环才能闭环,才会重复。
比如说刷牙的习惯,你要给一个舔牙齿时感觉到的不光滑感是牙垢在剧增,就会刺激你去刷牙,刷完牙感到光滑了,就是奖励。
Reminder就是一个下意识的舔牙的行为,当然也可以设计为微笑时的洁白牙齿,一看到自己的牙脏自然就像去刷牙。
类似的可以设计,如果一天结束感觉到荒废了,那就去写总结,总结过后就觉得今天没有白过,也就形成了总结的好习惯。
整个循环是很好的,然而有一些小的习惯,是很难这么培养起来的。因为作为外力的提醒和奖励是很难深入到细节上去的,要么就是深入的成本非常高。
比如使用快捷键。
我们举一个比较简单的例子:使用快捷键的习惯,比如我以前的习惯是每次复制文本的时候,是使用鼠标进行复制,但是我的老师希望我使用快捷键Ctrl+C -> Ctrl+V
他如何能恰到好处的遇到复制的场景就提醒我用快捷键呢?更不要提还要建立起奖励机制。我们分析这种情况就要请出BJ Fogg的行为模型,如下图所示:
结合这两张图来看,Reward是作用于Motivation的,Reminder就是Trigger,而在我们很难作用于Reward和Reminder的时候,我们就直接作用于ability也就是Routine。
这个时候就只能退而求其次,先把行为培养出来,然后期望环境合适的时候,我自己能建立起这个循环。通过一些刻意的反复练习,先把能力提上去,然后再考虑意愿的问题,一次只解决一个问题。
基于这个原理,我们也设计了很多刻意的编程训练,比如为了培养他们读代码的时候认真,我们刻意出了一些拼字符串的题目。比如为了让他们对于测试先行不恐惧,刻意练习他们对于写过的程序进行限时编程。
如何提升ability则是另一个比较复杂的话题。简单说来,用刻意练习的方式就可以了。
前面讲的都是客观规律,对于我们每个人都起作用的。然而指望外在的力量来干预我们的习惯养成终归是低效的。因为别人的干预总是粗放和短暂的,既不能最大限度的产生作用,又不能跟你一生。别人可以帮你一时,最终你还是要靠自己。
主观意识主要会在哪些方面影响习惯养成呢?主要是两方面,促进和阻碍。当然这是废话,然而当我们问如何促进或如何阻碍的时候,人们的回答总是特别干瘪。所以我们以为我们知道,其实我们并不知道,我们以为自己很难说清楚,其实只是问题问得不够深入。那么接下来,我带着大家深入地问一下自己。
我们的主观意识是如何促进习惯养成的呢?我总结主要有三个。
首先,紧迫感。当我们把一件事的紧迫感提上来,我们自然就会想各种办法。我曾经有一个朋友说我吃饭的时候声音太大了,这不够有教养。教养这个东西,对我的杀伤力不大,所以我很多年都没有改。后来有一个朋友说我,吃饭的时候吸的太多了,可能我肠胃不好跟这个有关系。肠胃不好是我的痛点,我很在意这个,所以我就开始注意了。这里是别人给我设置的紧迫感,然而我接受了之后,会反复给自己强化这个暗示,也就是自己建立Reminder。
其次,自信。自信需要一点情绪,但是自信最好建立在对理性的自信上,而不是对感性的自信。比如我可以通过理性的设计让我自己在即将到来的枯燥训练中找到乐趣,而不是我可以吃得了苦。如果是纯粹的痛苦,没人能坚持多久。
第三,理性的设计。当我们想养成一个好的习惯的时候,我们懒惰的一面总会跟我们作对,为了战胜它,我们需要设计一套机制,以对抗它。比如,我为了让自己跑步,我就曾经设计自己跑出家门,不带一分钱得跑步。到很远的时候,只能跑回来。而在开始的时候,根本不想一定要跑多远,等跑起来再决定。通过自己对自己的哄骗:先骗出门,再骗远,最后只能跑回来,来对抗自己的惰性。
那我们的主观意识是如何阻碍习惯养成的呢?
焦虑
自我否定
感性冲动,感性冲动会使我们建立一个糟糕的闭环。学不会,逃避,浪费时间,焦虑,自我否定,依然学不会,……
=======
然而这不能解决我前面说的快捷键的场景,你想像一下如果我们有100个学生,你怎么保证每个学生都练到了呢?这个世界上有些事情就是没法直接解决的。那再退而求其次呢?间接提升ability也还是可以的。
讲到这里就不得不讲我们人脑的思维元素了。我们到底是怎么想问题的呢?其实,我们的基本元素差不多是跟我们的五感相关的,视觉,听觉,嗅觉之类。还有一类超越这些感官的元素,那就是情绪。如果在我们工作的场景下差不多就是视觉记忆,听觉记忆,肌肉记忆(触觉也可以算肌肉记忆,比如按快捷键是需要触觉的)还有情绪,大概如下图所示:
我们直接建立遇到要复制的场景就下意识的按快捷键的条件反射比较难,但是如果我想用快捷键,却想不起来快捷键是什么,然后去查文档,得知是Ctrl+C -> Ctrl+V,这个过程我们是可以省略的。