背景:我是一个程序员。
这个头一天晚上做第二天计划的做法是我的老板给我的一个建议,那是在一年前,我刚加入这个组。
我开始没有实施这个建议,就像对待任何其他建议那样,知道了,但并不因此而改变自己的行为。
渐渐地,我意识到这个做法的价值:它可以让我的performance变得比较稳定。
对,之前工作表现是不够稳定的,有的时候一天下来不知道干了些啥,回家的时候,回顾一天,就会情绪低落;有的时候一天下来能干很多事情,回家的时候就自信心爆棚。
这种状态当然算不上高水平选手了。高水平选手当然是要发挥稳定,稳定保持在高水平状态的,运动员是如此,程序员也不例外。
于是我决定实施这个做法。
工具就是Google doc。每周在文档开头加入一个这周的表格,如下图
表格每行对应一天。第一列是日期,第二列是这一天要达到的目标,第三列是实际情况(哪些目标达到了,哪些没达到),第四列是整体评分,第五列是retrospective,即自我回顾和反思,哪些做得好、需要继续保持,哪些做得不好、如何改善。
第一二列前一天晚上写好。第三四五列在一天结束后写。
慢慢地,我发现这个做法的精华在第一二列,即“做计划”的部分。因为有时候因为忙或者懒,没有填三四五列,没有总结回顾反思,效果也不会太差。所以,如果想要一个最轻量级的方案,那么只需要把前两列作为必填,其他列选填就可以了。
你知道,程序员最迷茫的时候就是一个任务完成的时候,不知道接下来做什么。这时候你就可以拿出这个doc,按上面列出的条目去做就好了。所以我每次在做完一件事的时候就会打开这个文档,看看接下来该做什么。有时候做一个任务stuck了,或者某个任务被block了,也会打开这个文档,切换下一个任务。因此,我每天都会打开这个文档很多次。
这个方法最核心的部分就是“做计划”,然而不幸的是,这也是最令人望而却步(daunting)的部分。我有时候一想到要做计划,就有点心里发毛,所以有时候会很抗拒打开文档做计划。
对此,我的观察是:其实一旦开始去做计划,就发觉也没那么可怕。我给自己的心理暗示是:不需要完美,先列几条你脱口就能说出来的任务,然后在看看bug list里有没有更重要的或者高优先级的,看看要不要加进来,最后在稍微排一下优先级。
排优先级的核心是把重要的、紧急的事情排在前面,但具体怎么排因人而异,自己觉得合适就好。一种方案是:可以把比较trivial的、很快可以解决的排在后面,大块的重要的任务排在前面,这样每天的开始,在你精力最旺盛的时候,你可以着手解决最棘手的问题,这个搞定了,这一天就不会差。另一种方案是:排一两个很小的、几分钟或十几分钟就能搞定的东西,这样你每天开始的时候,做完这几个小任务,信心就建立了,心情也好了,然后再解决棘手的难题。
这就是我要分享的全部内容。
我已经使用这个方法一年多了(是的,我的doc很长啦),仍然在用,有时候难免忘记或者懒,错过一两次,但绝大多数时候我都觉得这个方法很有用,会克服惰性去实施。习惯一旦养成,这件事情也就自然而然,不费什么工夫。
希望这个方法能在你成为高水平程序员的道路上助你一臂之力 :)