禪道程序員的10條原則

>>>  技術話題—商業文明的嶄新時代  >>> 簡體     傳統

  英文原文:The 10 rules of a Zen programmer

  在一個陰雨的早上,我坐在桌子旁,開始想如何才能高效的工作。在我成為一個自由職業者之前,我有很長一段時間都很努力工作,但收效甚微。

  我在 2006 開始接觸禪學。我馬上意識到:古代的禪宗大師們幾百年前早就已經知道現今的程序員應該如何工作。雖然我很討厭“如何成為一個更好的程序員”之類的文章,但我仍舊想分享一些我的想法。它對我來說起到個提醒的作用,如果你有什么想法,也請留言。

  0. 專注 Focus

  如果你決定開始工作,請盡力的做好它。不要同一時間做幾件事情。一次只做一件事情。如果你多線程工作的話,你不一定會更快。多線程會讓你精疲力盡,出錯,轉換任務時消耗更多的時間。這不是僅限于編程,這是個普遍的法則。

  Kodo Sawaki 說過:如果你需要睡覺,去睡吧。當你試圖睡覺的時候,不要想著程序,單純的睡覺。如果你在編程,就專注編程吧,不要做白日夢。如果你很累的話,不能再編程的時候,就睡覺吧。就算是著名的多線程超人 Stephan Uhrenbacher 也決定以后單線程工作。我也有與 Stephan 類似的經歷,最后我寫了 Time & Bill,一個追蹤時間的工具。目的是想只需要點一個鍵,就能追蹤我的時間。結果很糟糕:我經常在一個任務只專注了幾分鐘就轉移到另外一個任務去了。現在我好多了。類似于 Pomodoro technique,我計劃了一些工作時段,專注于它們。不聊天,不睡覺,不查看 Appstore 里的新游戲。

  1. 保持清醒 Keep your mind clean

  在編程時,你需要清除你的內存。拋開你腦袋中的其他東西。如果你被其他事情所煩惱,不要讓它們影響你。大部分情況下麻煩會自動消失。但如果有很大麻煩的話,你不能遺忘它們,就不要工作。試著清除雜念。當你開始工作的時候,讓外部的世界遠離你。

  郵件列表中有很激動人心的事情嗎?不要管它。你之后還有機會看到這則激動人心的事情的。立即關掉能填滿你腦袋的應用吧:關掉 Twitter,Facebook,E-mails。你應該將手機靜音,放在口袋里。你也許會說這同第一條,專注,很接近,但還有一條,吃飯的時候或者開始工作之前不要使用那些工具。它們會將你與外部世界聯系起來,分散你的注意力。

  想想:大部分時間當你起床的時候你的腦袋是清醒,毫無雜念的。如果不是這樣,做些運動也許有幫助(我會長跑)。如果你感到毫無雜念時,去工作吧,你能表現得很好。等你不再工作的時候,這時候你可以讓你的腦袋充滿雜念了。你將會看到一整天辛勤的工作已經被你拋在腦后了,這是多么棒的體驗。Twitter 和 Co 會消耗你大部分的能量。你也許會想:就是一分鐘的事情。你錯了,其實不止。

  你其實已經意識到了吧。

road wallpaper

 

  2. 保持初學者的思維 Beginner’s  Mind

  還記得你作為一個新兵時候的日子吧。如果你仍舊還是個新人,就記住這個時候吧。你時刻渴望新知。每天都想象自己是一個新人。試著以一個新人的角度來看那些技術。這樣你能更好的接受指正,或者不按常規出牌,開陳出新。也可以從一些新人身上學到許多好的想法。

  3. 拋開自負 No ego

  一些程序員有個大問題:太自我。但我們沒有時間來發展自我,我們沒有時間成為一個搖滾明星。

  是誰決定要做一個程序員的?你嗎?不是,那是其他人?可能吧。你能比較到底是蘋果好還是香蕉好么?不能。你是個個體。你也不能將你的方方面面和其他個體作比較。你只能作片面的比較。

  你有某一點很厲害,你也不能驕傲自滿。你 Java 很厲害?很酷。另一個人 Java 的確不如你厲害,但他保齡球比你厲害。Java 比打保齡球更重要么?視情況而定。可能你可以依賴 Java 賺更多錢,但那個人也許因為有一些保齡球球友而享受了許多樂趣。

  你可以因為你是個 geek 就沾沾自喜么?太自我的程序員不會虛心向他人學習

  Kodo Sawaki 曾經說過:你沒有那么重要。

  想想這句話吧。

  4. 不要想著職業目標 There is no career goal

  如果你想得到什么事物,并且不關心你現在的生活,那么你已經輸掉了這個游戲。不要想象你之后將會達到什么職業目標。

  工作 20 年,成為一個股東合作人?為什么不為了興趣而努力工作呢?努力工作可以非常有趣。禪說,一日不作,一日不食

  我們不需要等到 20 年后才開心。你可以現在就開心,就算你還不是一個股東合作人,你也沒有開保時捷。事情會很快就轉變的。你會生病,你也可能被炒,你可能自我耗盡(如果你遵循所有的這些規律,我想可能性很低)。

  在所有的這些事情發生以前,盡情的努力工作吧,快樂的工作。不要僅僅盯著學校里的成就,不要想著你沒有得到的一個職位。

  畢竟你終究會達到某個位置。你會有一些珍貴的記憶,也許還會有一個不錯的職位,業績輝煌的 20 年。每一天都是很棒的一天。

  如果你覺得在你現在的公司工作不開心,立即離開吧。不要呆在一個剝奪你快樂的公司工作。當然這僅僅可能在富有的國家里可行,人們可以選擇離開。但如果你生活在這么好的環境里,就這么去做吧。不要后悔離開,你沒有時間可以浪費,你可能明天就死掉。

  5. 停止爭論 Shut up

  如果你沒有什么要說的,就不要浪費時間和你同事爭吵。這并不是說你懦弱。每天你都要工作,你不需要搞得其他人緊張。想象一下,如果每個人都這么做,那會是多么好的工作環境啊。有時這是不可能的。但盡力嘗試這么做吧,你會喜歡的。

  如果你不自負的話,便很容易做到不爭吵,而是去關注那些你真正想說的事情。不要將“自我”和經驗搞混淆了,記住:你是一個新人。如果其他人有好的想法,就去支持他的想法吧。

  6. 留心\細心\意識  Mindfulness. Care. Awareness

  是的你在工作。但同時你在呼吸。即使你的工作有困難,你也需要聆聽你身體的信號。你應該學習對你身體好的事情,譬如食物。你應該學會照顧好自己,以及留心你所在的環境,畢竟你喝的水將會又流到河里去。因為你僅僅為你自己而活,你獨自來到這個世界,也將獨自離開。地球沒有你照樣運轉

  不要工作在你不喜歡的環境。不要做不拿報酬的工作,這意味著你不會快樂,你不得不離開你的臥床。遠離那些讓你不開心的事物。不計回報的工作聽起來是天方夜譚嗎?想想那些在黃金時間里做開源項目的人。如果你在郵件列表中訂閱過一些項目,你可能已經知道這是多么熱門的事情。如果你并不感到開心,就不要這么做吧。我知道許多人做開源項目,但是他們并不喜歡。用 Time Bill 我追蹤過我為開源項目花費的時間,我浪費了太多的時間,尤其是那些我并不喜歡的項目。

  有些人認為只有當他們有消遣時間的時候,能在晚上有 xbox 玩,有酒喝才會感到開心。雖然有時享樂是非常不錯的,但不代表你一輩子的所有時間都是快樂的。如果你能避免你不喜歡的情況,請盡量避免(就像我上面提到的),但有時你不得不面對那些你不想做的事情。譬如人手將經理的 Excel 中的數據復制粘貼到 phpmyadmin 中去。這些可能要花上幾天,甚是枯燥。你感到極為無聊,但有時你不得不這么做。你不能因為碰到一個枯燥的任務就隨意的辭職。禪宗大師們也不會逃避他們的工作的。他們在 4 點鐘起床(有時早些,有時晚些,取決于習俗),開始冥想和工作(他們認為工作也是冥想)。他們會做清掃廁所的工作,或者做園藝,如果是齋飯僧,他們會做飯。他們會全神貫注的工作。不管他們做什么,他們都會全身心的去做,并且感到快樂知足。因為每時每刻,甚至是打掃廁所,對他們來說都是他們的生活

  也就是說:如果你需要復制粘貼 excel,也不要哭訴了。僅僅去做吧。不要浪費你的時間在抱怨上,它們會過去的。試著做個最好的復制粘貼者吧。

  如果你得了心臟病死了,人們也許會說:“哦,他工作太長時間了,他經常為我在深夜里無償工作。”沒有人會指引你去另一個世界,最后一步要我們自己走。你不能轉換世界上的任何東西。什么都不行。所以你需要照顧好自己,每時每刻。如果你死了,就死了,如果你活著,就應該好好的活著。沒有時間去浪費了。

  在禪學中“心”是個很大的詞(在任何一種形式的禪學中都是)。我不可能完全表示清楚它的含義。要明白“心”的不同的含義是很困難的。可能“意識”這個詞對你來說更容易懂些。你需要意識到你做的每一件事情。否則你就是在浪費時間。當然你可以這么做,取決于你自己,如果你喜歡這樣的話。

  7. 拒絕老板  There is no Boss

  是的,老板付你工資,他告訴你需要做什么,他也可以炒掉你。但沒有必要放棄掉你自己的生活,為你的工作而生病。最終你的老板不能控制你了,也許你也失控了 – 請不要走上這條路。

  回到你的老板:如果你允許的話,他可以讓你的生活更加糟。但有解決的方法,如果他要你做你感到不開心的事情,或者違背你原則的事情,堅決說不。會發生什么?最壞的情況,他會炒掉你。那又怎樣?如果你生活在西方國家,如果你是個程序員(如果你在讀這篇文章,那么你極可能是程序員),你會找到另外一份工作。

  我并不是說對類似將 CSV 數據拷貝成 HTML 這樣的任務說不。我說的是一個星期工作 80 小時的工作。或者你覺得你的孩子需要更多的關注。或者你被逼要炒掉其他人僅僅因為你老板不喜歡他們。或者你是個顧問,但是需要為一個核電站或是為坦克編寫程序(有些人會說為核電公司工作是多么的好啊 – 但這違背我的原則,而且僅是一個例子),你都可以說不。

  8. 有其他愛好  Do something else

  程序員不僅是一個程序員。你應該做一些和電腦無關的事情。在業余時間,你可以去航海、釣魚、潛水、冥想、軍事藝術、玩尺八(Shakuhachi,一種樂器)。不管做什么,用掉你剩下的能量吧,就像你工作的時候那么竭盡全力。興趣愛好不單是興趣,它也是你是誰的一種象征。當別人說興趣不重要時,不要讓他得逞。現在我們可以擁有自己的愛好。我錄了一些 CD,寫了幾本科幻書(沒有發表過,我需要更多的練習寫作)。這些事情都能體驗我是什么樣的人,最終它們引領我接觸到禪學,以及寫下這篇博客。最近我在練習尺八。這些都是我日常生活的一部分。

  9. 沒有什么東西是不可取代的  There is nothing special

  一朵花很美麗,但它僅僅是一朵漂亮的花朵,沒有什么更特別的了。它一點也不稀奇。你是一個會編程的生命體,可能你很棒,但也沒有什么稀奇的了。你僅僅和我一樣是這個星球上存在的一個生命體而已。

  你要上廁所,你要吃飯,你要睡覺。很久以后(希望如此)你會死去,你所創造的一切將會隨之而去。就算是金字塔很久以后也會消失。你知道建造金字塔的人的名字嗎?如果你知道,那么這很重要么?不重要。金字塔在或是不在,都沒什么特別的。

  同樣你寫的程序也一樣。銀行通過你寫的軟件賺錢。但當你離開之后,沒人會記住你。這不是誰的錯,這是時間的規律。你不需要担憂。如果你相信這一條規律,你會意識到上一個項目是非常有趣的項目。現在僅僅需要繼續,專注的去看其他的什么事情。

  如果你的公司因為財政原因倒閉了,不要担心。生命還會繼續。我們不是真的需要一個 xbox,一輛車或是什么其他的。這個世界上大部分人都生活中水生火熱中。他們不在乎 xbox,因為他們對于食物和水更加渴望。

  所以,為什么只有你是獨一無二的?僅僅因為你很幸運的生活在西方?因為你會編程?不,你沒有什么特別的。你應該讓你的自我感消失,放松的生活。享受花朵的香氣和顏色吧,當冬天來臨時不要過于杯水,春天到來時不要過于高興。這是自然規律。當別人否認你的程序時也要這么寵辱不驚。因為公司并沒有那么重要。

  聲明

  我不是一個禪師。我僅僅在學習和練習。如果你認為有什么你需要更深入的了解,請教你當地的禪師。當然我可以試著在這個博客上回答,但我只是個初學者。不管怎樣,我很樂意看到你們的評論,如果你喜歡這篇文章,或者用這篇文章的鏈接發條推,我會很高興的。謝謝閱讀!

  英文原文:Christian Grobmeier     編譯:伯樂在線 – 唐小娟


blog.jobbole.com 2012-04-20 09:36:31

[新一篇] 豈是洪荒造英雄,我輩當比前輩強

[舊一篇] 奔馳利用光學偽裝技術打造隱形汽車(圖)
回頂部
寫評論


評論集


暫無評論。

稱謂:

内容:

驗證:


返回列表