开发人员拖延

2025-06-04

开发人员拖延

对于 DEV.to 来说,这似乎是一个有点奇怪的话题。毕竟,“拖延症”并非程序员独有的。事实上,拖延症通常被认为是人类普遍面临的挑战。但我还是忍不住要写这篇文章,因为:

  1. 拖延症在开发人员中会以一些特殊的方式表现出来。
  2. 我最近发现了一些更好的方法来评估——有时甚至可以避免——拖延症。

神话

如果你在谷歌搜索“拖延症”,网络上会充斥着各种自称有洞见的文章,声称能帮你战胜拖延症魔。坦白说,我发现这些文章大多是垃圾。我尊重作者们试图写出一本略显实用的自助指南的尝试,但恕我直言,他们几乎总是达不到目的——而且非常糟糕。

误区一:分心

你们都看过这些文章。它们讨论如何从你的工作空间移除物品。它们讨论如何使用各种工具来“锁定”你的工作站。我尝试了所有建议的技巧——但我发现它们毫无用处。

即使你竭尽全力将世界拒之门外,世界也会以一种奇特的方式悄悄潜入你的内心。对我们大多数人来说,在工作中使用浏览器并非明智之举。只要你打开新标签页,整个互联网就会催促你开始阅读你最爱的电视剧的最新回顾,或者查看你最爱的工具的下次发布日期。

同样,我们中的许多人也无法选择关闭电子邮件、Slack、短信,或者任何其他“邪恶世界”试图侵入我们日常生活的方式。

误区二——日程安排

您可以在日历上划出任意时间段。我的经验是,我的企业主管会完全忽略这些日程安排。我可以在接下来的五年内将自己设置为“外出办公”——但我的日历上仍然会定期添加会议。如果我取消了这些会议,用不了多久,我就不再有企业主管来打扰我,也不会再定期往我的银行账户里存钱了。

误区三:优先排序

每当我看到一篇关于“拖延症”的文章,谈到优先级排序,我都会翻白眼。如果你的企业主管跟我的一样,你的优先级就不是由你设定的。它们不受控制。即使你认为自己有一套清晰的目标,它们也可能随时被重新调整。

如果你能够真正自主地工作,优先级排序或许能带来一些好处。但我们必须面对现实:我们大多数人都远非自主。即使你只处理自己独立的合同,这些合同仍然会被交付给某个人。而这个“某人”至少仍然有能力扰乱你精心制定的优先级排序。

自律的弥天大谎

以上列出的所有事项都暗示着拖延症关乎自律。即使其他人的建议听起来“中立”,典型的“如何避免拖延症”文章也暗含着深深的羞耻感。你感到“羞耻”,是因为它暗示着,只要你认真对待并开始……采取正确的行动,你就不会有拖延症的问题。

大多数关于拖延症的讨论都围绕着这样一个观点:你的性格中存在某种“缺陷”。而避免这种缺陷的唯一方法就是修复你的性格。我见过的几乎所有关于拖延症的陈词滥调都把这个问题归结为自律的问题。他们的想法是,只要你自力更生,学会自律,就能在某种程度上摆脱拖延症。

我在这里要告诉你,“自律”(或缺乏自律)很少会导致拖延。更多时候,人们拖延是因为工作性质相关的更深层次的问题。

如果你不信,那就回顾一下你的过去吧。即使你认为自己是个“认证拖延症患者”,我敢打赌,你肯定也曾在极短的时间内完成了大量的工作。而且你很可能是因为工作让感到兴奋才完成的。

这真的让你着迷。所以你一头扎进去,完成了那个别人以为要花几周甚至几个月才能完成的项目。你简直就是个摇滚明星。

你看,拖延症通常不是因为缺乏自律造成的。拖延症最常见的原因是缺乏动力。这两者是截然不同的。

当你深切关注某件事,或者某件事让你全神贯注时,你可能会全身心投入其中。但当你遇到让你烦恼、无聊,或者迫使你走出“舒适区”的任务时,你可能会发现自己在某个时候开始逃避它们。换句话说,你开始拖延了。

这并不是你的“性格缺陷”。这也不意味着你缺乏成为一名开发人员所需的自律性。这更深刻地说明了你在日常工作中遇到的各种任务。

我关于拖延症的顿悟时刻

这听起来可能像个傻乎乎的“绝地武士心理技巧”,但不久前,我经历了一次与拖延症相关的重大时刻。一旦我理解了问题所在,就发现彻底避免这个问题变得容易多了。

别误会我。我还是会拖延。我们每个人都会时不时地拖延。(任何声称自己不会拖延的人都是赤裸裸的骗子。)但至少对我来说,当我意识到自己拖延并非源于某种根深蒂固的性格缺陷时,那是一个无比自由(且有益)的时刻。我拖延是因为手头的特定任务/环境/项目/团队中有些东西与我“格格不入”。

虽然听起来难以置信,但仅仅承认这个事实——对我自己来说——通常就能让我更容易地完成它。当我意识到自己拖延某件事是因为任务本身让我感到不舒服时,我发现至少在某种程度上,我更容易全身心投入到任务中,把它从我的工作中解脱出来。

当我对自己诚实并告诉自己“亚当,你推迟这项任务是因为你不喜欢必须处理的技术/团队/项目/流程”时,这实际上使我更有可能在更短的时间内完成任务。

我来举几个例子:

避免“丑陋”的任务

客户告诉我,我需要更新应用程序的某些部分,这些部分是几年前用某个烂框架写的,现在很少用了,我也没兴趣学习。所以,我自然而然地把这项任务拖延了。我根本不想深入研究那个愚蠢的老框架,也绝对不想把它写在我的简历上。所以我竭尽所能,尽量拖到最后一刻才去做。

但当我坦然承认这个现实时,一件有趣的事情发生了。当我坦然意识到自己不做这项任务是因为我不喜欢它时,我常常发现自己更有可能尽快把它完成。

避开“丑陋”的人

有时,环境中的某些事情会刺激我的拖延。例如:客户告诉我,我需要启动一个全新的“绿地”项目,这将需要一个新的代码库和新的 CI/CD 流程。这听起来很棒,但是……

只有那个混蛋乔才有权限创建新的仓库。也只有他拥有 Jenkins 权限来配置新的 CI/CD 流程。所以,除非那个混蛋乔帮我设置好环境,否则我没法启动项目……而且乔还真是个混蛋。

乔很少回复我的电子邮件、Slack 消息,甚至我的信鸽。即使我设法收到乔的回复,他也会让我很烦。

这是一个典型的情况,我倾向于尽可能地拖延任务——尽管我对编写“绿地”项目的想法通常很兴奋。但一想到要和那个混蛋乔打交道,我就忍不住尽可能地拖延。

但奇怪的是,当我内心深处反思过为什么我没有完成这项任务,并且坦诚地承认自己有多么讨厌乔,或者不得不寻求他的帮助时……这反而让我(在某种程度上)更加坚定了克服与他打交道的困难。当我在内心深处认识到真正阻碍我前进的因素时,我更有可能克服障碍,尽快回到我热爱的事情上。

拖延症的诱因

如果你连自己什么时候拖延都不能诚实面对,那么我上面提到的这些自我安慰技巧就对你毫无用处。所以,这里有一些警钟,它们会在我脑海里响起,提醒我什么时候可能犯拖延症:

工作量不足

你正在进行为期两周的冲刺,在冲刺开始时,客户让你在应用程序中进行一些极其简单的文本修改。就这样。两周所谓的“工作”,他们想让你做的只是修改几个拼写错误。

你知道我(太频繁了)是怎么处理这种事的吗?我会在冲刺的最后一天修改拼写错误。我可不是什么高高在上的人,不屑于修改应用中的几个拼写错误。嘿,这只是工作的一部分,对吧?

但当我被要求在为期两周的冲刺期间只做这些愚蠢的小改动时,我往往不会立即完成它们(而是乞求更多的工作)。很多时候,我只是把这些愚蠢的小任务拖到冲刺的最后一天。

奇怪的是,如果我承认自己有这种烦恼,我就更有可能完成那些极其简单的任务并要求做更多的工作。

如果这听起来有点傲慢,那我向你保证,在应用程序中进行一些愚蠢的小文本修改完全没问题。至少对我来说,我的烦恼并非来自于被要求修改文本,而是来自于分配给我的工作量太少。

如果在这个冲刺期间,我拿到一份清单,上面写着一百项需要在应用程序中进行的文本修改,我其实不会太在意。当然……这确实有点“琐碎”。但有时候,应用程序开发工作确实很琐碎。只要我有足够多的琐碎工作要完成,通常就不会引发我的拖延反应。

旧的/弃用的技术

你那个炫酷炫爆的应用(几乎)完全是用最新版的 React 编写的。但是,它里面有一个 20 年前用 Visual Basic编写的古老模块。现在……客户希望你更新一下那段糟糕的代码。

甚至没人知道遗留代码放在哪里。它没有文档。甚至没人知道它应该如何工作。没人想和这个模块有任何瓜葛——但现在你却被要求以某种方式更新它。

这绝对是让我拖延的首要原因。我会用Visual Basic,以前也用过。但现在我不想再跟这种荒唐事扯上关系了。然而……我却被指派了这项可怕的任务。

组织障碍

在冲刺期间,你有很多编程任务需要完成。但其中一项任务并非纯粹的“开发任务”。它或许需要你与“混蛋乔”(我上面描述过)互动。或许需要你编写大量需要某个委员会审核的文档。或许需要你与一大群“业务人员”参加大量会议。

如果你像我一样,这项任务就会被放在优先事项列表的最后。我会像躲避瘟疫一样躲避它。

但你知道吗?逃避并不能让它消失。每天早上开会的时候,项目经理都会问我这项任务有没有进展。而每天早上,我都会编一些勉强说得过去的借口,解释为什么我还没开始做。

这项令人畏惧的任务没有办法“解决”。但我发现,只要坦诚地告诉自己为什么我不想做这件事,我(在某种程度上)就更有可能咬紧牙关完成它。

“富有成效的”拖延

还记得我上面说过,开发人员会以一些特殊的方式表现出拖延吗?我说的是“有成效的拖延”。在这个领域工作了20多年,我实际上已经确信,有些开发人员甚至没有意识到自己在拖延

如果这听起来难以置信,那就想想这个事实:很多所谓的拖延行为,实际上在某种程度上是……“富有成效的”。换句话说:

仅仅因为你今天做了一些“有成效”的事情并不一定意味着你没有拖延。

我这里不是在指责别人。我这种事已经发生过太多次了。我有一些很烂的任务,真的不想——所以我就找了100个其他名义上对团队“有用”的任务。但是……没人要求我做这些。

  1. 如果您曾经花费一天的时间研究一个与完成您的冲刺任务没有直接关系的新 NPM 包,那么您可能一直在进行有成效的拖延

  2. 如果您曾经陷入重构代码的困境而没有人要求您重构,那么很有可能您是在进行有效的拖延

  3. 如果你曾经花了一个早上的时间来整理你的收件箱,那么你肯定是在 有成效地拖延

你看,拖延并不一定意味着你完全没有效率。“拖延”不仅仅是指“我整天都坐着,什么也没做”。你完全有可能整天都很“忙”,但仍然浪费了一整天的时间在拖延上

每天,你都可以做很多事,而且绝对“感觉”很有成效……但它们却无法帮助团队实现任何短期目标。当这种情况发生时,你就是在进行“有成效的拖延”

我的意思不是要让你因为这些行为感到羞耻。做过很多次。我们有时也会这么做。

但还记得我上面提到的“绝地思维技巧”吗?对我来说,限制这种拖延症的第一步就是承认它的存在。一旦我承认自己所谓的“高效”活动其实就是拖延症,我就会发现以后更容易摆脱它。

拖延是一个警告信号

虽然我已经尽力澄清,这并非是对你的拖延症的控诉,但你或许仍然会觉得我写这篇文章是为了“鞭策你,让你走上正轨”。但这绝对不是我的本意。

说实话,拖延症是人人都会犯的。我们每个人都会,在每一份工作中都会犯。但我指出这些心理陷阱,是因为拖延症可能预示着更深层次的问题。

如果你在这个职业领域至少工作过一段时间,你可能会对过去的一些工作留下美好的回忆,那时你从未有过拖延症。你充满活力,充满动力。你真心享受你的工作——而且它对你来说轻而易举。

当我遇到团队成员长期拖延时,这很少表明他们只是“缺乏纪律”。相反,这通常意味着工作/公司/团队/等等存在一些与他们格格不入的地方。他们很少会承认这一点——但这几乎总是事实。

如果你能坦诚地面对这些倾向,这可能是一个红色警示信号,表明这份工作可能并不完全“适合”你。这并不意味着你必须(或应该)辞职。但它可能会促使你与雇主坦诚地谈谈他们安排你做的工作。即使你目前的处境没有什么需要“改善”的,当你最终决定另谋高就时,它也可能帮助你找到一份更具吸引力的工作。

文章来源:https://dev.to/bytebodger/developer-procrastination-1kh3
PREV
如何修复 Jest 中的意外 Token 错误
NEXT
🧑‍💻🔧 使用这些应用搭建家庭实验室,开发任何东西!🤩