如何解释一个外行人为什么在深层次编码时不应该打扰开发人员?[关闭]


92

如果您只考虑我问题的第二部分,“为什么开发人员在深层次的编码时不应该打扰开发人员”,聪明人已经讨论了很多次。Heck,甚至是SO的联合创始人Joel Spolsky,都写了一篇博客文章,内容涉及“进入区域”和“被淘汰出区域”,以及为什么在参加复杂活动时平均需要15分钟才能达到生产力,与软件开发相关的任务。所以我认为原因已经确立。

我感兴趣的是如何向不了解Bean的人解释所有这些(我的意思是软件开发)。如何告诉妻子,工作场所记账的风趣人物或每隔30分钟用“ Wazzzzzzup?”在Skype上对您执行ping操作的老朋友,所有中断对您工作的影响比对您的影响要深得多。他们花费了您30分钟的时间。显然,除非您想成为空白凝视或友善虐待的目标,否则您无法用“我必须在我的短期记忆中混用很多变量名”这样的句子来解释它。

我希望能够以一种可以使他们清楚理解的方式向非开发人员解释所有这些内容,而不会令人反感,精英化或过于技术化。

编辑:感谢大家的深刻见解。我接受了EpsilonVector的回答,因为他的类比最接近我的原始需求。“入睡”的解释既不是冒犯性的,也不是技术性的,几乎任何人都可以与之相关,入睡或在区域内时受到干扰的后果非常相似:您会感到沮丧,并且会“失去” 15-20分钟时间。


36
让它们从0开始计数到非常大的数字,直到大喊大叫为止!松鼠!
蒂姆·波斯特

8
与大多数专业有关的人,请尝试停止外科医生的中流手术。
ozz 2011年

24
在工作中下车Skype。
乔什

6
“不冒犯”,我知道某处有一个陷阱。:)
biziclop 2011年

7
@Josh在工作中,我们使用Skype进行部门间通信。我们需要它打开。我有一个单独的工作帐户,但您仍然遇到这些问题。
马修·沙利

Answers:


124

请尝试以下类比:第一个:“您需要多长时间才能入睡?” “ X分钟”“现在想象一下,当您快要入睡时,有人走进来打扰您,现在您需要多长时间才能入睡?那几秒钟您已经走了,还是您必须重新开始'回到你所在的地方?” “我必须重新开始。”“太好了。同样,就像睡着了一样,我花了一段时间才能“沉浸”在对焦模式下,一旦我被打扰,就需要花些时间才能恢复到原来的状态,除了我也忘记了我所做的一半。”

第二个:“您知道当您读一本书时,您会沉浸在其中吗?-过了一会儿,您甚至不再注意到这些单词,并且您将自己周围的一切都遮住了,并完全沉浸在心中的意象中你看。” “是。” “您到达那里需要多长时间?” “大约X分钟”“现在,想象一下,当您沉浸在书本中时,有人走进来打扰您,您要花多长时间才能恢复原状?会立即发生,还是您必须重新开始?回到你所在的地方?” “我必须重新开始。”“太好了。同样的事情。就像阅读一样,我花了一段时间才能“沉浸”在聚焦模式下,就像有人将我从中脱颖而出一样令人讨厌,


14
+1极好,极好,尤其是“入睡”者之一。正是我想要的那种解释。
2011年

1
可能无济于事-我可以正常地直入睡眠...
Armand

1
@Alison我不知道不能,但是有很多人不读书,因此与第二点无关。
马修·沙利

3
爱上即将入睡的比喻,但我不会马上用它来向我的妻子解释我的工作!;>
dthorpe 2011年


30

我认为乔尔描述的遐想状态不是技术性的。这是任何人在画画或落入一本好书的咒语下时都会经历的右脑转移。(贝蒂·爱德华兹(Betty Edwards)的“在大脑右侧绘画”完美地描述了这一点。)每个人都经历了那种专注的感觉,而您却没有意识到时间的流逝。

我认为,马上就想像是只有技术人员才能理解的东西,对于非开发人员来说,应该愚弄这个概念。只需用通俗易懂的语言进行解释-他们会明白的。


17
以我的经验,他们并不一定要得到它-他们可能接受它为事实,但仍然与此无关。对于我认识的大多数人来说,工作就是可以随时暂停或继续的工作。

3
不是与我交谈的人。以我的经验,从事非死板工作的每个人都可以完美地交往。也许您在和太多的死记硬背的人聊天。
duffymo 2011年

3
@duffymo:嗯。我不认为销售人员会为执行死记硬背的客户编写定制报价。不过,如果我打扰他/她,他/她将最多失去半分钟,直到回到正轨。这就是我的意思-大多数工作比我们的工作更容易暂停/继续。恕我直言。

5
这取决于您失去多少状态。程序员在编码时往往需要保持整个程序状态在头脑中,但是涉及更多写作的其他专业在他们正在构造的文档上保持状态。哪个状态更容易还原?
Michael K

2
我认为这很大程度上取决于该人在工作期间(或空闲时间)是否真正经历了流动状态。如果他们做到了,他们将更好地理解我们的意思。
彼得Török

23

将您的内部线程重新路由到语言IO,即在他们打断您时转过身来,继续喃喃地讲代码,一直看中间距离,直到他们放弃并消失。如果他们说话,请大声嘟umble。


16
大声笑这很好,但如果中断者是妻子,那肯定会导致离婚。
2011年

这绝对是更快,更有效的方法!:P
罗宾·马本

16

告诉他们编码(或在此处插入其他高浓度活动)就像是做旋转板的马戏团表演者。

首先,您先在棒子上旋转一个盘子,然后继续旋转,然后再旋转第二个盘子,然后继续旋转,回到第一个盘子,再多旋转一点以使其继续旋转,然后开始旋转第三个盘子,继续进行,然后回到第二盘,稍有额外的旋转,第一盘额外的旋转,第三盘额外的旋转,然后开始旋转第四盘,依此类推。

然后电话响起,所有板块掉落。

流状态消失了。您现在必须重新开始。旋转一盘...

我喜欢将每个板块视为必须保留的大量数据,变量,概念,状态等。


13

几个月前,我在编码时有人走进我的立方体,将耳塞拔出。除了内在的愤怒外,我的方法是解释程序员经常深陷于逻辑思维中,这需要一种不同且集中的思维方式,而突然中断会真的使思维过程混乱。那个人再也没有发生过,所以也许奏效了。您可能要考虑的另一件事是忙/闲迹象。我有一个做算法的朋友,他有两个侧面的标志,一侧写着“编码-不要打扰”,另一侧写着“自由聊天”。消除歧义是这里的关键。


16
只要您在合理的时间内离开“免费聊天”一边。如果“请勿打扰”一面总是朝上,那么您也可能根本没有任何迹象……
迪恩·哈丁

4
似乎会变得烦人,必须一直翻转标志。
没人

3
您可以使用“思考帽”而不是符号。每当您拥有思维上限时,人们都不应打扰您。
蚂蚁

3
“可以自由聊天”对经理们不是说:“我没有足够的工作要做”吗?
badgerr 2011年

8
在我的工作场所,我们未记录的“在区域内”指示器是耳机的存在。老板说:“即使您什么也不听,只要专心,也要戴上。我们会以为您很忙。”
JYelton 2011年

12

好的,我要添加自己的答案(我知道这有点笨拙,但是也许可以进一步说明我的目标)。

我对最近在困难时期打断我的人说了以下话:“开发软件就像是人生中第一次在繁忙的道路上开车。所有的注意力都集中在车轮,踏板和汽车上到处乱逛,您根本就不会对聊天进行任何关注。如果您开始关注聊天的内容,那么您势必会失去对汽车的控制,最终会陷入困境。事故”。

这个人可能与之相关,但这远不是一个很好的类比。如果我被打扰,后果将与事故大不相同。我从事软件开发已有20年了,所以为什么将它与首次进行的开发进行比较。等等。


1
这是一个很好的类比。只需删除“第一次”部分,并强调这是一条非常繁忙的道路,到处都是十字路口,交通信号灯,卡车和自行车,仅此而已。尤其是由于十字路口很好地代表了您必须做出的所有决策,而始终不知道会在拐角处撞到什么东西。
Goran Jovic

我认为这不是一个很好的类比,我认为您也承认自己,但是如果让他们尊重您的开发时间,请使用它。
伯纳德

不错
Marcie

4
只需添加一下,您已经在努力地忽略后面的三个尖叫的孩子(所有您自己的自然干扰)。
Benjol 2011年

7

流中的Mihaly Csikszentmihalyi ”是一个很好的TED演讲,谈到了这种想法,即在某些条件下(可能会或可能不会吸引人们)真正发挥作用。不要忘记,对于某些人来说,他们可能永远都不希望理解这种解释,因此,这就像无限次地递归击败那匹死马。


+1我正在撰写有关Flow的答案:en.wikipedia.org/wiki/Flow_%28psychology%29
StuperUser 2011年

+1除了很好地参考流程之外,我发现“递归击败无限的失败者”部分简直好笑。
2011年

4

我称它为程序员的ance。这里有很多很好的类比,那么还有什么呢?如前所述,程序员将在思维上导航几种不同的逻辑流程,直到正确的逻辑流程出现为止。然后将其用代码编写并保存在计算机上。

因此,假设您正在写学期论文或重要文档。这些想法已融入计算机,但您尚未保存更改。然后po,电源消失或计算机崩溃。恢复所有这些将花费更长或更长时间,并且永远不会与原始图像相同。(我们中有多少老计时器发生过这种情况?)

这就是您的代码在被中断时发生的情况。思想就像烟一样脆弱。如果尚未保存它们,并且发生了一些破坏它们的事情,那么它们就消失了。


我喜欢这一个最好的,因为很多人会理解它,因为它充分表达,它不会需要15分钟就可以回到它,它会比第一次与更坏的结果更长。
orbfish 2011年

3

尊敬的尊敬的同事,为了提高工作效率,我专注于工作,并在每次工作之间通过电子邮件答复问题,以尽量减少干扰,从而更好地为您和公司名称 _服务。请给我发电子邮件,我会尽快与您联系。谢谢。


2

如果您听音乐,请贴上一个标语,上面写着

Headphones on? Please do not interrupt.

仅当有人阅读并且您不总是戴着耳机时,此功能才有效。


对我而言,情况恰恰相反。听音乐和集中精力对我来说并不适合。
CodesInChaos 2012年

2

我认为这是我必须建立的庞大的复杂连接网络,是一种互锁的关系结构,它们以不同的,并非总是显而易见的方式相互影响,所有这些都必须理解并保持清楚在我编写代码时要重点关注。在我相当熟悉的项目上,构建此网络需要5到15分钟的时间,而在一个较不亲密的项目上,构建该Web的时间则是它的数倍。

当我的注意力中断时,网络开始崩溃,并且如果中断持续了几秒钟以上,或者我需要考虑其他一些甚至很复杂的事情(“上周服务器停机时,您做了什么?告诉客户?”),网络完全崩溃了。中断结束后,我必须从头开始重新建立整个网络。

如果我花了10分钟建立网络,而我每小时被中断3次,每次仅2分钟,那么您需要了解,而不是每小时进行50分钟的编码,我只能完成24分钟的工作。那3次打扰使我的工作效率降低了一半


1

尼尔·福特(Neil Ford)上次在Devoxx上谈到了这一点。他写了一本书:生产程序员。他解释了有关“流量”断路器的提示。如果您在流程中,则处于最高集中点。但是,如果您被打断,则需要花费+ -20分钟的时间才能恢复操作。

如果您无法正常工作,您可能需要解释一下em,如果您大脑中的随机访问内存丢失了有关正在工作的数据,则需要20分钟才能将数据返回到RAM中;)


我认为,谈论随机访问和内存丢失优于“不技术”的目标。
2011年

0

我通常在IM客户端上设置以下状态:

我在工作,并且由于我无法执行多项任务,请不要打扰我...

至少它似乎可以解决问题

一个长期的朋友,每隔30分钟就会用“ Wazzzzzzup?”在Skype上对您执行ping操作。


1
你知道,你可以脱机或只是退出IM客户端,SKYPE等
Spoike

@Spoike如果IM也用于工作,则不常见。
埃里克·威尔逊

1
@EricWilson注册一个用于工作的其他帐户,不要告诉长期的朋友每隔30分钟用“ Wazzzzzzup?”在Skype上对您执行ping操作。
丹尼尔·贝克

@EricWilson:如果您想在一段时间内专注于工作,即使仍用于工作,您仍然可以关闭或注销IM / email。我已经在工作过的地方做到了。
Spoike

0

您可以尝试解释,但也可以尝试以下操作:

打断他们,而他们正在做一些需要全神贯注的事情,无论是读书,看电影,计算还是更好地数数。然后,您需要解释的是,当他们打扰您时,情况确实与您一样。应该做到的。只是请不要在他们开车或类似的事情时打扰他们:)。


显然有人不喜欢我解决这个问题的方法,但是有时唯一的方法是通过示例进行解释。特别是如果您对这个主题不了解,那么您在向这个主题解释。
Goran Jovic

听起来不像是通过示例进行解释。听起来像是“报仇”。
Marcie

0

我不解释 我谨通知他们,中断时间仅增加了6周的时间。


4
此建议与“不礼貌,人们将不再打扰您”相同。这可能是有效的,但不是团队合作的好方法。
Marcie

我不认为必须指定“在团队中工作的好方法” :)据我所知,问题是针对中断的-可能与团队成员正交或不正交。
Throwback1986年

0

我在办公室要做的就是在办公室的不同部门中找到热点位置(隐藏位置),这样没人知道您在哪里,也不会打扰您,但是如果这不是一种选择,那么请示意一下并示意除非至关重要,否则请勿打扰!


0

我不知道其余的内容,但至少对于Skype,我建议使用“请勿打扰”模式。而且,如果您必须使用它来在工作中进行交流,请拥有一个您不希望与任何人共享的第二个仅工作的帐户,您不想打扰您:)


0

不必太复杂。简单而又没有敌意的事情就是“我正在集中精力进行一些工作。可以将其放在电子邮件中吗?我保证在这里完成后会立即对其进行审议。”

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.