本书是编程大师“Bob 大叔”40余年编程生涯的心得体会的总结,讲解要成为真正专业的程序员需要具备什么样的态度,需要遵循什么样的原则,需要采取什么样的行动。作者以自己以及身边的同事走过的弯路、犯过的错误为例,意在为后来者引路,助其职业生涯迈上更高台阶。
本书适合所有程序员阅读,也可供所有想成为具备职业素养的职场人士参考。
8小时其实非常短暂,只有480分钟,28800秒。身为专业开发人员,你肯定希望能在这短暂的时间里尽可能高效地工作,取得尽可能多的成果。有什么办法能确保不浪费这宝贵的时间呢?怎样才能有效地管理时间?
关于会议,有两条真理:
(1)会议是必需的;
(2)会议浪费了大量的时间。
专业开发人员同样清楚会议的高昂成本,他们同样清楚自己的时间是宝贵的,他们同样需要时间来写代码,来处理日程表上的事务。所以,如果会议没有现实且显著的成效,他们会主动拒绝。
拒绝:
邀请你参加会议的人并不负责管理你的时间,为时间负责的只有你。所以,如果你收到会议邀请,务必确保出席会议可以给自己目前的工作带来切实且显著的成效,否则不必参与。
有些会议是关于你已经完成的某些事项的,对目前的工作并没有现实意义。这时候,就应当权衡自己项目的损失与他人的收益。这话有点儿不中听,但你理应把自己的项目摆在最重要的位置。
还有些时候,有职权的人(比如其他项目的高级工程师或者主管)命令你必须参加某些会议。这时候应当问问自己,他们的职权是否比自己的工作计划更重要。同样,自己团队的同事和领导也可以帮忙决策。
离席:
这些年来,我学到了一条简单规则:如果会议让人厌烦,就离席。
重要的是,你应当明白,继续待在会议室里是浪费时间;继续参加对你没有太多意义的会议,是不专业的行为。因为你有责任合理分配老板给你的时间和金钱,所以,选个合适的机会商量如何离席,并非不专业的做法。
如果确实需要开会,确定议程与目标:
睡眠:专业开发人员会安排好他们的睡眠,保证清晨有饱满的注意力点数去上班。
咖啡因:毋庸置疑,对有些人来说,适量的咖啡因可以帮他们更有效地使用注意力点数。但是请小心,咖啡因也会给你的注意力添乱。
恢复:一旦注意力点数耗尽,你就没法控制注意力。你仍然可以写代码,但是多半需要第二天重写,或者在几周或几个月之后备受这段代码的煎熬。所以,更好的办法还是花30到60分钟来换换脑子。
肌肉注意力:肌肉注意力有助于改善心智注意力,而且不仅仅是简单的恢复。我发现,定期训练肌肉注意力,可以提升心智注意力的上限。
关于注意力,我知道的另一重点是平衡输入与输出。编程是一项创造性劳动。我发现,如果能接触到其他人的创造性思维,我的创造力也最旺盛,所以我阅读大量的科幻小说。这些作者的创造力会激发我对软件的创造力。
时间拆分法和番茄工作法:
把厨房用的计时器(通常它的形状很像番茄)设定到25分钟。倒计时期间不要让任何事情干扰你的工作。如果电话响了,接起来并礼貌告诉人家,请在25分钟之后打来;如果有人来打断你问问题,礼貌地问他是否能过25分钟再来问。无论什么干扰,都必须等到25分钟结束再处理。
毕竟,几乎没有事情会紧急到25分钟都等不了。计时器响的时候,停下手上的工作,转去处理这25分钟内遇到的其他事情。之后休息5分钟左右。然后,再把定时器设定为25分钟,开始一个新的番茄时间段。每完成4个番茄时间段时间,休息30分钟左右。
有时候你工作时会心不在焉。很可能是因为要做的事情让人恐慌、难受,或者厌烦。你可能会认为,工作是你被迫面对的,自己无从脱身。或者,你就是不喜欢这份工作。
优先级错乱:无论什么原因,我们都可以找到办法逃避真正的工作。你说服自己有些工作更紧急,所以转去处理,这种行为叫作优先级错乱——提高某个任务的优先级,之后就有借口推迟真正急迫的任务。
优先级错乱是自我麻醉的谎言,因为不能面对真正需要做的事情,所以我们告诉自己,其他事情更重要。我们知道这不是真的,但还是用它来欺骗自己。
死胡同:
泥潭: