进入开发人员流程状态

工作中最烦人的事是什么? 如果您问开发人员,它会在困难的编程任务中被打断。 这让我想起了几年前在HackerNews上巡回演出的经典卡通片:

这是“流动状态”的完美例证。 您的头脑清晰,感觉自己处在自然的节奏中,您的知识,动机和专注力神奇地契合。 它是最佳性能和创造力的核心,通常被称为“在区域内”。

在编程时,流状态尤为重要,因为您要处理很多变量(双关语)。 这也是一个不稳定的状态,因为即使一点点的干扰也会破坏您的生产力。 不幸的是,我们生活在一个专为干扰而优化的世界中。

工作场所通常是完成工作的破坏者。 从《哈佛商业评论》上的一篇文章中,有关工作场所中断的数字令人沮丧:

一项工作场所研究发现,平均每天将近87次打扰(平均22次外部打扰,其中65人由本人触发)。 然后,平均而言,中断后需要花费超过23分钟的时间才能恢复执行任务,但是当天未访问被中断任务的时间占总时间的18%。

首先要认识到的是,有时潮流的敌人就是我们自己。 Stack Overflow的创始人Joel Spolsky坦率地表示,他可能根本没有生产力。 我们的精神惯性使我们很难开始。

其次,有时在外部看起来毫无用处的实际上可能是在工作的人。 编码的创造性工作看起来并不“忙”:

有时,开发人员看起来效率低下,他们坐在我们的耳机上盯着屏幕,而键盘敲击的方式却很少。 但是,这是在我们进行思考,构建,添加和重新排列代码如何工作的思维模型时。

最后,有时我们的工作环境与我们密谋。 除了干扰聊天,桌面和移动通知以及开放式办公空间之外,我们用于工作的工具还会限制我们完成工作的能力。 我们Stack的一名开发人员最近经历了这种情况,他的突破使他得出了以下结论:

毫无疑问,开发人员的满意度与完成任务所需的工具的便捷程度成正比。

我认为我们使用Stack构建的工具就是其中之一。 借助我们的Enterprise(以及即将推出的Channels)产品,我们为开发人员提供了一种工具,以帮助维持流程并避免中断(或打扰其他开发人员)。 拥有内部知识库可以帮助您迅速着手解决一个难题,也可以帮助维持现有的流程。

您对实现流程状态有何想法?发现什么可以帮助您专注于编程任务?

如何向外行人解释为什么在深层次编码时不应打扰开发人员?

如何解释一个外行人为什么不应该在编写代码时陷入困境?
告诉他们编码(或在此处插入其他高强度的活动)就像是做马戏团表演的马戏团表演者… softwareengineering.stackexchange.com

我学到了永不中断开发人员流程的艰难方法……