本文是html5tricks原创翻译,转载请看清文末的转载要求,谢谢合作!

下图是摘自网上有关程序员工作效率的论述。

是什么摧毁了程序员的工作效率_高效工作

正如Homer Simpson所说,如果这是真的,那就有意思了。

我之所以不能一针见血地发现如何才能高效工作的秘密,大概是因为我自己也不能始终如一地保持高效的工作劲头。Joel Spolsky曾在他的一篇博客上说道:

有的时候,我甚至一事无成。

你看,我走进办公室,四处闲逛一下,然后坐在我的位子上,开启电脑,隔一会儿就去看看邮箱,浏览各种网页看看时事资讯什么的,甚至会做点不需要脑细胞参与的事情,例如支付我信用卡里的账单等等。但是就是不想去写代码。

这种无所事事的状态通常会持续一两天。但是,作为一个开发人员,我甚至有好几次几个星期都静不下心来好好写代码。正如其他人所说的,一叫我干活就好像打电话的时候听到“您所拨打的电话不在服务区”一样,整个人就跟没了魂似的,呵呵。

这篇文章我已经读了不下6遍了。但是直到现在,我依然很震惊,这样一个在程序员里面大名鼎鼎的人物竟然也会有这种烦恼。

然后,我不由地暗自庆幸,原来有这种情况的并非是我一个人啊。

下面我说的可不是保持高效工作的秘密哦,反倒是一些妨碍我高效工作的事情:

  • 打开基本计划
  • 和其他开发人员争辩Django和.NET那个好
  • 争辩出结论
  • 一个同事来问我,“hello,有没有收到我发的邮件啊?”
  • 吃口香糖。我想我已经得了“恐音症”
  • 不知道我自己在干什么
  • 对项目兴致缺缺
  • 不知该从何着手,对这个项目毫无头绪
  • 需要完成多个任务,因为非常紧迫
  • 人有三急,不得不放下手头一些工作
  • 我的手机显示有新的Twitter消息
  • 电子邮件弹出一个窗口
  • 没错,各种各样的弹窗
  • 有即时消息
  • 我的妻子在问,“如果你空下来的时候能不能XXX?”(帮她点忙)
  • 花了很多时间去建构
  • 心里很烦,感觉四周全是噪音
  • 总是有人来来回回经过我的办公桌
  • Boss找
  • 看看维基百科(千万别手贱点任何链接)
  • 看黑客新闻
  • 上网

话说以前能让我高效工作的时候是这样的:

  • 安静的氛围
  • 安静的工作区域(如果有自己的办公室就更棒了)
  • 项目下一步要做什么成竹在胸
  • 对各种问题了如指掌
  • 没有打搅、没有中断
  • 再强调一遍,没有一点打搅和中断
  • 关掉Twitter
  • 关掉黑客新闻
  • 电脑硬件运行正常
  • 喜欢正在建设的项目
  • 简短的建构和调试时间
  • 不在互联网上辩论政治问题

由此看来,差不多有一半的负面因素是我自找的。

不过也可以看出,很多导致不能高效生产的行为,通过自我控制是可以减少的。但是我深陷于这个温柔的泥淖不可自拔:要么干劲来了势不可挡,要么傻乎乎坐那任凭打搅。我真想咆哮,我其实真的一点也不擅长啊啊啊。对于处理这种影响效率的特别因素,我实在没有什么高明的意见,但是有一点我很清楚:任何我能控制的事情,就必须控制住,将其扼杀在襁褓中。这句话的意思是:

  • 关闭iPhone的消息提示(还能增加电池寿命)
  • 如果连续3小时都乖乖在写代码的话,不要吝啬于给自己一个奖励(通常可以是在“上网时间”允许自己看看黑客新闻或者是Twitter)
  • 如果真的非常非常紧迫,那么可以在家里继续
  • 买个质量优异的抗噪音耳机
  • 在工作日历上标注“无会议时间”。告诉大家“我很忙,这是我的工作时间”
  • 不在办公时间参与讨论。是人就有表达自己见解的意愿,而程序员更是喜欢争辩。如果确实有需要解决的实际问题,我们可以到专门的会议室去讨论,找出各方案的优缺点。从而最终能得到一些成果,而非仅仅是争论。
  • 给自己的办公桌换个位子,避免一有人走过就会打搅。
  • 对于问题,先自己研究一下,然后再请别的开发人员看看,以便于更好的理解自己应该做什么。这样能一箭双雕:一方面对问题能有一个基本的理解;另一方面在我需要寻求帮助的时候提出的都是更有深度的问题。

是什么妨碍你高效工作,你拿什么来拯救你的效率?欢迎探讨。