程序员的效率指南 —— 时间管理

想要提高学习、工作效率?看本指南就够了!

本指南的第二篇,谈谈时间,这个我们熟悉又陌生的朋友。

GTD 与原则

解决线上问题的时候,心里总想着还没有写完的代码;看书的时候,还挂念着未追完的剧。一个想法总是翻来覆去,就像是大脑中的「隐藏进程」,时不时地发个消息提醒你一下。这些都是效率低下的原因。想要在处理事务的时候能达到心如止水的状态,就不得不提 GTD (Get Things Done) 。它其实就分为 5 个动作:收集、整理、组织、检查、做

读过「笔记篇」的读者都知道,关于效率,有一个非常重要的原则,收集整理,GTD 的前半部分也是如此。

像清空收件箱一样,完全清空你的大脑,将大脑中任何的想法和规划,都列下来。收集事情的同时也是给大脑减负。至于把要做的事情列在哪里呢?市面上有很多解决这样需求的 To-Do 类软件,比如微软家的https://todo.microsoft.com

整理已经列出的所有事情,整理的时候可以使用「四象限法则」

就是根据事情的重要紧急程度来划分,

  • 第 ① 象限的,马上去做。如果这个象限的任务很多,肯定会让人疲惫不堪,所以就需要反思一下自身或所处的环境,不可能什么事情都是即重要又紧急的,尽量把它们划分到第 ② 象限或第 ③ 象限。
  • 第 ② 象限的,计划着去做,这里的事情是需要我们重点关注的,一天中主要的精力和工作时间都应该放在这里。
  • 第 ③ 象限的,尽量委托别人做。这里的别人不局限于真人,也可以是工具。
  • 第 ④ 象限的,尽量不去做。你可以将它们归档,以便日后计划,或者,直接扔掉。

要记住「四象限法则」也只是一个工具,重要的是,我们需要了解自身,什么事情该做,什么事情不用做,毕竟人一天的时间、精力是都是有限的。

事情都已经整理好了,那么该开始执行了。在执行之前,我们最后来了解一下 GTD 的后半部分。还记得我们需要重点关注的第 ② 象限吗,这里任务对你来说很重要,但又不急于完成,所以你要对它们做好提前规划,尽量细化任务的执行步骤,想好这个任务的目标是什么。然后就去执行,适时的去回顾任务的进展。别忘了第 ④ 象限中被归档的任务,你可以重新评估它们,这时候你会发现,有的可以提上日程,有的可以直接丢弃。

番茄工作法与工时预估

GTD 的后半部分,想要真正落实对任务的实施和追踪,我们还需借鉴一下「番茄工作法」。番茄工作法中的番茄就是一个工作单元,1 个番茄 30 分钟 = 25 分钟工作 + 5 分钟休息,每完成 1 个番茄,记录一下任务进度,完成了 4个 这样的番茄,就需要长时间休息 15 到 30 分钟。

重点在于,每一个番茄不可暂停,每一个番茄内的工作时间,如果分心或者被打断,这个番茄则作废,需重新开始计算。完全按照番茄工作法,不仅对自身是一个挑战,同时对工作环境的要求也很严格。想象一下,你会被各种各样的事情打断,测试报 bug、产品提需求以及乱七八糟的会议。

我们需要借鉴的是它的思想,这个工作法之所以这样设计的原因只有一个,专注。人的专注时间并没有想象的那么长,设定一小段一小段的 25分钟工作时间;只有连续不断的专注才是有效的,所以不可暂停也不可打断;短时间的休息能辅助我们对专注力的使用;而长时间对专注力的消耗,是需要一段长时间的休息,以能保证下一段时间的专注。

番茄工作法最大作用就是能帮我们预估时间。对于很多程序员来说,可能工作中最拿不准的事情就是评估工作量和预估工时了,只能靠感觉来,感觉出了偏差,就可能会导致项目延期。然而使用过番茄工作法后,我们就能真正感知到时间是如何流逝的。通过番茄记录,能看到每一个任务、每一项工作,花费了多长时间;做这项工作,我的时间都耗在哪一步了?是不是可以改进?所以,我强烈建议你创造条件的去尝试一下,通过番茄工作法,来做我们规划好的任务。

多线程工作与时间黑洞

不要多线程工作!同时做多件事情,看起来能提高效率,其实是反其道而行之,为什么?多线程工作就意味着需要多任务切换。作为程序员,肯定知道,任务切换需要耗费许多额外的花销,通俗地来讲,首先需要保存当前上下文以便下次能够顺利切换回来,然后要加载目标任务的上下文。如果一个系统不停地在多个任务之间来回倒腾,就会耗费大量的时间在上下文切换上,无形中浪费很多的时间。我们其实是在做一件事情,只不过我们在频繁的切换任务,看起来像是在做多件事情。 不仅如此,大脑开始一件任务的时候必须需要一定的时间来「热身」—— 需要一定时间来进入专注的工作或学习的状态。频繁的切换意味着你每件事都无法进入状态。

这里,并不完全否定「同时做多件事」,你可以将一件并不怎么费脑细胞的事情和一件需要投入专注力的事情组合起来,比如,边跑步边听书、边听歌边写代码。

多任务切换,会无形中浪费掉很多时间,这是我们很难察觉到的,这些时间就像是被黑洞给吸走了。我在之前的文章中提到过,频繁的群聊消息通知,对你的干扰,会形成巨大的时间黑洞。不仅如此,还有手机里各类 app 的消息通知,也会时不时地打扰正在专注工作的你。来自工作环境的干扰不可避免,我们要做的是尽可能地排除掉自身的负面影响,用 GTD 给自己的大脑减负、明确目标,用番茄工作法了解如何专注,避免多线程工作来避免时间黑洞。