提高效率很重要的一个方面就是保持专注。
刚工作的时候,有过来人教育我,当工作中有人求助你的时候,应该停下手头的工作先去帮他人解决问题。因为对方可能是被阻塞在那里了,如果你不立即去帮他的话可能会浪费他更多的时间,所以不如先帮他把问题解决掉,再回头做自己的事情,这样两个人总体的效率就提高了。
听起来似乎很有道理,我也一直是这么实践的。但现在我越来越发现这种做法其实是错误的,至少是不那么正确的。因为如果你一直被打断的话,自己的效率是相当低的。我们知道切换线程是个消耗很高的操作,对于程序员来说尤其如此,被打断的思路可能要花很长一段时间才能恢复。而如果好不容易恢复了,刚进入状态的时候又被打断……这么来上几次这一天可能就废了。
所以还是要综合考虑成本和收益的问题。一般说来,集中自己的思路不被打扰,等忙完一个阶段性的节点后再去看看其他人的求助,应该是个效率更高的办法。同样的,各种即时通讯工具也应该设置成免打扰的,尽量避免干扰(也许老板发过来的消息可以除外)。
帮助自己提高专注力,还可以使用番茄工作法。设置固定长度的番茄钟,让自己在这个时间段不被打扰,集中注意力到要完成的任务上,所有其它的事情都作为待办事项等番茄钟结束之后再进行处理。不过我觉得对于写程序而言,固定长度的番茄并不合适,还是应该以自己的状态来定长度,不用纠结是不是按照番茄钟的时刻表,达到集中注意力的目的就好。
还有很重要的一点是有个明确的目标对提高专注力很有帮助。如果目标不明确的话势必会东想想西想想,效率就高不起来了。这也要看事情所属的阶段,如果是初期还在头脑风暴的时候,也没必要考虑效率。创造性的工作本身就是最没效率的。
总之,要想提高效率的话,保持专注是十分必要的。