为什么不要打断正在工作中的程序员?

jopen 9年前

 

标题中虽然写的是程序员,但其实这个职位基本上可以替换为任何脑力劳动者。

作为一个产品经理,在工作中不免要经常和程序员讨论问题。我发现,自己经常会无缘无故地“触怒”程序员。虽然大家都表现的很得体,但我能从他们的表情和态度上知道这件事。

一个产品经理的职业病就是经常问“为什么”。是啊,为什么他们对我有不好的态度呢?我也是为了谈工作嘛!直到,我看到了下面这幅图(由@程序员的那些事编译)

为什么不要打断正在工作中的程序员?

原来,那些我触怒他们的时刻,可能正是他们努力工作或高效率工作的时刻。因此,他们的态度不好也就可以理解了。

可是,这就是事情的全部吗?当然不是。很多人肯定也会想,就是打扰了一下,你接着往下做不就是了。正如漫画所画,他们可能需要重新开始。

为什么?对,又是为什么?答案是“心流”。

1975年,希斯赞特米哈伊发表了一篇突破性的研究报告,名为《超越无聊和焦虑》。研究的重点就是他命名为“心流”的特殊的幸福形式:创造性成就和能力的提高带来的满足感和愉悦感。

他将心流 (flow) 定义为一种将个人精神力完全投注在某种活动上的感觉。心流产生时同时会有高度的兴奋及充实感。

希斯赞特米哈伊认为,使心流发生的活动有以下特征:1.我们倾向去从事的活动。2.我们会专注一致的活动。3.有清楚目标的活动。4.有立即回馈 的活动。5.我们对这项活动有主控感。6.在从事活动时我们的忧虑感消失。7.主观的时间感改变--例如可以从事很长的时间而不感觉时间的消逝。8.不断 优化的障碍,我们对于所从事的活动是力所能及的,且具有一定挑战的,我们可以通过不断地练习来增加完成障碍的能力。

看看,这个程序员编程的过程是否非常吻合。当然,最容易产生心流的活动现在被证实为游戏(知道大家为什么爱网游了吧)。

简单一句话来说,就是这种心流能够让人爽。而优秀的程序员能够在编程的过程中让自己逐渐的进入这种爽的心流里。而这个时候,其他人端着咖啡过来的随意的几句聊天,就会将他从这种爽的感觉中拉出来。别人不让他们爽,他们自然也心情不会好,态度自然也就变差了。

可是,他们回去继续爽不就得了?说的容易,你爽的时候被人打断能够马上回去刚才爽的状态?几乎不可能吗?

ninlabs研究所的Chris Parnin刊登了一篇非常好的文章,是关于外界打搅对工作效率和注意力的影响,伴有非常严谨的科学分析。这篇文章里说:

基于从86位程序员使用Eclipse和VisualStudio的1万次编程活动采样的分析,以及对414位程序员的问卷,我们发现:

#一个程序员打搅后,他需要10-15分钟的时间才能重新恢复到之前的编程状态。

#当修改一个程序函数时被打搅,只有十分之一的程序员能在一分钟内回到之前的思路。

#程序员一天中只能得到一段2小时不被打搅的时间。

看到了吗?他们很可能再也回不去了。即使回去也得花费10~15分钟,要是这过程中还有人过来找他们呢?

所以,没啥急事儿千万别打断工作中的程序员。一旦他们进入“心流”状态,你的打扰,说的不正经一点,就是人家在OOXX的时候你却在门口敲门说找他有事儿。