原文作者:Saeed Gatson
软件开发者生活在一个有趣的悖论中。一方面,我们很懒。这就是为什么我们喜欢自动化那些无聊的重复任务,比如运行单元测试或部署新环境。与此同时,开发者常常因记录大量工作时间而受到赞扬。典型的咖啡因驱动的通宵达旦工作场景屡见不鲜。
不休息地工作是一种坏习惯,这可能会危及业务、健康和你所追求的生活。10、12或14小时以上的工作日只能在心理和身体极限到来之前维持。
显然,我们应该保护我们的高效编码时间,但不清楚的是,我们也应该保护我们的休息时间。
软件开发者很容易过度工作。从管理的角度来看,这是有道理的。如果你有一个高效的编码者,分配给他们更多的工作将使整个项目更有可能成功。问题在于,这只是短期思维,通常会导致倦怠。
你可以休息两种类型。我喜欢将它们称为宏观休息和微观休息。宏观休息是通常发生在几天内的长时间休息。想想周末或几周的假期。微观休息则短得多。比如水冷器聊天或短暂的午餐休息。在这篇文章中,我们将讨论为什么软件开发者应该多进行微观休息。
为什么你应该休息?
很少有人意识到,当你退后一步,给大脑和身体充电时,你往往能做得更多。研究表明,所有时长的休息后,表现都会提高:从长假到30秒的微休息。
多伦多大学管理学副教授约翰·特鲁加科斯表示,工作相关的压力会扼杀你的生产力。他建议,“与工作断开联系对人们的精力和心态有奇效。”为了证明他的观点,他引用了一项研究,其中59%受访者表示,更多的休息会提高他们的工作幸福感。
约翰继续说,心理集中类似于肌肉。经过持续使用后,它会感到疲惫,需要休息才能恢复。就像健美运动员在健身房需要在组间休息一样。
为什么你认为没有时间休息?
如果你认为没有足够的时间进行短暂的休息,你可能花了很多时间在不生产的事情上。重要的是退后一步问自己:“我在做真正重要的工作吗?”许多软件开发者,包括我自己,最终会做一些不必要的忙碌工作。 对于大多数人来说,有很多时间是在不知不觉中浪费的。找到时间休息,这将对你长期有帮助,归根结底在于管理优先事项。有关此主题的更多细节和想法,请查看这篇文章:为什么你没有足够的时间(以及如何拥有更多)。
如何确保你有时间充电:番茄工作法
确保你有时间充电的最简单方法之一是将休息时间纳入你的工作系统。这可以通过使用番茄工作法来实现。
番茄工作法是一种简单而有效的工作组织方式。主要思想是你设定一个定时器,设定一个时间段。在这段时间内,你应该专注于完成一个目标。定时器响后,你再设定另一个定时器,代表短暂的休息。就这样。一个工作时间段后跟着一个休息时间段。
番茄工作法的6个高级技巧
关于番茄工作法有很多信息,你可以深入研究这个主题。要查看一个示例,可以看看约翰·索尼梅兹的书《软技能:软件开发者的生活手册》。他有一整章讨论番茄工作法。以下是我认为在使用番茄工作法时能给你带来最大收益的一些高级技巧。
- 监测完成任务通常需要多少个番茄(工作时间块)。
- 学会保护你的工作时间不受外部干扰。
- 估算一个任务需要多少个番茄。
- 在番茄期间花几分钟回顾和复习当前任务。这可以在最初的几分钟内进行。
- 根据完成目标所需的番茄数量来组织你的工作时间。
- 每几个番茄中,抽出一个时间段为自己留出一些个人时间。
每个人的工作方式都不同,因此,最终你需要不断测试,直到找到最适合你的方法,但牢记这六点肯定会有所帮助。
使用不同的时间分配
番茄工作法中常见的变量是设定的工作和休息时间段。这些可以在一天中变化,或者更有规律。这也是个人偏好的另一种选择。然而,有一些常见的时间分配。
- 25分钟工作,5分钟休息。最常见的分配是25分钟工作后休息5分钟。这连续进行四次,然后休息时间延长到15或20分钟。这是经典的番茄时间分配。
- 50分钟工作,10分钟休息。扩展的番茄工作法是50分钟工作10分钟休息的策略。与其他技术非常相似,但对于软件开发来说效果很好,因为在开始编写代码之前可能需要较长的准备时间。在投入了那几分钟后,你会想充分利用它,避免上下文切换。
- 52分钟工作,17分钟休息。一种更不常规但成功的策略是52分钟的高强度工作后跟随17分钟的完全放松。关键在于在52分钟内100%专注于工作,在17分钟内100%放松。通过完全专注于工作或放松,员工能够充分利用他们的时间。根据这份报告,生产力最高的10%员工采取了这种方式。
- 20分钟以上工作,10分钟休息。不打断工作流的策略。这是我个人的有效方法。我在开始时有困难,但使用定时器可以帮助我开始。例如,我可以说我只需做这个困难的任务20分钟,然后就可以停止。然而,如果我进入状态,定时器响了,我会继续工作,直到遇到瓶颈或失去状态。因此,个人而言,短时间有助于我建立动力。我发现三分之二的时间我会继续工作。
并不是每种时间分配都适合每个人。尝试不同的时间段,直到找到最适合你的方法,因为最终这才是最重要的。
如何跟踪工作和休息时间
我发现使用应用程序是跟踪休息和停止的最佳方式。作为软件开发者,我们大部分时间都在电脑前,因此使用网络应用程序非常方便。我目前使用的应用程序叫Moosti,但还有数百种其他易于找到的选项。你也可以使用一个鸡蛋计时器、手机上的秒表应用程序或其他任何东西。不要过于复杂化。只需选择一个并开始使用。
如何处理工作中的意外情况
并非我们作为软件开发者所做的一切都能很好地适应番茄式的时间分配。会出现软件更新、长时间构建或系统故障等情况。一个常见的问题是,在意外情况下你应该怎么做。约翰·索尼梅兹在一段视频中回答了其中一些问题,他讨论了关于番茄工作法的一些问题。 主要的收获是你必须务实。
当发生超出你控制范围的事情时,你必须制定一个最适合该情况的新计划。你不必盲目遵循规则。想出适合你的方法。这里没有错误的答案。
“你只能为自己设定能够完成的工作,所以不要试图控制世界,你只能控制自己。” – 约翰·索尼梅兹
休息期间该做什么
另一个常见的问题是我在休息期间应该做什么。这可能听起来很傻,但休息可能很困难。尤其是对于面临紧迫截止日期的软件开发者来说。因此,想出在休息期间可以做的事情(而不是继续工作)可能很棘手。以下是一些想法,帮助你激发灵感。
- 听音乐。演奏或听音乐是提升创造力的好方法。它也可以增强生产力,并以不同的方式影响每个人。
- 写日记。通过写日记,你可以表达自己的想法并放松。你不必与任何人分享你写的内容。仅仅这个活动就可以提升你的创造力。
- 涂鸦。就像写作一样,绘画可以起到治疗作用,并帮助你在几分钟内将注意力从工作中转移开。另一个好处是,这可以在你的桌子上进行,大多数人不会注意到。
- 尝试引导冥想。这是一个流行的想法,但冥想可以通过放松你的思维来提高你的生产力。冥想可以帮助降低血压和减轻压力,是休息期间的好选择。
- 玩一个快速游戏或解一个谜题。休息期间并不意味着你不能思考。在休息室放置一些批判性思维问题和脑筋急转弯是鼓励员工以新方式思考的好方法。
- 离开你的桌子。你可以尝试走动、在另一个房间阅读书籍或进行重要的午餐休息,仅举几种选择。
总结
需要休息的想法似乎是反直觉的。希望这篇文章不仅解释了在一天中休息的好处,还提供了如何将其融入你日常生活的策略。
记得像保护你的工作时间一样保护你的休息时间,因为这样做可以帮助你的生产力飞速提升。
选择一个目标,选择一个时间分配,设定你的定时器,然后开始。我们可以在你的休息期间再聊。
你目前在一天中进行战略性休息,还是计划在未来尝试一下?请在下面的评论区告诉我。