程序员如何保证「专注」与「效率」

2,012 阅读13分钟

什么是专注

简而言之,专注就是注意力分散的对立面。
记得大学时候教我英语的老教授说过的一句,
「知道为什么你们一直都学不好英语么,你们这一代人生活在一个太多诱惑的世界。」

每一天,我们坐下来打开电脑,想做点什么正经事情的时候。
却又无意中打开微博看看热搜榜,看看林丹出轨,宋冬野吸毒入狱,papi酱和逻辑思维闹分手。
又会拿起手机刷刷朋友圈,看看小伙伴自拍照,旅游照,三姑六婆姨妈姑丈的心灵鸡汤。
还会打开知乎,看看各种「如何评价XXX」,「XXX是什么样的体验」。

就像吴晓波每周都会说的「世界如此喧嚣」。
现代人生活在一个充满了干扰的世界,社交、邮件、电话、短信、走神、打断,纷至沓来。

不知道你还记得最近一次解决真正的难题是什么时候吗?
你可能是在试图修复一些BUG,或者要弄清楚为什么代码跑不动。
时间飞逝,你忘了吃饭、喝水乃至睡觉,一门心思扑在你的任务上。
你全身心的投入到单个项目上,如果任何人胆敢打扰你,你就会暴跳如雷。
这就是「专注」。
就像生活中许多事情一样,专注就像一个「冲量」的游戏,想要达到专注工作的状态很难,但是一旦进入专注状态,就能轻松的保持下去。

冲量

「冲量」是一个物理词汇

冲量是作用在物体上的力在时间上的累积,一个随时间改变的力对一个物体的冲量指这个力的作用对时间的积累效果。

我觉得用来形容人类思维从一个「注意力分散」的状态进入到「专注」状态的过程是再好不过的概念了。

就像我们开车在高速公路上行驶时的提速过程,车在进入高速行驶之前需要更换几个档位,让车提到五档,需要点时间和油耗。一旦开到五档,那就能轻松巡航了。
倘若你开在每隔一百米一个红绿灯的道路上,总是不断的起步停车,那么整体的速度会很慢,且油耗高,顺带还给「雾霾」增添多一分贡献。

又像我们启动电脑程序,第一次打开程序往往需要较长的时间。因为计算机要花一些时间把程序代码写入到内存,之后,你使用软件就更加顺畅了。
就像以前写Java的程序员,上班第一件事打开MyEclipse,然后直到下班才关闭。
也像你忽悠产品经理,打开网站第一次会慢点,第二次就会飞快了。

所以,当我们需要对一件事情「专注」的时候,我们需要花一些时间把所有的事务在脑子里过一遍,然后才能达到思维高峰以完成任务。

如果不幸,你专注期间,产经忽如其来讨论需求,测试忽如其来报BUG,之后你还需要重新回想刚才做到哪里,重新花一些时间来形成「冲量」。就像计算机线程间来回切换所需要花费的成本。
被打断的间隔越长,需要继续之前的任务所需要的成本也就越高。
忽然想起个段子:「你跟产经讨论了一天,他的需求有了,你的代码呢?」

思维体力

我觉得进入专注所需要的「冲量」是可以通过锻炼来缩短的。
也就是说每个人进入「专注」状态所需要的时间是不一样的,并且我们可以通过特定技巧和方法来锻炼,进而缩短进入「专注」所需要的成本。

如果把这个过程比喻为「思维预热」,那么「思维体力」可以用来指的长期保持专注状态的能力。
这个能力,因人而异,也因事而异。

有些人能一下子专注几个小时,例如爱音乐的吉他手可以抱着吉他玩一下午直到腰酸背痛。
有些人却只能一下子专注半小时,例如开个会议,直到听到老领导说「我再讲最后几句」。
还有些人只能专注前面的十分钟,例如大部分学生,听老教授讲枯燥无味的课。(不排除趣味相投的学生听的津津有味)

长时间的「专注」,容易让人思维疲劳。
不同人对于不同的事情保持「专注」的时间也不一样。
明白这样的道理,我们可以通过一些规则或者灵活的方法来让我们的思维可以在「休息」和「运行」的状态有序的切换。

比如「番茄工作法」。
番茄工作法的核心概念也很简单,可以总结成:

一个标准番茄时间是25分钟(工作),前后两个番茄时间的标准间隔时间是5分钟(休息)。
把一个任务所需要完成的时间,细分到以番茄时间来做单位。
番茄时间内强迫自己专注到当前任务中,休息时间可以用来处理需要处理的其他事务(回邮件,回短信等等)。
以这种「工作」,「休息」的状态来回切换,达到高效率完成工作任务。

单线程

人的思维,就像一台「单核计算机」,同一个时间,你只能处理一个任务。
我们所承担的多个任务都要「环境切换」的成本。
当我们从一个任务切换到另外一个任务的时候,我们必须要唤醒某些记忆才可以重新开始工作。

想必你也试过,一下子想完成多个事情,犹豫再三,决定从某一个任务开始着手,结果在执行这个任务的过程中,心理还想着其他的任务,以至于没有完全投入当前任务,大大降低效率。

如果把「人脑」比作「CPU」,那么我们需要一些方法来进行「资源调度」,以及「任务管理」。
让我们的大脑「明确目标」,专心处理当前任务,而不用去考虑其他没有完成的任务。

如何保持专注

明白了什么是「专注」,以及专注的克星「打断」。
我们可以总结保持专注所需要解决的几个主要问题:

  1. 锻炼专注,缩短冲量的成本
  2. 减少干扰源,避免打断
  3. 注意休息,注意思维体力
  4. 学会管理任务,明确目标

下面是,一些建议与安利。

「番茄闹钟」类工具

番茄土豆
我用了最久的一款集成了 GTD 应用,它集成了「番茄闹钟」和「任务管理」的功能。
以下是这款产品做的很不错的几点:

  1. 支持多个客户端,囊括了iOS、Android、Mac、Windows以及网页端。
  2. 还支持「时间记录」的功能,一周下来,你可以看看时间都花在哪里了,效率如何。
  3. 支持任务打标签

此刻
一款iOS平台的单纯的「番茄闹钟」,别有任务管理,没有白噪音。只有单纯的「25分钟-5分钟」的循环。
当我极简风的情绪来了,就会用这个APP。

「白噪音」类应用

潮汐
iOS平台独占,融合了「冥想」「白噪音」「番茄闹钟」的应用。
也用过一段时间,是一款难得的优秀作品,只有五种白噪音,清新的界面,很适合调整心情,来装一会逼。

潮汐

(注:界面太美,忍不住贴个图了)

「一副耳机」 加 「一份后摇歌单」 再加 「一双普通的海绵耳塞」

当我打开IDE或者文本编译器,准备专注的写几段代码的时候。
发现戴上耳机,播放着一张「后摇」歌单,特别能让我专注的思考如何实现功能,编码的效率也提升不少。

一副耳机
这里我不需要讨论耳机的选购,每个人的爱好需求都不一样。选择你自己喜欢的就好。

一份后摇歌单
有些人把后摇看作摇滚乐的一种,虽在音乐界这个叫法有些争议,但我们不需要去管。
后摇的一个特点是,所用乐器一般与摇滚乐相同,但节奏、和声、旋律、音色及和弦进行,都有别于传统摇滚。
没有歌词,没有人声,打破传统歌曲长度,有些甚至长达二三十分钟。
后摇给我的感觉,不像传统类似「班得瑞」那种「轻音乐」,它多了一丝激情,多了一份节奏感,更适合写代码。

如果你不嫌弃的话,这里有一份不错的网易云音乐的歌单:多巴胺作菜,后摇作酒

再额外推荐点,班得瑞十三张专辑
如果你不喜欢「后摇」,想找一份不错的「轻音乐」歌单,可以试试「班得瑞」十三张专辑。
班得瑞(Bandari)是瑞士音乐公司AG旗下的一个新纪元音乐项目。
其作品以环境音乐、冥想音乐为主,主要以睡眠、减压为主要音乐功能。
风格方面,班得瑞的音乐有许多改编自日本和欧美的新世纪音乐、凯尔特音乐、乡村音乐或老式情歌的乐曲。

一双普通的海绵耳塞
耳机戴多了,戴久了,是会严重影响听力的,并且是不可恢复的损伤。
「白噪音」的方法并不能滥用,所以你的抗噪音能力较弱的话,可以去淘宝十几块钱买一副普通的海绵耳塞,戴上也可以隔离世界。但就是有点撑耳朵,一开始会不习惯。

「GTD (Go To Do)」类工具

Wunderlist
中文叫「奇妙清单」,一款我从大学就用到现在的GTD应用,对比 Trello,Teambition,这款更适于个人使用。
单纯的记录想做的事情,做完了就打钩,打钩的那一声清脆的「叮」还是百听不厌。
一个账号通用Android、iOS、Mac、Windows、网页平台。

Trello
更适合团队协作的,「面板式」的任务管理工具。
能把任务分为不同的状态,分配给不同的人,定义好时间。
项目进度,个人进度一目了然。
支持Web、iOS、Android三个平台

Teambition
这也是一款在我大学和小伙伴做项目的就开始用的团队任务协作工具,是国内一家位于上海的优秀团队的产品。
同样支持Web、iOS、Android三个平台。
有企业版和免费两个版本,如果低于10个人合作的话,Teambition是一个不错的选择。

「记录日志」类工具

回顾和总结是一个好习惯。
一天一小结,一周一大结,还有季度总结,年度总结。
并不是写给谁看,而是写给自己看,记录自己的时间,知道时间花费去哪里了,有哪些产出,有哪些长进。
无论你选择怎么样的生活方式,也不应该让不断流逝的时间走得不明不白,不清不楚。

对我个人来说,记笔记最重要的是两点:

  1. 支持云同步
  2. 支持Markdown

印象笔记 结合 马克飞象
很久以前我用「有道云笔记」,后来因为找不到支持 Markdown 的支持加上网易邮箱暴库的原因。就转到了「印象笔记」,然后结合着第三方开发者开发的「马克飞象」,来用 Markdown 语法写了一段时间的日志。
总的体验还不错,但是这种方式还是显得有些笨拙,而且不支持其他客户端的编辑。
直到遇到了「Day One」的限免。

Day One
又是一款iOS平台独占的优秀应用,对于苹果党来说绝对是强悍的日记应用。只要你手头上有ipad,或者iphone,或者macbook,随时拿起来写点什么。
就是因为这种方便性,我在day ones写了有很多突发奇想的idea或者感悟或者感想,以及一些可以用来写作的主题。

「思维导图」类工具

1970年,英国的托尼·布詹提出了一种辅助思考的工具——思维导图。
它是通过平面上一个主题发散出来相关联对象所形成的中心网状结构的图。
由于这种表现方式比单纯的文本更加接近人类思考时的空间想象,越来越多人用于创造性思维过程中。
而我用思维脑图来做的比较多的是:

  1. 项目设计、架构设计。
  2. 个人任务整理。
  3. 思考的时候用来记录思维过程。
  4. 做会议笔记、读书笔记。

百度脑图
尽管最近的百度口碑都不好,但是无可厚非的是,百度下面的确有些产品是做的不错的,也不能一言蔽之。
百度脑图算是一个,比较纯粹的操作方式,加上一个云同步的功能,已经足够大部分需求了。
但是唯一让我还不满足的是,没有移动端的支持。
又是直到 「MindNode」限免为止.....

Mindnode
如 DayOne ,Mindnode 是iOS独占的一款优秀应用,最重要可以三个客户端同步使用。
嗯,如果你是个苹果党,也正好不差钱,Mindnode我认为是最好的解决方案。

最后的一个建议,关注健康

身体乃革命本钱,人类有区别与其他动物,就是能有反思自己思维的能力。
我们以血肉之躯来到世上,在诸如科幻片中可以实现「思想数字化」之前,我们的思想和思维的运作,都要依赖于我们现在的身体。
保养好我们的身体,可以让我们更好的完成更多的事情。
所以,我们开始站立办公了,解决方案就是:「39块的宜家拉克边桌」

站立办公

最后再啰嗦一下,关于团队效率

以上,都是讲述了如何提高个人的工作效率。
但是,现实的人类生产工作,都是团队性的,我们寻求在能保证个人效率之外,还需最大兼容到团队的效率。

这里有一篇文章很好地讲述了一些「团队效率」的观点,也基本符合我现在所在团队的价值观。
腾讯:管理研发大团队就像10人小分队

我的总结如下:

  1. 角色分明,各司其职
  2. 迭代流程,形成循环
  3. 需求透明,进度透明
  4. 线上数据,随手可得
  5. 沟通沉淀,形成归档

然后我们也一直在思考如何提高团队的效率,也有辅助一些工具,由于边幅问题。
改天另立文章,来安利一些不错的工具。

总结

本篇讲述了以下内容:

  1. 关于什么是专注,如何理解专注,以及如何达到专注。
  2. 要做到专注,需要解决的问题。
  3. 借助工具来解决这些问题,安利了一波。
  4. 简单提及了一下团队效率

关于转载

本文默认允许转载,但:

  1. 请务必注明出处:BlueSun | 《程序员如何保证「专注」与「效率」》
  2. 如果你不介意,我希望转载的同时,可以得到一声告知。(Email:huangjerryc@gmail.com)

感谢!