如果您只考虑我的问题的第二部分,“为什么开发人员在深层次的编码时不应该被打扰”,聪明人已经讨论了很多次。 Heck,甚至是SO的联合创始人Joel Spolsky,都写了一篇博客文章,内容涉及“进入区域”和“被淘汰出区域”,以及为什么在参加复杂活动时平均需要15分钟才能达到生产力,与软件开发相关的任务。所以我认为原因已经确立。
我感兴趣的是如何向不了解Bean的Bean解释所有这些问题(我的意思是软件开发)。如何告诉妻子,工作场所记账的风趣人物或每隔30分钟用“ Wazzzzzzup?”在Skype上对您执行ping操作的老朋友,所有中断对您工作的影响远大于他们花费了您大约30秒的时间。显然,除非您希望成为空白凝视或友善虐待的目标,否则您无法用“我必须在我的短期记忆中弄乱很多变量名”之类的句子来解释它。 d。希望能够以一种能够使他们清晰理解的方式向非开发人员解释所有这些内容,而又不会冒犯,精英化或过于技术化。
编辑:感谢所有人的深刻见解。我接受了EpsilonVector的回答,因为他的类比最接近我的原始需求。 “入睡”的解释既不是冒犯性的,也不是技术性的,几乎任何人都可以与之相关,入睡或在区域内时受到干扰的后果非常相似:您会感到沮丧,并且会“失去” 15-20分钟时间。
#1 楼
尝试以下类比:第一个:
“您需要多长时间才能入睡?” “ X分钟”“现在想像一下,当您接近入睡时,有人走进来打扰您,现在您要入睡多长时间?这几秒钟后,您还是必须重新开始?回到你所在的地方?” “我必须重新开始。”“太好了。同样,就像睡着了一样,我花了一段时间才能“沉入”聚焦模式,一旦被打扰,我需要一段时间才能恢复到原来的状态,除了我也忘记了我所做的一半。”
第二个:
“您知道当您读一本书时,您会沉浸在其中-一段时间后您甚至都没有注意到这些单词,因此您将其屏蔽了周围的一切,都完全沉浸在您所看到的心理图像中。” “是。” “您到达那里需要多长时间?” “大约X分钟”“现在想象一下,当您沉浸在书本中时,有人走进来打扰您,您要花多长时间才能恢复原状?会立即发生,还是您必须重新开始回到你所在的地方?” “我必须重新开始。”“太好了。同样的事情。就像阅读一样,我花了一段时间才能沉迷于对焦模式,当有人让我脱离焦点模式时,这同样令人烦恼,而这只需要我只要我被打扰了就回到它上面,除了我也会忘记我所读内容的一半。”
评论
+1极好,极好,尤其是“入睡”者之一。正是我想要的那种解释。
–AndrásSzepesházi
2011-2-10 14:53
可能无济于事-我可以正常地直入睡眠...
–武器
2011-2-10 15:29
@Alison我不知道不能,但是有很多人不读书,因此与第二点无关。
–马修·沙利(Matthew Scharley)
2011-02-10 20:15
喜欢沉睡的隐喻,但是我不会很快用它来向我的妻子解释我的工作! ;>
–dthorpe
2011-02-10 20:42
不要唤醒程序员alexthunder.livejournal.com/309815.html
–克里斯·纳瓦(Chris Nava)
2011-2-17在5:22
#2 楼
我认为乔尔描述的遐想状态不是技术性的。这是任何人在画画或落入一本好书的咒语下时都会经历的右脑转移。 (贝蒂·爱德华兹(Betty Edwards)的“在大脑右侧绘图”完美地描述了这一点。)每个人都经历了那种专注的感觉,而您却没有意识到时间的流逝。我想马上就想像一下,这是只有技术人员才能理解的东西,需要愚弄这个概念,以便非开发人员理解。只需用通俗易懂的语言进行解释-他们会明白的。
评论
以我的经验,他们并不一定要得到它-他们可能接受它为事实,但仍然与此无关。对于我认识的大多数人来说,工作就是可以随时暂停或继续的工作。
–AndrásSzepesházi
2011-02-10 13:40
不是与我交谈的人。以我的经验,从事非死板工作的每个人都可以完美地交往。也许您在和太多的死记硬背的人聊天。
–duffymo
2011-02-10 13:42
@duffymo:嗯。我不认为销售人员会为执行死记硬背的客户编写自定义报价。不过,如果我打扰他/她,他/她将最多失去半分钟,直到回到正轨。这就是我的意思-大多数工作比我们的工作更容易暂停/继续。恕我直言。
–AndrásSzepesházi
2011-02-10 13:55
这取决于您失去多少状态。程序员在编码时往往需要保持整个程序状态在头脑中,但是涉及更多写作的其他专业在他们正在构造的文档上保持状态。哪个状态更容易还原?
– Michael K
2011-2-10 14:01
我认为这很大程度上取决于该人在工作期间(或空闲时间)是否真正经历了人流的状态。如果他们做到了,他们将更好地理解我们的意思。
–彼得·托克(PéterTörök)
2011-02-10 14:16
#3 楼
将您的内部线程重新路由到语言IO,即当他们打断您时转过身来,继续喃喃地讲着代码,一直看着中间距离,直到他们放弃并消失。如果他们说话,请大声嘟umble。评论
大声笑这很好,但如果中断者是妻子,肯定会导致离婚。
–AndrásSzepesházi
2011-02-10 14:02
这绝对是更快,更有效的方法! :P
–罗宾·马本(Robin Maben)
13年7月7日在10:26
#4 楼
告诉他们编码(或在此处插入其他高浓度活动)就像是做旋转板的马戏团表演者。首先,您需要先在棒子上旋转一个盘子,然后继续旋转,然后再旋转第二个盘子,然后继续旋转,回到第一盘子,再稍微旋转一下以保持它前进,然后开始旋转第三个板,继续前进,然后回到第二个板,稍加旋转,第一个板额外旋转,第三个板额外旋转,然后开始旋转第四个,依此类推。 >然后电话响起,所有板块掉落。
流动状态消失了。您现在必须重新开始。旋转一个盘子...
我喜欢将每个盘子看作是您必须维护的大量数据,变量,概念,状态等。
#5 楼
几个月前,我在编码时有人走进我的立方体,将耳塞拔出。除了内在的愤怒外,我的方法是解释程序员经常深陷于逻辑思维中,这需要一种不同且集中的思维方法,而突然中断会真的使思维过程混乱。那个人再也没有发生过,所以也许奏效了。您可能要考虑的另一件事是忙/闲迹象。我有一个做算法的朋友,他有一个双面标志,一侧写着“编码-不要打扰”,另一侧写着“自由聊天”。消除歧义是这里的关键。评论
只要您在合理的时间内离开“免费聊天”一边。如果“请勿打扰”一面总是朝上,那么您也可能根本没有迹象。
–迪恩·哈丁(Dean Harding)
2011-2-10 14:06
似乎会变得烦人,必须一直翻转标志。
–没人
2011-2-10 14:14
您可以有一个思考帽,而不是一个标志。每当您拥有思维上限时,人们都不应打扰您。
–蚂蚁
2011-02-10 14:31
“可以自由聊天”对经理们不是说:“我没有足够的工作要做”吗?
– Badgerr
2011-2-10 14:42
在我的工作场所,我们未记录的“在区域内”指示器是耳机的存在。老板说:“即使您不听任何声音,也可以集中精力戴上。我们会认为这很忙。”
–耶尔顿
2011-2-10在16:23
#6 楼
好的,我要添加我自己的答案(我知道这有点笨拙,但也许可以进一步说明我的目标)。我对打断我的人说了以下内容最近在一个困难的时期:“开发软件就像是您人生中第一次在繁忙的道路上开车。您的所有注意力都集中在车轮,踏板和奔跑的汽车周围,而您根本不会如果您开始专注于聊天内容,那么您将毫无头绪。如果您不专心于聊天,那么您肯定会失去对汽车的控制,最终将导致事故”。
这可能与该人有关,但这远不是一个很好的类比。如果我被打扰,后果将与事故大不相同。我从事软件开发已有20年了,所以为什么将它与首次进行的开发进行比较。依此类推。
评论
这是一个很好的类比。只需删除“第一次”部分,并强调这是一条非常繁忙的道路,到处都是十字路口,交通信号灯,卡车和自行车,仅此而已。尤其是因为十字路口很好地代表了您必须做出的所有决策,而始终不知道会在拐角处撞到什么东西。
– Goran Jovic
2011-2-10 15:37
我认为这不是一个很好的类比,我想您也承认自己,但是如果让他们尊重您的开发时间,请使用它。
–伯纳德
2011-2-10在16:07
不错
– Marcie
2011-02-10 16:50
只需添加一下,您已经在努力地忽略后面的三个尖叫的孩子(所有您自己的自然干扰)。
– Benjol
2011年2月11日在8:16
#7 楼
“流中的Mihaly Csikszentmihalyi”是一个很好的TED演讲,谈到了这种想法,即在可能会或可能不会吸引人们的某些条件下真正发挥作用的想法。不要忘记,对于某些人来说,他们可能永远都不希望理解这种解释,因此,这就像无限次地递归击败死马一样。评论
+1我正在撰写有关Flow的答案:en.wikipedia.org/wiki/Flow_%28psychology%29
– StuperUser
2011-2-10 15:33
+1除了很好地参考流程之外,我发现“递归击败无限的失败者”部分简直很有趣。
–AndrásSzepesházi
2011-02-10 15:39
#8 楼
我称它为程序员的ance。这里有很多很好的类比,那么还有什么呢?如前所述,程序员将在思维上导航几种不同的逻辑流程,直到正确的逻辑流程出现为止。然后将其用代码编写并保存在计算机上。所以,如果您正在写学期论文或重要文档。想法已经变成文字,但是您还没有保存更改。然后po声,电源消失或计算机崩溃。恢复所有这些将花费更长或更长时间,并且永远不会与原始图像相同。 (我们中有多少老计时器发生了什么?)思想就像烟一样脆弱。如果尚未保存它们,并且出现了一些破坏它们的事情,那么它们就消失了。
评论
我最喜欢它,因为很多人会理解它,并且因为它充分表达了它不需要15分钟就能恢复,所以它会比第一次花费更长的时间,并且效果会更差。
–orbfish
2011年4月9日在22:27
#9 楼
亲爱的尊敬的同事:为了提高工作效率,我专注于自己的工作,并在每次工作之间通过电子邮件答复问题,以尽量减少干扰,以更好地为您和公司名称服务。请给我发电子邮件,我会尽快与您联系。谢谢。#10 楼
如果您听音乐,请贴上一个标语,上面写着Headphones on? Please do not interrupt.
这仅在有人阅读且您不总是戴着耳机时才有效上。
评论
对我而言,情况恰恰相反。听音乐和集中精力对我来说并不适合。
– CodesInChaos
2012年3月31日上午10:48
#11 楼
我认为这是我必须建立的庞大的复杂连接网络,是一种相互联系的关系结构,它们以不同的,并非总是显而易见的方式相互影响,所有这些都必须理解并保持清楚在我编写代码时要重点关注。在我相当熟悉的项目上,构建此网络需要花费5到15分钟的时间,而在一个不太亲密的项目上则要花费数倍的时间。中断持续了几秒钟,或者我需要考虑其他一些甚至很复杂的事情(“上周服务器宕机时,您告诉客户了什么?”),网络彻底崩溃了。中断结束后,我必须重新构建整个网络,主要是从头开始。如果我花了10分钟来构建网络,而我每小时只中断了2分钟3次,您需要了解,我只需要完成24分钟的工作,而不是每小时编码50分钟。这三个小小的中断使我的工作效率降低了一半。
#12 楼
尼尔·福特(Neil Ford)上次在Devoxx上谈到了这一点。他写了一本书:高效的程序员。他解释了有关“断流”断路器的技巧。如果您在流程中,则处于最高集中点。但是,如果您被打断,则需要花费+ -20分钟的时间才能恢复正常状态。您正在做什么,需要20分钟才能将数据恢复到RAM中;)
评论
我认为,谈论随机访问和内存丢失优于“不技术”的目标。
–AndrásSzepesházi
2011年2月11日下午6:58
#13 楼
我通常在IM客户端上设置以下状态:我在工作,并且由于我不能执行多任务,请不要打扰我...
至少与
的老朋友似乎可以解决问题,
每隔30分钟对您的Skype进行一次ping操作
/>“ Wazzzzzzup ?!”
评论
您确实知道您可以脱机,也可以退出IM Client,Skype等。
–说话
2011-02-10 21:04
@Spoike如果IM也用于工作,则不常见。
–埃里克·威尔逊(Eric Wilson)
2014年3月7日在11:30
@EricWilson注册一个用于工作的其他帐户,不要告诉长期的朋友每隔30分钟通过Skype ping您一次“ Wazzzzzzup ?!”。
–丹尼尔·贝克(Daniel Beck)
2014年9月9日在16:16
@EricWilson:如果您想在一段时间内专注于工作,即使它用于工作,您仍然可以关闭或注销IM /电子邮件。我已经在工作过的地方做到了。
–说话
2014年3月16日11:44
#14 楼
您可以尝试解释,但也可以尝试以下操作:,当他们正在做一些需要全神贯注的事情时,打扰他们,无论是读书,看电影,计算还是更好地数数。然后,您需要解释的是,当他们打扰您时,情况确实与您一样。应该做到的。只是请不要在他们开车或类似的事情时打扰他们:)。
评论
显然有人不喜欢我解决这个问题的方法,但有时唯一的方法是通过示例进行解释。尤其是如果您对这个主题不了解,那么您在向这个主题解释。
– Goran Jovic
2011-02-10 15:39
听起来不像是通过示例进行解释。听起来像是“报仇”。
– Marcie
2011-02-10 16:50
#15 楼
我不解释我谨通知他们,中断时间仅增加了6周的时间。评论
此建议与“不礼貌,人们将不再打扰您”相同。这可能是有效的,但不是团队合作的好方法。
– Marcie
2011-2-10在16:49
我不认为必须指定“在团队中工作的好方法” :)据我所知,问题是针对中断的-可能与团队成员正交。
–Throwback1986
13年3月13日在6:15
评论
让它们从0开始计数到非常大的数字,直到大喊大叫为止!松鼠!对于大多数专业而言,肯定都与之相关,请尝试停止外科医生的中流手术。
在工作中下车Skype。
“不冒犯”,我知道某处有一个陷阱。 :)
@Josh在工作中,我们使用Skype进行部门间通信。我们需要打开它。我有一个单独的工作帐户,但您仍然遇到这些问题。