`
zhb8015
  • 浏览: 374064 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
Group-logo
Spring Roo杂谈
浏览量:0
社区版块
存档分类
最新评论

每天四小时的程序员

阅读更多
思考

每天工作4小时的程序员

每个人都熟悉这种作息规律:早上9点去上班,坐在电脑前面,编一天的程序,下午5点下班回家。如今,非常感谢蒂莫西·费里斯 (Timothy Ferriss)的《每周工作4小时》,我开始重新思考应该如何工作,如何让自己变成更有效率的程序员。

最近,我把我的从周一到周五的作息规律做了一次较大的调整。很长时间以来,我一直像所有其他程序员那样工作、休息。但就在2011年的下半年,我开 始了一项试验,想看看究竟什么样的作息时间能让我更有效率。这项实验目前仍在进行中,我并不是像军人那样严格遵守实验规定——例如,我也想会早20分钟、 或晚20分钟起床——但当前制定的作息规律是这样的:

早上4:30 到 7 点:冥想,写作,目标复查,和家人吃早餐

早上4:30起床其实并不是你想象的那么难。每个人的个人情况都多少有些不同,但人的身体基本上需要每天7到9小时的睡眠时间。保证你睡眠充足的一个方法是不用闹钟自然醒。你只需要早点睡觉,你就可以在早上4:30醒来。

起床之后,我会马上喝上16盎司的水——不是咖啡!我很长时间都不喝咖啡了,而且也不太想喝。事实上,不喝咖啡我感觉会更好。然后我会冲个澡;这样会让我感觉一个清爽的一天的开始。

每天早上我都会冥想30分钟。冥想的最佳时间是在日出之前或日出的过程中,也就是西方世界的早6点之前。我不打算解释为什么冥想会对你有好处;网上对此已经有了大量的研究。如果你想找一个关于冥想的书,我推荐《Meditation for Dummies》。尽管书名很怪,但它是我读过的最好的一本书。

冥想之后,我会花30-45分钟的时间写博客。我一般会写500到800字。我发现,冥想之后立即动笔,通常会一气呵成,写的很顺利。另外,大脑经 过了一夜的休整,状态非常好,在注意力转移到其它事务之前,把大脑里堆积的东西都倒出来清理一下是很有好处的。关于写作的一个技巧:把这段时间用作对大脑 的初步清理。不要去做研究、编辑等。这些事情放在以后再做。

然后是To Do List(待办清单)时间。我会查看邮件,微博,LinkedIn,等等,以及安排下一步要做是任务。说到任务,我遵循GTD做事方法,我用Omnifocus软 件来管理我的生活。我在iPad,iPhone和MacBook Air(我是苹果的粉丝)都装了它。不错,作为一个待办事宜管理软件,Omnifocus是有点贵了,但因为我的整个生活都和它有关,这个价格也值了。我 通览一下待办清单,想想每个事情上的预期目标——所有的事情,从今天要做的小事情,到长期的目标。清单中的每个条目都设定有一个目标,如果没有目标,我会 删除它。

接着是早餐时间。关于应该什么时候吃早餐、应该吃什么的问题上,已经有大量你可以借鉴的养生指导。我尝试过各种不同的东西。我发现那些富含纤维素, 低碳,高蛋白质的东西最适合我。你试过燕麦片加花生酱吗?好极了!我还喜欢吃一些水果、喝一点茶。还有,我尽量和家人一起吃早餐。有时事情能按照这种愿望 执行,但有时不行。我的目标是今年一年都要按照这个执行下去。

早7点到11点:4个小时的编程时间

这是我用来编程的时间。一天4小时也许你会觉得少的可怜,可是我却发现,在这4小时我做的事情能比大多数人一周干的事情都要多。研究显示,具有固定 工作时间表的人比那些随机工作的人更有效率。对于我来说,这个固定时间是早7点到11点,每天。这段时间我要做的事情就是编程,不做其它的。有几个基本的 原则:

首先,关掉所有的通信设施——电话,邮件,聊天工具等。没有让你分心的事。你可以给少数几个人保留一个联系到你的方法,以防有紧急事情发生。那些真 有紧急事情需要找你的人自有办法联系到你,我还没有碰到过这样的事。我甚至还教育我的妻子,她通常习惯对所有的请求都立即给予回应,我告诉她要尊重我这4 个小时的时间。在这段时间里你应该只干一件事。千万不要同时干5、6件事情。

第二,中间不要留下休息时间来查看邮件或上网,或干其它类似的事情。原因是:在一个小时里,我可以开发出x个功能。如果我要是连续工作4小时,我发现我的产量不是4倍,而是8倍或16倍。当你全神贯注的干某项事情时,相信你也经历过这样的体验。这就是我们所说的大脑的Flow(流)状态。在以后的博客里我打算多写一些关于Flow的文章。

那为什么不把这样的制度应用到整个8小时的工作时间里呢?这是因为人的有效率的状态是有限度的。人的大脑跟肌肉一样。你可以在跑步机上持续运动8小 时吗?就像我们的肌肉,大脑需要时不时的休息。这种限度依据个人的不同而各异。通过尝试和根据犯下的错误,我发现我的极限时间是4小时。

还有一点需要提的是,我并没有在11点设了闹钟提示。当我感觉大脑有些疲倦,工作效率开始下降时,我就停止工作。有些天我只工作3小时,有时我会工作5小时;4小时是平均值。

我在家工作是为了避开打搅。如果你需要在办公室里工作,看看管理部门是否允许你把最有效率的这段时间放在家里工作。你上班途中的折腾会把早上做瑜伽 和冥想获得的好处给抵消了。在经过了早高峰的喧闹,还有办公室里的嘈杂,你的神经会变的紧张,冥思带来的效果完全消失。在家工作必定会更有效率的多。

早11点到下午1点:健身,午饭,购物

我每天都要健身。John J. Ratey的书《Spark: The Revolutionary New Science of Exercise and the Brain 》 对每天锻炼的好处做了很好的论证,如果你想知道锻炼对大脑功能改进的科学机理,你可以读一下这本书。每天不做相同的运动,甚至不去相同的健身房。我每周在 一个瑜伽馆里做3次瑜伽,在一个spinning馆里上两天的spinning课,在健身房里做两天的举重,在健身房里我有个教练。教练帮助了我很多,有 人这样督促你会使你具有更大的动力。

我喜欢在健身房运动,因为那里有额外的服务。你可以一下用掉5条毛巾而不担心老婆的抱怨。可以花30分钟冲澡而不用担心门外有人叫喊”你还没完吗?“…在家里你经常会遇到这样的事。

我还养成了一个习惯就是每天购物,通常是在Whole Foods, 一个离我家只有步行距离的超市。为什么每天购物?在很多国家,特别是亚洲,人们每天都去购物,而不是一次买足2个星期的东西储存在家里的冰箱或冷柜里。这 种方式,你只买了你需要的东西,避免了浪费。很多时候你会发现冰箱里有些不知是何物的东西,怀疑放在那里有半年之久了。我午饭在外面吃,Whole Foods超市里有不错的沙拉自助。因为我喜欢日本食品,有时我会来一点日本寿司或盒饭。

下午1点到6点:学习和交流时间

我尽量会把一些讨论、约会时间凑到一起,这样不必每天都去公司。通常,这些事情包括会议,面试,做报告,指导开发,代码审查等等。这段时间我不做任何的开发,除非有紧急的bug或特殊情况需要处理。

我还用很大比例的一部分时间去学习。我花了很多时间去阅读别人的东西,从书本到博格,大多与编程相关的东西。我每天都要学到新的知识。保持这样的学习劲头的最好的方法是对学到的东西做一些笔记,把相关的知识做写标记。像EverNote这样的软件很适合做这种事情。

同时我会看看市场上有没有其它的产品,最有效率的软件开发者是不用写一行代码就能把问题解决。我不想把别人已经做好的东西再做一遍。所以,在CodePlex, GitHub 和 Component Source这些网站上花时间是有好处的。

我从妻子的医院实习的经历中得到了一点启示。新入职的大夫每天早上看病,到了下午,他们会聚到一起讨论遇到的各种病症,讨论他们是如何应诊的。对于 我,我会事后反省一下自己做过的事,我会重新思考一下早上编程遇到的问题,在什么地方遇到了什么bug,或反省做报告时的表现,或如何主持的会议,等等。 我努力从过失中学到教训,避免它们再次出现。

下午6点到晚上8点:家庭时间

我妻子是个医生,工作很忙,但我们尽量一起度过这段时间。我们会一起做饭。然后我会和孩子一起做家庭作业。(一个二年级的学生竟会有这样多的作业,这是另外一个话题,我以后再谈。)

晚8点到8:30:反省和给大脑派活

我晚上不做冥思,而是换成坐下来反省一天的生活。如果你花上15分钟做在一个安静的地方反省你的一天,你会吃惊的发现这一天你学到了这样多的东西,获得了这样大的提高。

接下来,我给大脑安排工作。众所周知,当我们睡眠时大脑是在不停工作的。所以,你最好给它安排点工作。对于我,下面这些事情很有效:我把第二天早上要写的东西做了个大纲。就像写便条一样。我发现把它写到纸上比写在电脑里更有效。

或者,我会看一些编程/算法问题。同样,会纸上描述下来或写出框架。让人惊奇的是,很多时候早上起来你会发现已经有了解决方案!像这样的事情我是在 一个整洁的、没有格线的、信封大小的笔记本上写画的。在空白的白纸上写画会让我更有灵感。我在晚8:30到9点间上床睡觉。越早越好。

这就是我一天的作息时间。当然,当我外出旅行时会有些变化;在途中我会花大量的时间来工作。我还没有告诉你们在周末我都干些什么,我会在以后的文章里讲到这些。

我很想听到其他人关于他们的作息时间的故事,以及他们是如何提高工作效率的。

[英文原文:Daily Routine of a 4 Hour Programmer ]
分享到:
评论

相关推荐

    互联网程序员都每天刷题嘛-jmm:jmm

    互联网程序员都每天刷题嘛 前言 随着计算机的飞速发展,cpu从单核到四核,八核。在2020年中国网民数预计将达到11亿人。这些数据都意味着,作为一名java程序员,必须要掌握多线程开发,谈及多线程,绕不开的是对JMM...

    【127套】Java前端后端个人简历模板互联网IT行业程序员

    面试第一步:准备一份精简的简历,一份好的简历,能让面试官在众多求职者中注意到你,因为企业每天收到的简历非常多,所以大家要学会总结简历,突出你的优点。一般简历由四个部分组成,控制在3页左右。 第一部分:...

    程序员编写程序能力的四种境界

    程序员编写程序能力的四种境界!人类心理学研究中的一个基础支撑科目就是分析人的潜意识和意识。弗洛伊德是最早的一位能够清楚的认定和描述我们的心理活动“领域”的人。在他这著名的一生的早期,他就指出我们的意识...

    互联网程序员都每天刷题嘛-sequence:这些是四年制数学、物理和计算机编程课程的材料

    互联网程序员都每天刷题嘛希勒加斯序列 未来的劳动力将需要对数学、物理和计算机科学有深刻理解的科学家、工程师、程序员、架构师和数据科学家。 今天,有些孩子上的学校在这些主题上有很好的课程,但大多数没有。 ...

    互联网程序员都每天刷题嘛-Research:有趣的书籍、文章和视频

    互联网程序员都每天刷题嘛四月 阅读 - 文章 可能 阅读 - 文章 视频 六月 阅读 - 文章 视频 七月 阅读 - 文章 八月 阅读 - 文章 九月 阅读 - 文章 十月 阅读 - 文章 视频 十一月 阅读 - 文章 视频 十二月 阅读 - 文章...

    《当程序员的那些狗日日子》(二十一)加班,加班

    每天继续正常地上班下班。然而不久后却传来了我曾祖母去世的消息。因工作关系,我却未能及时赶回家去见我曾祖母最后一面。我的心里十分悲痛。我曾祖母已是九十多岁的高龄,生老病死本是自然规律,但是我北上求学后,...

    程序员5个刷题网站-BUAA1504B:BUAA1504B四位大神的刷题之旅

    程序员5个刷题网站 BUAA 1504B go go go ... BUAA 1504B 四位大神的刷题之旅 目录 项目简介 每日刷题记录,包含 C/C++、操作系统、计算机网络、数据库、算法五个部分。 使用说明 联系我将您加入本项目成为...

    2009.6.19—30举办3S研讨会暨Google Earth与Google Map等仿真建模与共享及ARCGIS与遥感高级程序员培训班

    按照本培训内容,紧扣核心技术,采用理论及演讲和上机操作相结合,并结合实际案例,精讲多练(上课时间:上午、下午及晚上每天8.5--9.5小时),提高实际开发与操作技术,掌握了解最新技术动态应用,通过实际项目实例的...

    C#源码之FluentScheduler定时器

    项目中经常需要定时任务(每几分钟、几秒、几小时等执行一次或每天的什么时间点执行一次等等),最简单的就是用Timer或Thread自己写一个,但是自己写的性能等各方面有可能不健全等等。FluentScheduler定时任务库,...

    JavaFamily:【Java面试+ Java技术文章汇总】涵盖了大部分Java程序员所需要掌握的核心知识

    如果大家有任何问题想咨询老哥,请在【公众号】后台给我留言,我每天会看的公众号每天定时分享技术干货文章目录(Ctrl + F类别搜索) java资料分享系列(更新中) MySQL高级知识汇总(更新中)未完待续,更新中。...

    Basic四十年:离离原上草,春风吹又生

    BASIC四十年你知道吗?BASIC语言今年四十岁了。和只有九岁的Java语言以及只有三岁的C#语言相比,BASIC可以算是程序设计语言中的...这其中的原因嘛,很简单:在过去的四十年里,BASIC几乎每天都充满了活力,这样一种健康

    interview-answe::globe_showing_Europe-Africa:【前端复习笔记】【100本最棒前端开发图书】针对小白的程序员训练 (右侧来个 star 吧 :rose:)

    转眼间又到了金三银四,想必很多小伙伴现在都跃跃欲试。 (不忘初心,html、css、javascript才是基石!) 不积跬步,无以至千里,不积小流,无以成江海。 ——— 荀子 《劝学》 不要以工作忙为借口而荒废了自己,请...

    聊一聊为什么有些大公司技术弱爆了?

    那里的程序员,每天都在看邮件,查问题工单。这些问题,多半是他们设计不当,造成的。代码写的一团糟,全是复制粘贴,连作者都没改,大家普遍不写注释,也不格式化,代码歪歪扭扭。 一个项目里,httpclient竟然出现...

    计算机网络专业毕业实习报告3000字.docx

    每天学习一课,大概有四五十个词汇,五个左右语法点;抄写单词,句子;背诵会话、例文。学习日语就是每天的主要任务,每天早晨六点起床,晨读,早饭过后继续晨读,准备听写。每学完一课,就要检查词汇,语法,句型。...

    JalanJiang.github.io::cat_face:江五渣大菜鸡的技术博客

    忘归江五渣大菜鸡的技术博客,在线访问:人生底色悲凉...目前在践行一三五写代码、二四六练吉他、每天一道算法题的人生规划。:guitar::laptop:正在维护 ,每日一更。特别鸣谢所有访客以及给我提出宝贵意见的技术大佬们

    霸屏天下源码java-cantsix:好好学习天天向上

    作为一名合格的程序员在学习任何编程语言前都必要熟练掌握两个基本技能: 一是基本的熟练键盘盲打,这是基本代码输入能力,打字速度太慢,代码输入效率就会太低。 打字速度提升可以通过金山打字通的每天坚持练习来...

    C语言大全(中文第4版 )

    本书是“C:The Complete Beference”的第四版。在第一版问世以来的几年中,程序设计领域已经发生了很大变化。Internet和World Wide Web已成为计算领域一道亮丽的风景,Java已经开发出来,C++也已标准化。与此同时,...

    java代码规范

    每天垒乱码(或许你不觉得,但是大多时候在别人眼中确实就是乱码)并不能使你获得更多的进步,相反要达到高水平的程序员,养成良好的开发习惯是绝对必需的。 不要沉迷表面的得失,看似无用的东西要经过慢慢的累积由...

Global site tag (gtag.js) - Google Analytics