yanyue404/blog

《程序员的职业素养》之时间管理

yanyue404 opened this issue · 0 comments

睡眠

睡眠的重要性怎么强调都不为过。美美一觉醒来,我的注意力点数是最充沛的。好好睡上 7 个小时,我就有足够的注意力点数去做好 8 小时的工作。专业开发人员会安排好他们的睡眠,保证清晨有饱满的注意力点数去上班。

时间拆分和番茄工作法

我用来管理时间的有效办法之一,是使用众所周知的番茄工作法”。其基本思 想很简单:把厨房用的计时器(通常它的形状很像番茄)设定到25分钟。倒计时 期间不要让任何事情干扰你的工作。如果电话响了,接起来并礼貌告诉人家,请 在 25 分钟之后打来;如果有人来打断你问问题,礼貌地问他是否能过 25 分钟再 来问。无论什么干扰,都必须等到25分钟结束再处理。毕竟,几乎没有事情会紧 急到25分钟都等不了。

计时器响的时候,停下手上的工作,转去处理这 25 分钟内遇到的其他事情。 之后休息5分钟左右。然后,再把定时器设定为25 分钟,开始一个新的番茄时间 段。每完成4个番茄时间段时间,休息30分钟左右。

论述这个技巧的资料已经有很多了,我强烈推荐你阅读(人民邮电出版社出版的《番茄工作法則,单单易行的时间管理方法》一书评介了如何利用该方法提高工作效率。该书译者大胖还创建了一个中文交流网站 25in1.com,感兴趣的读者可以在这 里和大家交流使用的心得和疑问。 ——编者注)。不过,看过上面的 描述你应该明白它的要点:使用这个技巧,你的时间可以分为番茄时间和非番茄 时间。番茄时间是有生产率的,你可以真正做点事情。用于应付干扰、参加会议、 休息等非工作事宜的时间,则属于非番茄时间。

一天中你有几个番茄时间段?不错的情况下你可以有 12 到14个番茄时间段, 糟糕的情况下可能只有2到3个。如果你把情况记录下来并且画图表示,就可以 很清楚地知道,每天有多少时间是有效率的,有多少时间是花在杂事上的。

有些人觉得这个办法相当受用。他们用番茄时间段为单位,估量工作量,然 后测量每周的番茄速度。但这只是锦上添花。番茄工作法的真正好处在于,在25 分钟的高效工作时间段里,你有底气拒绝任何干扰。

要避免的行为

有时候你工作时会心不在焉。很可能是因为要做的事情让人恐慌、难受,或 者厌烦。你可能会认为,工作是你被迫面对的,自己无从脱身。或者,你就是不 喜欢这份工作。

优先级错乱

无论什么原因,我们都可以找到办法逃避真正的工作。你说服自己有些工作 更緊急,所以转去处理,这种行为叫做优先级错在——提高某个任务的优先级,之后就有借口推迟真正急迫的任务。优先级错乱是自我麻醉的谎言,因为不能面 对真正需要做的事情,所以我们告诉自己,其他事情更重要。我们知道这不是真 的,但还用它来欺骗自己。

其实这不是在欺骗自己:我们真正做的是准备谎言——如果有人问自己在做 什么事情,为什么这么做,我们就会摆出这些谎言。我们是在为他人对自己的判
断寻找理由和借口。显然,这不是专业的行为,专业开发人员会评估每个任务的 优先级,排除个人的喜好和需要,按照真实的紧急程度来执行任务。

死胡同

所有软件开发者都要遇到死胡同。比如你做了決定,选择了走不通的技术道 路。你对这个决定越是坚持,浪费的时间就越多。如果你认为这关系到自己的专 业信誉,就永远也走不出来。

慎重的态度和积累的经验可以帮你避免某些死胡同,但是没法完全避免所有 的。所以你真正需要的是,在走入死胡同时可以迅速意识到,并有足够的勇气走 回头路。这就是所谓的坑法则(The Rule of Holes ): 如果你掉进了坑里,別挖。

专业开发人员不会执拗于不容放弃也无法绕开的主意。他们会保持开放的头 脑来听取其他意见,所以即使走到尽头,他们仍然有其他选择。

泥潭

比死胡同更糟的是泥潭。泥潭会减慢快的速度,但不会让你彻底停下来。 泥潭会阻碍你前进,但如果使尽全力,你仍然可以取得进展。之所以说泥潭比死胡 同更麻烦,是因为在泥潭中,你仍然可以看到前进的道路,而且看起来总是比走 回头路要短(虽然实际不是这样)。

我曾经看到过产品因为陷入泥潭而报废,公司因为陷入泥潭面破产。我也看 到过原本小步快跑的团队,在几个月内被泥潭搞到步履蹒跚。除了泥潭,没有其 他东西能够对开发团队的效率产生如此深远且长期的负面影响,绝没有。

真正的问题在于,泥潭和死胡同一样是无可避免的。慎重的态度和积累的经 验有助于避开泥潭,但无法彻底避开每一处泥潭。

在泥潭中继续前进的危害是不易察觉的。面对简单问题,你给出解决方案, 保持代码的简单、整洁。之后问题不断扩展,越来越复杂,你則扩展代码库,尽可能保持整洁。某天,你发现自己从一开始就做了错误的选择,在需求变化的方向上,程序跟不上节奏。

这就是转折点!你可以回头修正设计,也可以继续走下去。走回头路看起来 代价很高,因为要把已有代码推翻重来,但是走回头路绝对是最简单的方法。如 果继续前进,系统就可能陷入泥潭,水远不得脱身。

专业开发人员对泥潭的恐惧远远大于死胡同。他们会时刻留神显露出来的泥 潭,然后运用各种努力,尽早尽快地脱身。

发现自己身处泥潭还要固执前进,是最严重的优先级错乱。继续前进无异于 欺骗自己,欺骗团队,欺骗公司,欺骗客户。你一边走向大家共同的炼狱,一边 告诉其他人,所有问题都会解决。

结论

专业开发人员会用心理自己的时间和注意力。他们知道优先级错乱的诱惑, 他们也珍视自己的声誉,所以会抵制优先级错乱。他们永远有多种选择,永远的 开心扉听取其他解决方案,他们从来不会执拗于某个无法放弃的解决方案。他们 也时刻警惕着正在显露的泥潭,一旦看清楚,会避开。最糟糕的事情,莫过于 看到一群开发人员在徒劳地拼力工作,结果却陷入越来越深的泥潭。