当人们说“是的,多任务处理很正常”时,我完全不同意。
这不正常!完全没有,对于开发人员来说,在多个项目中执行多任务是非常不自然的(我将在后面解释)。另一方面,多任务在开发人员中非常普遍。这绝对是您应该习惯的东西。因此,您的问题的真正答案是:如何执行多任务?
首先,您不应该简单地接受命运,因为“您是如此出色的员工”,这意味着您需要承担更多的任务,而这超出了您的处理能力。一点也不,你没有。有时人们被赋予多项任务,因为没有其他人。有时经理无法处理他们的工作,因此他们委派了他们,因为他们无法正确处理项目进度,因此在团队中执行多任务处理。因此,您绝对应该尝试确定是由于工作的一部分还是因为其他人的能力不足而被要求执行多任务。无论哪种方式,您都可以自己判断是否可以接受。如果您对工作不满意,可以在其他地方找到工作。[您,开发商,是商品。雇主知道这一点,并祈祷您永远不会意识到这一点。]
现在关于多任务,当人们说“是的,请来回切换并确保您在每个项目上所做的工作量相同”时,我不同意100%的意见。对不起,但这是一个非常糟糕的建议。
首先,您必须在开发软件时意识到大脑是如何工作的(我知道还涉及其他任务,但让我们专注于该任务)。首先,您需要“接线”,这意味着您需要集中精力,使自己的头脑摆在脑海中。所有变量和方法名称,代码的工作流程,对象模型,并排的线程等等。通常我需要15到20分钟才能到达“区域”。
当您达到这种状态时,您实际上就像在骑自行车一样,正在飞翔并编写代码。一旦被打扰,您可能会失去全部。如果中断时间足够长(5、10或30分钟),您将失去这种心理状态,必须重新开始。
因此,多任务处理很可怕,因为它迫使您离开“区域”并继续前进。如果您不断切换,则意味着您效率不高,因为每次更改为新任务/项目时,您都需要浪费15-20分钟才能再次进入该区域(更不用说它会慢慢融化您的大脑)。
这就像多线程:在某些时候,每两个周期切换线程上下文的成本太高了,因此CPU最终花费比执行真实任务更多的时间来切换上下文。
我强烈建议您阅读Joel Spolsky关于此事的文章:
http://www.joelonsoftware.com/articles/fog0000000022.html
所以我的建议是:尝试学习如何(而不是)多任务,因为这确实很常见。但也要确保自己习惯。有些人可能会花费更多的时间专注于工作,并且在进行多任务处理时会比其他人遭受更多的痛苦。那也没关系。这不是因为通常认为它是正常的。
乔尔说得很好:
实际上,这一切的真正教训是,您永远不应让人们一次完成一件以上的事情。确保他们知道这是什么。优秀的管理者将责任视为消除障碍,使人们能够专注于一件事情并真正完成它。