程式設計師和禪修有什麼關係?
來自德國的程式設計師Christian Grobmeier用了整整一本書告訴你一位禪修程式設計師的生活。
這本書就是《程式設計師之禪》。
Christian Grobmeier曾從事過Web開發者、顧問、架構師、經理、測試者以及其他工作。在每週工作七十五小時,無需化妝就能扮演電影中的殭屍之後,他
開始禪修。
現在他仍然是一名開發人員,但也同時是一名作家。Christian Grobmeier出版了“The Zen Programmer”(即《程式設計師之禪》),致力於“Time&Bill”等專案,並試圖撰寫其他書籍。近七年來,他積極參與Apache軟體基金會。
禪修讓他認識到只有自己才能解決自己的問題。他說,“我既不能改變公司,也不能改變專案,是我自身需要改變……歸根結底,沒有任何書籍、任何專家、任何朋友可以改變你的生活,你自己對此負責。”亦如聖雄甘地所說:沒有通往和平的道路,和平即是道路。
“十分鐘也許只能改變一陣子,但如果你真的想改變生命,你應該從這十分鐘做起。如果能夠做到這一點,你將會發現“你自己的人生之路”。——Christian Grobmeier
那麼,接下來,我們一起花十分鐘的時間,看看這本書到底有什麼迷人之處,又到底如何讓作者發現了自己的人生之路的吧!
程式設計師之禪的10條法則
在本書作者成為一個自由職業者之前,一度拼命工作,結果卻讓他鬱悶,從2006年開始,他便開始了參禪。以下10條法則便是他從參禪中總結出來的,來自於本書的第十章,這十條法則也一度紅遍了國內外程式圈。
1、專注
禪修程式設計師一旦開始工作,就應該全力以赴,做到最好。請不要同時展開多項工作。一次僅做一事就好。一心多用不會讓效率更高,只會使你應接不暇。超負荷工作會讓人疲憊不堪、容易出錯,而且在不同的工作之間頻繁切換也會浪費事件。這是條通用的建議,不僅僅適用於程式設計工作。
2、心無雜念
在動手程式設計之前,你需要清空頭腦,摒棄一切雜念。如果你有什麼麻煩事,不要讓它影響你。在大多數情況下,煩惱會自行消失。如果雜念太多,無法驅除,就暫且不要工作。一定努力清除它們。而你一旦開始工作,請暫且忘記身外的世界。
3、初學者心態(虛懷若谷)
別忘了自己還是初學者的那些日子。或者如果你目前就是個初學者,請堅守這份新人情懷。你所學到的遠遠不夠。如果你已經是個專家了,不妨每天也把自己當成初學者。堅持以初學者的心態來對待技術問題,這樣你就能更容易去接受那些讓軟體更好的修改,不落俗套。即使那些經歷不如你的人也可能會提出一些好主意。有哪一個軟體的兩次構建方法會完全相同呢?即使你去複製(仿製)軟體,建構過程也不會完全相同。
4、無我
一些程式設計師存在的大問題是:過於自我。但其實,我們沒有時間過於自我,沒有時間成為一個搖滾明星。
你無法將整個自己與他人去比較,只能說某些方面的比較。你可能因為Java賺的多一些,但那個擅長保齡球的人可能從生活中獲得了更多的樂趣,因為他有一群保齡球友。
你真的對自己是個極客感到自豪嗎?過於自我的程式設計師容易固步自封。請保持謙虛,向他人學習,不管他是個老手,還是菜鳥。
澤木興道禪師教誨:“你並不重要。”
5、不要設定職業目標
難道拼命工作20年,就是為了成為公司股東?為什麼不能因為樂趣而勤奮工作呢?如果真心喜歡,即使辛苦也會樂在其中。“一日不作,一日不食”,禪宗如是說。
沒有必要等到20年後再去尋找快樂。即使不是公司股東,即使沒有保時捷跑車,現在的你也能擁有快樂。除非天有不測風雲,否則只管盡力去工作,並樂在其中。
如果某天你認為再公司工作已毫無樂趣可言,請果斷離開。千萬不要待在奪走你生活之樂的公司。時間不可輕易浪費——生命無常,或許明天它就會消逝。
6、敏事慎言
如果沒有什麼要說的,就不要去浪費同事的時間。在每天的工作中,儘量不要去無端惹人心煩。試想一下,要是每個人都努力做到,那將是一個多麼好的工作環境啊?雖然有時這是不可能的,但請努力做到,你會喜歡的。
如果你不過於自我,就很容易做到謹言,只關注當講之事。不要把你的“個人經驗”變成了“自負”。永遠記住:你是一位初學者。如果他人有好主意,請保持隨喜心。
7、正念,觀照、覺察
是的,你正在工作。但與此同時,你也在呼吸,在生活。即使工作再忙再累,也要傾聽身體發出的訊號。你要知道哪些東西對你是有好處的,所有的,包括像食物等生活必需品。要關心自己及周圍環境中一切,畢竟,你所喝之水就來自於周邊這條河流。記住,你是為自己而生的——一個人生來,也將一個人死去。即使沒有你,地球依舊轉動。
在禪宗中,“觀照”是一個重要的詞彙,也許用覺察更好把握這個詞一些,每時每刻,你都要覺察自己的所作所為。在你的一生中必須保持正念,否則就是在浪費時間。
8、做自己的老闆
某人付你薪水,告訴你需要做什麼,而且他還可以解僱你,這都不是你放棄自己的生活,成為工作狂的理由。總之,老闆對你沒有控制權,你甚至也可以懷疑你對自己有無控制權。
如果你一味縱容的話,老闆可以讓你的生活變得很糟糕,但是你可以說“不”。
9、玩物養志
程式設計師不止是一個程式設計師。你應該嘗試一些跟計算機無關的事情。在你的閒餘時間可以盡情盡意,不管你做什麼,就像在工作時間那般投入,認真去做。愛好不僅僅是愛好,它也展示了你究竟是怎樣的一個人。
正如本書作者,在自己的閒餘時間裡錄製了多張CD,還寫了幾本科幻小說,這些事情塑造了今天的他,並最終導致他參禪,寫成本書。
10、淡泊寧靜
作為程式設計師的你,也許很優秀,但是也沒什麼特別的。你、以及生活在這個星球上的其他人,都沒什麼兩樣。很久以後你終究難免一死,你擁有的一切全都會消失。這同樣適用於你的軟體,當你離開後,沒人會再記得你,時間流逝、逝者如斯矣。如果你遵循了上面的9條規則,就會明白:那個優秀、有趣的專案已經過去了,現在,是時候繼續前行專注其他事了。
放棄“我執”,自由自在地生活。
或許讀到這裡,你會覺得作者在提倡一種消極的生活態度,無作為地去面對工作。其實不然,作者正是在以一種看上去消極實則積極的態度面對生命。
譬如第7章《禪即苦修》中,就能看到作者對於工作、學習的認真和毅力,毫無疑問,這是積極向上的精神促使其可以苦修。
這本書適用所有人來“觀照”自我,但又特別為程式設計師群體傾力書寫。
比如第3章《為什麼要進行禪修程式設計》、第4章《氣禪和編碼》、第7章中的“像火頭僧那樣編寫程式碼“、”程式設計之業“、第8章中的”佛陀程式設計師“、第9章《專案之禪》都是圍繞程式設計師群體在工作中的具體建議。
過去、現在和未來,程式設計師都是特別辛苦的群體,身體和精神都承受著重壓,作為一名德國的程式設計師老兵,作者深諳程式設計師的喜怒哀樂,坦誠分享跟隨日本禪師參禪的經驗和對生命的感悟......
參考來源:
《程式設計師之禪》
更多閱讀: