引言

最近在看《软技能-代码之外的生存指南》。这本书第一章就提出一个非常有意思的概念:我们不是在给企业打工,我们才是企业,而公司只是我们的客户。

这个概念应该是本书的一个基调,从这个概念出发,引出了非常多很有意思的思考:

  1. 我们作为一名企业意味着什么?
  2. 作为一个企业,我能提供什么?
  3. 如何让客户知道我的产品?
  4. 如何迭代优化自己的产品?

这本书也正是围绕着回答以上问题展开,本文是本书中生产力部分的读书笔记,介绍如何通过提高生产力来让自己不断进步,迭代自己,并分享了本人在实践过程中的一些经验方法。

为什么要提高生产力

我们只有不断提高生产力,才能高效的完成更多的工作,更快的提升自己。高效的完成工作包含两部分,首先花费的时间要短,工作效率高;其次工作完成质量要高。提高生产力需要我们不受外界干扰的、按照计划的去执行。但是这个过程是非常艰难的,所以本文主要内容就是如何克服这些困难,完成我们的计划。

提高专注力

提高生产力最重要的方法就是提高专注力。在一段时间内不受打扰地、专注地完成工作,这样我们才能在工作中仔细思考边界、bad case,正确实现逻辑。我们进入了专注模式之后,我们就很难被打断,就会持续的投入到工作中。但是进入专注模式需要花费一定的努力,在开始之前我们会不停的想检查邮件、IM软件、微博等等,想看看有没有人找自己,想看看刚刚发生了什么。但是我在考研期间,用了一个非智能机来限制自己玩手机,晚上回宿舍的时候发现,其实这一天并没有人有事找自己。所以在工作之前,关掉这些软件的消息提醒不会有太大的问题,就算有非常紧急的事情,也会直接通过电话而不是社交软件。

所以提高专注力,首先要屏蔽掉影响我们进入专注时的所有因素,让我们能持续、投入地完成任务中。

有计划的工作

分解任务

我们每个人心中可能都会有一个宏伟的目标,比如我要瘦成一道闪电、我要成为技术大佬、我要成为吉他演奏大师等等。但是我们直接看这些目标就会觉得距离我们太过遥远了,这些都不是能在一朝一夕完成的。实现这种大目标最好的办法就是将这个大目标分解,分解成足够多小任务。因为小目标通常目标明确并且容易完成,不会给我们造成压力。

在分解任务的过程中,如果发现无法分解,那么可能的原因就是需要的信息不明确,不知道要做什么了,所以只能给出一个大概的、要不可及的、模糊的大目标。所以这是分解任务的另一个好处,能够在任务开始之前,就明确完成大目标需要的信息。当自己真正去做的时候,一切都水到渠成了。

计划任务工具

当我们完成任务分解之后,剩下的就是按部就班的完成分解好的小任务。这个过程一方面需要对自己的时间做出规划,写出完成每个任务的计划表;另一方面需要良好的习惯让我们按着计划完成。这里先介绍下我的任务计划工具,习惯培养放在下一节介绍。

任务计划工具我曾经尝试过Notion,但是被墙了,国内使用很不方便;我还用过使用Microsoft To Do管理一天的任务,但是维度又太小了,没办法做长期管理;我还用过《高效能人士七个习惯》中的时间管理方法,做了一个Excel,但是每次打开都要花费很长时间,而且添加减少任务也很不方便。

最后我选择使用了Markdown,因为Markdown语法简单,编辑也不需要特殊的软件,极端情况下用记事本就行。Markdown的语法简单导致其提供的功能也比较少,例如无法在表格中合并单元格,只能引入复杂的HTML代码,很不美观;另外我是使用Onedrive同步Markdown文件,这就导致手机上没有合适的编辑软件。由于我主要使用PC完成计划编辑,所以没有多端同步对我影响不是很大。

我使用Markdown设计了一个周计划模板,写了个python脚本生成每周的计划文件。我会在每周天上午填一下下周要做的内容,之后根据每天地进展在早上工作之前动态调整。

我的计划模板如下图所示。在每周总结中,我会将本周做的好的和做的不好的地方就记下来。然后根据自己的角色,写一下下周要完成的工作。根据每个任务的优先级不同,我会将每个任务分配到每一天去。在每天的Thinkings小节我会反思总结这一天。

周计划模板

在工作日工作的时候,需求通常拉满,因此工作的驱动力还是很强的。但是在晚上回家和周末的时候,只想着躺着玩手机,这时候我会选择配合番茄工作法,提高工作效率。

不要并行

当任务分解完后,不同的大目标的小任务形成了一个任务池,每天拿出其中的几个任务完成。为了提高加快进度,我们可能想多个任务一起做。但更多的时候,我们并没有真正的并行做任务,我们可以自己回忆一下, 我们不可能一边写着A项目代码,一边看着B项目的需求文档。更多时候,我们是在做任务切换,从A项目切换到B项目。作为程序员我们都知道,切换任务上下文是需要消耗资源的。我们在任务切换的时候也是同样的道理,而且比计算机更为困难。计算机在切换上下文时,只需要到指定的内存地址读出数据恢复现场即可。但是我们在任务切换时,需要努力回忆起我们上次做到哪了?完成度是多少?接下来干嘛?而且如果在任务切换的过程中,我们刷了手机、看了邮件,我们还要重新进入专注的状态,这又会增大任务切换的难度。所以我们在工作的时候,一定要一个任务做到底,如果今天的需求是完成项目A,那么开发完了就测试,测试完了就上线,一刻也不要耽误。

在工作中,还有一些任务我们可以批量处理,提高我们的效率。例如,为了不被打断专注的状态,在工作之前,我会关掉Outlook、收起手机,专注工作,当完成一个里程碑之后,批量处理专注工作时收到的邮件和消息。还可以专门拿出一段时间,处理累计的小bug。

另外,前段时间有句话很火叫“灵魂和身体总要有一个在路上”。但其实这二者是可以实现真正的并行的,例如,我们完全可以将不用动脑的跑步和需要思考的听书之类的活动结合起来。

培养自己的习惯

我们每个人都有好的习惯和不好的习惯。好的习惯可以帮助我们提升,不好的习惯会阻碍我们的进步。

一个习惯的包含三个要素:诱因——惯例——奖励。诱因就是让我们做出行为习惯的因素,就想膝跳反射一样,当诱因出现时,我们会不由自主地做出习惯的动作,然后获得我们期待的奖励。所以,如果我们要改掉一个坏习惯,我们首先要分析这个坏习惯的三要素是什么。其中诱因和奖励一般是外部因素,我们通常无法改变。而惯例是我们自己做出的选择,我们是可以控制的。

例如,我之前的一个坏习惯是,下班回家就在床上躺着刷微博,刷B站。我这个习惯的诱因就是,在公司工作一天了,终于回家了,可以自由的做自己想做的事了(诱因);然后,回家直接躺在床上玩手机(惯例);因为我知道躺着玩手机时自己的大脑不用思考,而且恨容易就获得快乐,大脑就得到了放松(奖励)。但是这个习惯并不能让我们进步,基本上是在浪费时间。

于是我决定改掉我这个习惯,回家这个诱因是我无法改变的,而且工作一天,晚上回家确实也没有精力进行脑力劳动了。所以我购买了一个健身环,每天也不用动脑,只要跟着咪普利教练做动作就行了。而且结束后会有金币、经验等游戏奖励,还会与好友比较排名。于是,我每天强迫自己回家先搞健身环,逐渐改掉了回家刷手机的习惯。

另外,在培养习惯的初期,可能很难强迫自己去做新的管理,所以还可以通过加入外部问责的机制。例如,我会每天强迫自己看一小时技术书,做健身环,练习30分钟吉他,每周写一篇博客。为了实现这些目标,我开始控制自己的娱乐消费,不直接购买消费电子产品等。然后建立一个理财账户,每天如果完成了这些工作,就购买100元理财产品,如果没有完成,就扣100元。当自己想买东西了,就从这个账户中取钱。另外,我还请我的女朋友就监督我,每周如果不能完成一篇博客,我就给她发200元红包。

努力工作,立刻工作

每当在自己想进步,想努力的时候,让自己放弃的想法一定会出现,没人会例外。但是选择放弃享乐、立刻工作还是举手投降、就此躺平是你自己的做的决定,谁都无法替你完成。我们必须认识到,要实现目标的唯一途径就是立刻工作!努力工作!

另外,阻碍我们工作是恐惧,害怕自己做的不好,害怕承担坏的结果,所以选我们择了什么都不做,呆在舒适区,让一切不变。但其实并不是这样,有很多事情真的就是纸老虎,一些你可能认为需要一小时两小时都干不好的任务,你可能十分钟就做的非常好了。而且就算做错了又怎样,没有人是天生就会任何事的,总有第一次。起步的时候做错了没什么可怕的,总结经验,当下次遇到相同情况时,我们就会完成的更好。任何行动都比不行动要好,所以不要害怕,放手去做!