禪道程式設計師的10條原則

jobbole發表於2012-05-29

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

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

  1.專注 | Focus

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

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

  2. 保持清醒 | Keep your mind clean

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

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

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

  你其實已經意識到了吧。

admin10000_road

 

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

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

  4. 拋開自負 | No ego

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

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

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

  你可以因為你是個geek就沾沾自喜麼?太自我的程式設計師不會虛心向他人學習

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

  想想這句話吧。

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

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

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

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

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

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

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

  6. 停止爭論 | Shut up

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

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

  7. 留心\細心\意識 | Mindfulness. Care. Awareness

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

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

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

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

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

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

  8. 拒絕老闆 | There is no Boss

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

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

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

  9. 有其他愛好 | Do something else

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

  10. 沒有什麼東西是不可取代的 | There is nothing special

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

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

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

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

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

  宣告

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

  相關文件:如何學技術

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

相關文章