做一名禪修程序員意味著什么?那意味著,你要持守我從禪宗 習(xí)得的10條戒律,它們與計(jì)算機(jī)程序員的現(xiàn)代世界息息相關(guān)。
早晨,外面下著雨,我發(fā)覺(jué)自己正坐在辦公桌上琢磨有關(guān)高效率工作(efficient working)的問(wèn)題。在我成為自由職業(yè)者之前的那些日子,盡管做了許多工作,然而回首往昔,不過(guò)是一片狼藉罷了。
回想2006年我開(kāi)始禪修之際,當(dāng)時(shí)有好一陣子,這種念頭清晰地浮現(xiàn)在我的腦海里:幾百年前,老禪師就已知曉今天的程序員到底該如何工作。盡管我并不喜歡那些諸如“成為更好的程序員”之類(lèi)的帖子,但是從那天早上起,我想概括我的一些想法。謹(jǐn)以此文作為自我提醒,但如果你對(duì)此有任何想法,歡迎不吝賜教。
1. 一心不亂(Focus——集中精神)
一旦你已決定處理某項(xiàng)任務(wù),就要盡你所能把它做好。不要同時(shí)啟動(dòng)幾件事。一次只做一件事。一心多用不會(huì)使你變得更快,你只不過(guò)是在進(jìn)行多線(xiàn)程式的工作。如果進(jìn)行多線(xiàn)程式的工作,那么你將變得精疲力竭、錯(cuò)誤倍出,而且為了從一個(gè)任務(wù)跳轉(zhuǎn)到另一任務(wù)也會(huì)浪費(fèi)時(shí)間。這不僅適用于編程,而且是條通用建議。
澤木興道(Kodo Sawaki)禪師說(shuō)過(guò):要是你想睡就睡。當(dāng)你準(zhǔn)備睡覺(jué)時(shí),就別盤(pán)算軟件了。只管去睡。要是你想編碼就編碼。切勿虛度光陰——專(zhuān)心編碼。要是你累得寫(xiě)不動(dòng)程序了,那就睡吧!即使像Stephan Uhrenbacher那樣知名的多任務(wù)處理者在此時(shí)也會(huì)決定進(jìn)行單線(xiàn)程式的工作。我有著與Stephan類(lèi)似的經(jīng)歷,并最終寫(xiě)出了名為Time & Bill的時(shí)間跟蹤工具。其目的是跟蹤我的時(shí)間,哪怕是像打電話(huà)那樣的小任務(wù)也可輕松跟蹤。現(xiàn)在我可以在每天伊始創(chuàng)建幾個(gè)秒表,而且只需輕輕一點(diǎn)便可跟蹤我的時(shí)間。但是過(guò)去的結(jié)果卻是場(chǎng)災(zāi)難:有時(shí)直到我移至下一個(gè)任務(wù)為止,我僅僅在某個(gè)任務(wù)上工作了幾分鐘。現(xiàn)在我的情況已有所改善。與番茄工作法類(lèi)似,我會(huì)計(jì)劃若干時(shí)段,并且在那些時(shí)段里全神貫注地工作,不聊天、不瞌睡、不瀏覽應(yīng)用商店上那些精彩的新游戲。