阅读 3362
一位拖延症患者程序员的自我救赎!

一位拖延症患者程序员的自我救赎!

写在前面

关于时间管理、如何做计划、如何提高执行力...等等相关的话题其实很早之前我就想写了,但一直拖着迟迟没有动笔。但是这次我想了又想,不能再拖了。

因为网上经常会看到类似的问题:不少小伙伴说,有时候总感觉过得不太充实,执行力上不来,做的任务计划也感觉没灵魂,很难坚持得下去,当然我也很有体会。

所以这篇文章,我准备来聊一聊这方面个人的一些思考、想法、以及实践的心得和习惯,内容比较主观,供大家参考。另外也期望借此话题,大家能够一起交流看看,说不定有其他新的灵感产生。

其实很多博主在讲时间管理,包括怎么做计划时,上来就是分享自己用了哪些软件,怎么在上面做计划。但是咱这次内容重点不在这个,我觉得用什么软件不是关键,关键是自己怎么思考的,有没有找到问题的痛点到底在哪。

这方面花点时间想清楚,对于后期学习和工作的正向工作流形成,应该都是非常有帮助的。

本文在GitHub开源仓库「编程之路」 github.com/rd2coding/R… 中已经收录,里面有我整理的6大编程方向(岗位)的自学路线+知识点大梳理面试考点我的简历几本硬核pdf笔记,以及我的程序员生活和感悟,欢迎star。


四碗鸡汤

开始之前,有几个大的原则,我觉得有必要先聊一聊。

  • 首先坚定的信念必须要有!

这话怎么说呢?

因为我自己也反复体验过那种做了计划而没有完成,立了Flag但却迟迟没有兑现的那种纠结、困扰、甚至是自愧。所以也曾一度自暴自弃,在时间管理和任务安排上一蹶不振,天天脚踩着西瓜皮往前滑,滑到哪里算哪里。

因此什么手段啊、工具啊、方法啥的咱都先不说,首先内心深处一定要告诉自己并坚信自己会成为一个时间管理和任务规划大师,高效做事,快乐生活,慢慢成为一个执行力很强的人!

所以信念必须要有。

  • 任务计划(ToDo List)一定要坚持做

很多人会抱怨说,感觉自己所做的任务计划(ToDo List)没有灵魂。因为很少能够坚持完成,这样反而会给自己带来心理负担,后来干脆就放弃了。

要知道,凡事预则立,不预则废!

在我看来,无论如何,任务计划还是要坚持做!做计划和不做计划肯定是有差别的,只不过我觉得这个和做计划的方式方法、习惯、工具、以及是否得到正向的反馈等等多方面因素都是有关系的,下文我也会详细阐述一下我的个人方法心得,这也是本文的重点!

  • 持续激励和正反馈尤为重要

我们都知道,在平时的工作学习中,联调成功了是成就感、Bug解决了是成就感、技术难点攻克了是成就感、功能稳定上线了是成就感...这些都会成为我们生活和工作中的甜蜜点,同时激励着我们朝着更好的目标前进。

正向激励是我们能够获得持续前进的源动力!

同理,当我们的时间管理和任务计划在获得扎实执行,并得到正向反馈时,这也是一种莫大的成就感,往往就是这种成就感会推动着我们愈发镞砺和精进,一旦正反馈形成,很多事情就好办了!

  • 复盘和回味是不可或缺的

因为再严密的计划和执行也都有可能被现实变化所扰乱,所以阶段性地复盘总结有利于我们把握进度、纠正偏差。

到达终点的路线固然要摸清,但更要弄清楚的是,我们在路上的当下位置。


所以大道理就先聊这么多,接下来聊聊个人在平时学习与工作中的一些实际操作经验和感想。

我先来抛砖引玉,欢迎大家分享出各自的经验心得,一起交流。


没有灵魂的ToDo List!

不知道大家有没有这种感觉,那就是:

  • 做计划时信誓旦旦
  • 执行计划时拖延拉胯
  • 验收计划时自责内疚......

久而久之,总会感觉自己做的计划毫无灵魂,一声叹息之后便慢慢放弃了。

实不相瞒,其实这种心理循环我也多次经历过,痛定思痛后我分析了几点可能的原因:

  • 做计划的仪式感有待加强
  • 做计划的粒度有待商榷
  • 做计划的轻重缓急没有分开、长短线任务没有加以区别
  • 计划的执行得不到保证
  • 缺乏正反馈和正向激励
  • 缺少复盘和总结
  • ...

下面聊一聊我的一些方法和习惯。


如何做计划(ToDo List)

我觉得「关于如何做计划」这一块颇有学问,我自己也在不断摸索和改进中。

我先聊一聊我自己在做ToDo List时的个人习惯,很多都是在工作后跟着公司和团队的做法学的。

1、首先在做计划时,我习惯于将任务拆分细化,拆分成一个个切实可执行的任务点,执行的单位时间控制在1-2天为宜,而一天之内的任务点安排在3~5个就可以了。我觉得这样更便于督促自己拿出信心来完成,从而形成短期的正向激励和成就感反馈。

因为我们是人而不是神,强行给每一天安排太多任务,一旦完不成,反而会让人有一种内心上的愧疚和焦虑,这不一定是一件好事。

2、其次在做计划的时候,我会利用到一种叫做「池子」的概念。

做技术的我们都知道,池子这玩意儿它是个好东西呀,比如天天打交道的:常量池、线程池、数据库连接池、内存池、网络连接池... 等等。

为了让做计划这个事情仪式感拉满,我自己也搞了一个任务看板,在看板上搞了7个池子,逻辑效果大概类似于这样:

下面我来详细解释一下。

  • 任务计划池

这个池子里面放了我几乎未来一段时间里想做的任何事情和任何可能的任务点,不计大小、不论优先级、也不管任务粒度划分是否合理,只要有想法甚至任何凌空闪现的idea,我就会及时地丢进去。

这么做原因很简单。

因为我们往往没有办法在列计划的时候就能立即确定当下的这一条任务划分就一定是合理的,所以只要是未来可能会做的任务点,我都会把它丢进「计划池」里。

所以这样来看,「任务计划池」更像是一个收藏夹,甚至是备忘录,里面记录着自己任何的想法和未来可能要做的事。

  • 任务就绪池

「就绪池」里放的任务全部都是从上面的「计划池」里筛选出来等待执行的确定任务,因此丢到这个池子里的任务就等待着接下来的执行和完成了。

从「任务计划池」里筛选任务到「任务就绪池」里时就要反复问自己:

  • 这个任务重要吗?
  • 这个任务紧急吗?
  • 这个任务确定要在这一周做吗?
  • 这个任务一定能出结果吗?
  • 这个任务需要切分吗?
  • ...等等。

所以下面这个四象限图在任务筛选和切分时则可以参考一下。

我个人会定期(我是每晚睡前花十多分钟)筛选和切分「计划池」里优先级较高,或者较容易实现,能快速产生短期正反馈的任务,放到「任务就绪池」。

  • 任务执行池

顾名思义,拖到这个池子里面的任务都是正在执行的任务点。

注意我这里的个人习惯是只排一天之内的执行任务,且对于个人来说,一天之内要执行的任务点安排在3~5个就足够了,强行拖太多过来做不完也没意义,反而会引起内心的焦虑和愧疚。

  • 任务验收池

这个也好理解,每天做完的任务可以当即拖到此处。

注意,之所以称这个为「任务验收池」,是因为拖到这里的任务本身虽然完成了,但后续的一些复盘、总结、对比、输出、记录...等等一些工作不一定做了,所以增加这样一个缓冲的池子

比如今天写了某一个模块的项目代码,代码的确是写完了,功能也实现了,但总结工作是否做了?遇到了什么bug记录没?调试踩了哪些坑?下个迭代还有哪些地方可能需要优化?等等。

这么做目的很简单,就是为了让自己对于已经做完的任务,能增加一个简单的复盘和回味的环节,这样也能增加成就感。因为不管是学习还是工作,有时候真的不在乎快,多回头看一看想一想其实很有必要。还是那句话:有时候慢一点才能更快!

所以我个人一般也是每天晚上,会把验收池里的任务过一遍,该写备注的写备注,该做笔记的做笔记,该写博客的写博客。确定完成后再把该任务拖到下面要说的「任务完成池」里。

所以对于我来说,「验收池」里的任务可能是会有堆积的,一般来讲,我会争取一周内完全清一次。

  • 任务完成池

这个就特别好理解了,拖到此处的任务都是执行完毕的。

每天最爽的事情就是把完成的任务卡片依次拖到这个池子里来,所以某一程度上来说,这就是一种最直接的正向激励!

  • 任务阻塞池

「阻塞池」里面专门存放那些执行周期较长,或者优先级不高但还算比较重要,或者是一些老大难的历史遗留任务。

这类任务的共同特点就是:一般难以在一两天,甚至一两周内就能完成,持续的时间比较久,而且可能会有一些不确定因素会影响着它的执行,大部分都是长线任务。

对于我个人来说,一般就是一些持续时间比较长的学习任务会放在这里面,比如系统地学完某个知识点,或者花一个月搞定某个开源项目等等。

不过实不相瞒,我的阻塞池里的有几个任务都放进去都快半年了,感觉都快要烂尾了。。。

  • 任务酱油池

这个池子里面放的任务列表比较特殊,我要好好来解释一下。

我们都知道,虽然我们每天会把主要的时间和精力放在工作和学习上,但是再勤恳的打工人,难免也会有着属于自己的打酱油时间(再通俗一点说就是摸鱼时间、划水时间。。)。

比如:工作前后的间隙、开会前后的间隙、发呆的时间、刷手机的时间...这类时间的特点一般是:比较零碎、时长不固定、频次不固定、可控性不高...其实这类时间如果好好利用,能完成不少事情的。

所以特别针对于这样一个情况,在安排任务时,其实可以把一些边角零碎的事情,统统丢到这个池子里来。一旦有打酱油的时间,可以扫一眼这个池子里的任务,看有没有随手可以完成的。

比如:查一下某个资料或文章、写一个简单的总结回顾提纲、看一下某方面的最新资讯、扫一眼大盘的情况...

所以总而言之,「酱油池」里的任务,主要就是用来打发打酱油的时间,目的也是为了最大化地利用碎片时间,这么说应该就好理解了。

  • 小 结

所以最后来小小总结一下!

这样一来,每天我只要重点保证「执行池」里的条目全部清空,那就说明完成了一天的任务。而每周只要保证「任务验收池」里的条目全部清空,那就说明完成了一周的任务!

这样心理上就会很充实,人也很畅快。

完成之后,重新再从「任务计划池」里筛选和切分任务,并适当关注一下「任务阻塞池」里的长线任务,如果有必要,就将其加入到「就绪池」中,等待被执行。

如此循环往复,将任务计划和执行,变成一种能看到积极反馈的正向工作流,这样习惯就能慢慢形成!而习惯一旦形成,很多事情就好办了。


如何执行任务

既然任务已经计划好了,接下来就要落实到具体的执行层面了。

不同人有不同的心得和技巧,怎么确保效果真的得看个人自己的执行力了。有些方法可能在别人那里有效,到我们自己这里说不定就扑街了,这都是有可能的。

接下来聊几点自己实践下来的一些小心得,希望能对大家有用,也欢迎大家踊跃分享出自己的实践心得!

目光集中、一鼓作气

一天的时间其实很短,多数时候导致我们焦虑空虚的一个主要的原因就是因为没有提前做好确定的任务计划。漫无目的,东一榔头西一棒子的做事方式肯定是不可取的。

上面在聊做计划问题时也已经说过,只要我们每天都保证「任务执行池」里的条目全部清空,那就说明完成了一天的任务,这样就会很充实。

所以只要目光集中在每天要做的确定任务上,优先保证其完成,这样就保住了基本盘,内心就会非常踏实!工作学习就会有奔头!

避免频繁地任务切换

大家都学过计算机,我们都知道像线程的切换或者任务的中断带来的开销成本是不可小觑的!

同理,生活、学习、工作中的频繁任务切换也会带来很多的“性能损失”。

而想要避免这一点,更深次要求是在做当日ToDo List计划时必须要合理安排任务。比如同类的任务可以放在一起,次要的、机械性的任务放在边角,有难度挑战性的任务放在大区间内,等等。

举个例子。

比如像拿快递、回邮件、回信息等这类机械重复性任务可以安排在某个固定的时间边角;而写代码、做需求、研究开源项目等等这类挑战性稍大一些的任务可以放在完整高效的时间区间里;而那些像读书、写作、剪视频等个人提升和兴趣时间可以放在一起,安排在自己卸下包袱的轻松时间里。

番茄工作法

番茄工作法我想大家应该都听过,是一种思想非常朴素的时间管理疗法。

基本思想就是将时间切割成一个个番茄时间片,25分钟工作+5分钟休息,四个番茄时间片一过(2小时),可以进行一次较长时间的休息,当然它的其他施行小细节还有好多,具体可以看下百科。

对于这个方法,我个人在施行时,有些情况下觉得还是有指导价值的,但有些情况下是真的很难玩起来。

比方说一个任务如果需要的时间并不长,这时候强行套用番茄工作法反而可能会让效率降低。

再比如,在一些时间容易被打断的零碎时间场景下,这种方法效果也会大打折扣。试想一下,一会领导叫你过去汇个报讨个论,一会产品临时召集开个会,一会儿要等一个重要电话,一会儿又要出去隔壁团队沟通个需求... 时间一旦被打碎,番茄工作法的效果就大打折扣,这样反而会有心理负担,而且毫无成就感。

我个人觉得,在面对那些有相对完整成块的时间段里,这种方法是有效的,因为这种情形下不容易被打断。比如今天是周末,今天下午我就在家准备用一个相对完整的时间块(≥2小时)准备用来重构XXX模块的代码,或者阅读XXX技术书籍,这时候番茄工作法用起来还是蛮舒服的。有时候甚至有一种忘了时间的感觉,25分钟瞬间就到了。事情做完了,成就感也满满。

所以,我现在愈发感觉,能用上番茄工作法真的是一件很幸福的事情!这说明你有大把美好的完整时间块去做事。

时间统计和定期复盘

除了番茄时间工作法很有名之外,还有一个叫做「柳比歇夫时间统计法」不知道大家听过没。

它是前苏联昆虫学家、哲学家、数学家柳比歇夫56年如一日对个人时间进行定量统计管理而得名的一种方法。

总体思想倒也挺朴素:在完成任务时,尽量精确地记录下起始时间和持续时间,并做好分类(现在有很多App都能帮我们完成这个功能),完事形成完整的时间账簿,并进行事后的总结分析,然后用于指导并改善对于时间的把控及任务的完成。

这说明了,我们在做任务计划和时间管理时,定期去复盘和总结自己的时间花销和任务完成情况非常有必要,通过实际情况和预想情况的不断对比,慢慢就能构建出自己对于后续任务计划和时间管理的感知度和宽容度。

打造正向激励和正反馈

其实上面在聊「如何做计划」时就一直在强调短期的正向激励和正向反馈对于时间管理和任务执行的重要性,为此也做了很多可以提升成就感和看到正反馈的措施,这些在上文都已经说过了,这里就不再赘述了。

deadline+硬肝

就像看过很多道理依然过不好这一生一样。有时候当各种时间管理方法、任务安排技巧都打不过拖延症的时候,深夜硬肝则成了我自己的独家解药。

比如写文章的时候就是,本来定的今天必须做完,但是由于各种原因,到晚上12点了还滞留在那里。好呗,这时候洗把脸,看一看镜子里的自己,憋说了,今晚怒肝到凌晨,不完成绝不睡觉...


总 结

好了,这篇文章聊了很多。

到现在为止,我依然觉得在时间管理和任务规划上一个非常非常重要的坚持动力那就是:一定要想办法来持续获得正向反馈和正向激励,从而形成正向的工作流!

一旦正反馈形成,很多事情就好办了,执行力也就能慢慢上来。

所以大家如果围绕着这个思路,来改变一下现在的学习和工作,或许是有效的。

当然了,别人说的不一定有用,别人的方法在自己这里也不一定完全有效,所以最后建议大家还是,尽早摸索出一套,适合于自己的时间管理和任务规划的方法论,并且扎实地执行下去,坚持半年,相信就会大不一样。

希望我们都能慢慢变得越来越好。

本文已被GitHub开源仓库「编程之路」 github.com/rd2coding/R… 收录,里面有我整理的6大编程方向(岗位)的自学路线+知识点大梳理面试考点我的简历几本硬核pdf笔记,以及我的程序员生活和感悟,部分内容如下↓↓↓,欢迎star。

文章分类
后端