Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
yanyue404 opened this issue Mar 14, 2020 · 0 comments
Open

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

yanyue404 opened this issue Mar 14, 2020 · 0 comments

Comments

@yanyue404
Copy link
Owner

yanyue404 commented Mar 14, 2020

睡眠

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

时间拆分和番茄工作法

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

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

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

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

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

要避免的行为

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

优先级错乱

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

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

死胡同

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

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

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

泥潭

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

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

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

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

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

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

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

结论

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

@yanyue404 yanyue404 changed the title 时间管理 《程序员的职业素养》之时间管理 Apr 6, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant