两种类型的程序员
有两种极端原型的程序员——“禅宗的程序员”,我们称为心如止水的程序员,还有“不能克制分心的程序员”,我们称为心绪不定的程序员。两者都是非常极端的,所以他们应该处于贝尔钟形曲线的两端,对吗?错。实际上,心绪不定的程序员是难以置信地普遍存在着。图片的效果要比文字有用,所以我现在用图片来说明两种程序员的精神世界的状态。心如止水的程序员
心如止水的程序员会怎么做?他写代码。这是他做的唯一的事情,这也说明了一切。也许更重要的问题是什么事情他没有做:他没有受分心的影响。专注的注意力,专注的修改,专注的编码。一到两个小时的纯代码时间,然后才是20-30分钟的休息,通常是离开电脑。之后他会继续开始写代码。(以上所说的时间只是一个例子。他可以用其它方式安排时间-不过他总是能平衡并搞定长时间的生产率。)他的思维像平静的水缓慢地流动。当然它不像那种恒久不变的凝固的冰。这就是心如止水的程序员精神世界看起来的样子:心绪不定的程序员
即使你的精神世界现在看起来像一个心如止水的程序员,只要你在编译的时候打开了Facebook或者检查了你的邮件还是做了其它什么事情。几分钟之后它就会像这样:这就是你检查你的邮件和打开Facebook后的状况。如果你还拥有一堆实时通知,即时通讯,还要去检查你的RSS源和推特,结果就是大脑像上面图中变成碎片的灾难一样。我们可能还没有完全从这张图恢复过来。不在特定的某天,任何时候都有可能发生。即使你把精神世界所有无用的东西最小化到任务栏,它仍会留在那里,不停地引诱你,消耗你的精神资源。朋友,时间就这样走了,你会困惑它是怎么不见的。顺便说一下,如果你是一个心绪不定的人,你还是可以看看我们网站的网页漫画!不必立刻回来把这篇文章读完。别忘了订阅那个漫画源!看完所有的漫画后可以分享给你的朋友并聊聊!做这些事不会过于分心的,真的!
心如止水的程序员与心绪不定的程序员之间的区别
心如止水的程序员更倾向于长期的幸福感和生产率。他有能力高度集中注意力,关注目标。心绪不定的程序员更倾向于短暂的满足感,长期这样不能到达全部的潜力并且会对他自己的身体和精神带来双方面的伤害。他不能定下心来集中注意力。为了彻底领悟这点,我们首先需要理解我们的大脑是怎样工作的。我们的大脑是怎么工作的
事实上我们不能完全知道,不过,基于我们现在已有的理解,心理学家已经提出了一些有用的类比方法,可以帮助我们领悟复杂的东西。电脑的类比
你的大脑像一台电脑。当然,它要比一台个人电脑复杂多了,不过电脑的比喻说法可以让我们形容许多在大脑里运行的进程。有些东西像硬盘,有些东西像内存和中央处理器,还有进程和线程,它们的确需要一些时间来访问信息并计算数据。很明显我们的大脑拥有一定的容量在任一时刻集中注意力。你可以很好地集中在某一东西上,或是不太好地集中到几样东西上,但你不能两者都做到。把注意力从一个任务转到另一个任务甚至会影响认知能力,特别是两种毫不相干的任务。只要你把意识关注在某样东西上,就会花些时间处理它和它所分配的资源并会从内存和后台进程里初始化它。它可以存在几个小时甚至几天。最近的关注到的东西在任何时刻都会不断出现的。即时你没有注意到它们在你的大脑里流动,它们一直都在那儿——而且它们占用资源,使你不能集中注意力。抽屉的类比
另一种有用的比喻说法是柜子里的抽屉。你的大脑像存放东西的抽屉。每个抽屉都是拥有数据且互相连接的,基于某种上下文关系和概念。在特定的时间里,一些抽屉是打开的,一些是关闭的。打开的抽屉代表着你当前的精神空间,它们很容易访问到。主要的问题是关闭抽屉是需要很长时间的,而打开它们是非常快的。所以,当你在工作时,注意力转到新的地方,它会立即打开一堆抽屉。当你回到工作状态时,那些抽屉仍然是开着的。这样唯一的好处是可以提高你的创造力和头脑风暴——但是不需要的抽屉开着会有影响的。它们抑制左脑的思维并降低注意力。
编译时应该做什么
在等待电脑执行操作的时间里,你的行为可以判断出你是一个心如止水的程序员还是心绪不定的程序员。主要的意见是:1.不要分心
2.短暂的休息
保持注意力并不是那么难——你必须要切断你大脑的电源,或者保持注意力集中在你的代码上。不过,关闭大脑效果更好。这样会进入一个微冥想状态,在短暂休息之后它仍会有效。为什么要进入冥想?好的,你的大脑每天都在咀嚼代码,为什么不给它一个休息呢?此外冥想科学上被证实能不断增加幸福等级。想象一下每天进行两次30-60秒表面上看起来不重要的冥想所带来的长期优势吧。现在,短暂的休息时应该做些什么?从以下内容中选择任何事,按你的想法组合在一起。你可以把它们按照这个顺序全部做一遍,这取决于(也可以不在意)这些行为所需要的时间。
1.站起来
2.眺望远处
3.把双手放在脑后,斜靠在椅子上
4.伸长双腿,把双手尽量举高
5.闭上双眼
6.轻揉眼睛
7.慢慢地把头向各个方向转,舒展颈椎
8.闭上双眼然后深呼吸
9.倒一杯水(要小心路上别被同事分心了)
编译时你不应该做的事情
这里有一张你在编译时不应该做的事情的列表。以这种方式思考:这些事情不仅会使你不能集中注意力,还会让你的思维和身体不能很好地短暂休息。1.阅读你的RSS源
2.阅读新闻(任何新闻)
3.收发邮件
4.浏览各类社交媒体(Facebook,twitter,google+,linkedin,reddit)
5.观看视频
做以下两件事要比上面的好一点,但依然不推荐:
1.和同事聊天
2.读一本物理书
专注的注意力和专注地修改
保证生产率和效率的关键是注意力100%集中在你现在正在做的事情上,做完后再把注意力完全转移到其他地方。注意力从一件事情到下一件事情的过渡不能有任何的拖泥带水。把你的工作时间分成1-2个小时一段。注意力100%集中在这些时间段里。然后是20-30分钟的休息,完全可以做任何事情。在休息时间你可以浏览你的邮件和社交媒体,当然,散个步打个盹吃些健康的点心会更好。休息结束后,检查任务管理软件(比如,我用的是我的Swift To-Do List)里下一个工作是什么,再开始另一段需要百分百注意力集中的工作。在较大程度上,这与番茄工作法有点相似。休息不是可以选择要不要的。别想去跳过它。你的身体需要休息。即使你在做你喜欢的工作,你也需要休息一下——在这种情况,你会在接下来的时间段里有动力做更多事。你的工作流程看起来应该像这样:
(任务1 – 任务2)- 休息 – (任务2 – 任务3 – 任务4) – 休息 -(另一个1-2小时的时间段) – 休息 ……不要让它完成起来是像这样混乱随机,让人看不下去的的:
任务1 – 邮件 – 任务1 – Facebook – 任务1 – 任务2 – 短暂休息 – Facebook – 任务2 – 邮件 – reddit – 任务3 – 邮件 – 休息 – 任务2 – 邮件 – 任务3 – 推特 – 黑客新闻 – 推特 – 任务1 – 任务3 – 休息 – 任务4
如果你的工作流程是像上面这样,那你既不能完全放松也不能做完你能完成的事情。这是最低级的方法。这不仅浪费了你的潜力和时间,也让你长期身体会不适。
结束语
集中注意力真的不容易。它很困难,因为当你没有集中注意力时,你基本上会朝着相反的方向过去。习惯和根深蒂固的惯例像潜意识一样难改变。好消息就是,你还可以练习。你可以学习怎样去集中精神。这是每个人都可以学的技能,而且它非常有用,值得为之努力。