当一个程序员冥思苦想时,不要去打扰,甚至一句友好问候都多余
我本职是测试工程师,有一段时间,我经常会以发现BUG(大部分Major 级别及以下)为由,直接去找程序员对质,后面逐渐发现在多次沟通的过程中,程序员会愈加不耐烦,虽然表面维持绅士风度,但心情估计像过山车一样高低起伏,恨不得早点下班回家和我say bye bye吧!
后面思考了下,才发现自己一直在肆无忌惮的碰触着程序员的底线:不能经常被打扰!!想想自己现在还这么活蹦乱跳,还得多谢那些共事猿类的“不杀之恩”呐。
其实这种“不打扰”,适合所有大脑正在高速运转的所有人。被打扰,或者说被打断带来的,从心理上说,也可以解释为是一种不被尊重的愤怒感。
图片来自网络程序员很忌讳碎片化的时间,他们要实现某个功能,都需要花一定的时间集中思考。在你使用某个产品时,感觉某个细小不能再细小的功能,如登录,内心也许OS:“好简单的功能啊”,但作为一个开发人员,考虑的不仅仅是两个用户名和密码的输入框以及一个登录按钮,还需要考虑如何进行输入框的校验、和后台的协议交互、数据库保存、权限分配、网络异常、还有兼容问题等等。怀揣着不断打怪升级成为高级开发程序员的念想,努力开发 BUG 出现率约为 0 的傲娇情怀,日常的这种“打扰”,会给他们已然艰难的道路增添了不少荆棘。
当程序员陷入思考深深深几许不能自拔的状态时,一个电话,一句火急火燎冲到他前面的对话,甚至表示友好的拍拍肩膀,都会像武侠小说的吸星大法一样,把他刚才已汇涌成河的思路全部吸走,把他丰富的内心世界轰得粉碎,他不砍你,已表明他对你是真爱了啊!
这种就好比是你和老婆正浓情蜜意啪啪啪时,突然门外的老妈敲门问要不要水果,此时的你会是什么样的赶脚?
有人说,我就是这种工作方式呀?以前经常这样做都没发现神马问题。
我想说的是,每个人都有自己鲜明性格,从而带来不同工作方式,但无论如何,在一个团队里,要尽量去协作,达到高量产出。你的某种不经意的做法若给别人带来了困扰,需要改变的就是自己了。
以前看过一本书,叫《思考,快与慢》,书中卡尼曼把我们的认知系统划分为两种,慢速的不太耗费精力的系统1,与需要集中注意力的系统2。程序员的工作状态应该大部分就处于系统2,需要理性、精确,需要时刻待命。虽然人每天都在这两个系统之间进行切换,但他们切换到系统2模式时,咱们还是勿扰为好。开发人员每天应当有 4-6 小时的无中断时间。每次 3-5 分钟的中断,其成本远超过你的想象。
@岳山丘 曾在一篇文章中提到,ninlabs研究所的Chris Parnin对外界打搅对工作效率和注意力的影响做了严谨的科学分析,主要结果如下:
一个程序员打搅后,他需要10-15分钟的时间才能重新恢复到之前的编程状态。
当修改一个程序函数时被打搅,只有十分之一的程序员能在一分钟内回到之前的思路。
程序员一天中只能得到一段2小时不被打搅的时间。
研究显示,影响最大的打搅是发生在程序员的大脑高负荷运转时,如果运用神经运动来反映大脑负荷,比如瞳孔测量法,结果显示,瞳孔扩展到峰值的时候的打搅最具摧毁力。
每个人都有自己的节奏,这个节奏被打断之后可能感到受到冒犯,可能要非常困难才能恢复状态,可能真的耽误正事。你没有什么更重要的、对方不能拒绝的事情要去中断他,最好耐心等好时机。
图片来自网络那说了那么多,我们如何做才能尽可能减少打扰呢?一句话:做好时间管理。
我们每天或每周能对自己的工作有个安排,注意先后循序依重要性和时间紧迫性排序,并腾出一些时间解决突发情况(程序员也适用);
对发现的问题做个记录,如测试常用的BUG 管理工具 Jira、bugfree等,产品经理可在conf 平台记录,或者通过邮件、qq、微信等工具沟通等,后面再找时间协商解决;
可以缓的事情先缓,要是突发情况必须解决的,程序员也要做好心理准备,如何应急;
团队之间更需保持沟通,并换位思考,实现天衣无缝的合作需要慢慢磨合;
所以……当看到一个程序员冥思苦想的时候,不要过去打扰,甚至在极端的情况下,一句友好的问候都是多余的。
当然,看到猿类空闲时,尽情去调戏他们吧,看似既宅又闷骚的他们,是非常享受(特别是妹纸)这种被调戏的过程哒~~
最后,祝各位亲们能和程序猿媛们相亲相爱一直到老~~