如何享受編程

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

  英文原文:How to Have Fun Programming

  我或許夠不上什么頂級程序員,但是我在編程時享受到了無窮的快樂。作為一個自學成才的黑客,編程一直是我的最愛,但是也不是沒有心情低落不想碰代碼的時候。這就促使我思考我享受編程的原因,我希望通過找出原因,從而能不斷激勵自己,保持這種積極狀態,不斷進步。

Kenpachi Sketch

  為挑戰而生

Byakuya Sketch

  有很多原因導致我們一寫軟件就頭大:

  ——需要全神貫注。

  ——特別復雜。

  ——快速高效的工作成果。

  ——無論項目難易程度,都需要具備大量知識。

  這些年我在編程上明白了一件事,如果我所從事的工作不能讓我感覺到一丁點挑戰,那我很難激勵自己去完成任務,工作的分分鐘鐘都像煎熬。

  而我最享受的就是,搞定那些看似不可能的任務,比如構建軟件,不僅時間上有緊急要求,而且在精力上還需要付出極大的努力。當然特殊情況除外,比如有的時候因為實際情況需要不得不寫一個簡單的軟件。但是在大多數情況下,只有當我面對具有挑戰性的項目時,我的技能才會蘇醒。

  戰斗的心態

Kenpachi Alternate Sketch

  我們應對挑戰的方式決定了我們工作的質量。如果對一個項目掉以輕心,隨隨便便搗鼓了一下就算完工了,那你的軟件質量肯定不會過關。在過去的兩年時間里,在那些不斷修改軟件的日子里,我悟了:我們需要把自己當成武士,用一種戰斗的心態,我們的工作才能高效高質量完成。下面我具體講一下怎么做。

  實現戰士心態的第一步是要明白,一旦接受了某個任務,那么你必須完成——就像古代的軍令狀,不成功便成仁——千萬不要有“試試看”的心理。可能你會問,如果每個都要完成,我就是死一百次也不夠啊?是的,這就需要你在接受任務的時候,能夠有所選擇,不要什么阿貓阿狗的活都接下來。

  如果一個項目你一看就特中意,即使為它累死也甘愿,那么請毫不猶豫地選擇它,而如果不是,那么它就不值得你花費時間和精力。

  實現戰士心態的第二步就是和你的代碼戰斗。如果你一直不能解決某個問題,那么就找到一個切入點并且堅持下來,比如對上一個解決不了的難纏對手,你上去砍上一刀,然后一直砍這個地方,一直砍一直砍,決不半途而廢,這樣無論問題有多復雜,對手有多強悍,通過堅持和不惜一切的決心,我們終能勝利。

  在完成那個不可能的任務之后,一種澎湃的滿足感和成就感洶涌而來,這或許就是傳說中工作里的“高潮”吧。

  共享

Kneeling Samurai Sketch

  開源是開發軟件中一個非常強大的激勵因素。在開源環境里寫代碼有著難以置信的快感。

  關于開源的優點:

  ——提高代碼品質。

  ——鼓勵協作。

  ——從錯誤中學習從而成長。

  ——建立自己的名望,和優秀的程序員做朋友。

  不過千萬不能忘記這個最明顯的好處——我在網上發布軟件之后,我自己本身就有一個巨大的進步。于我而言,我通過代碼解決問題之后,心中那得意勁就先不提了哈,并且經過這次練手之后,以后再碰到這類問題,我就再也不怕不怕了。

  發布我的成果,讓我感覺我為這個難題畫上了句號,世界因為我的奉獻而璀璨,當然有沒有人需要我的成果就被我完全忽略了。

  不要墨守成規

Kenpachi Back Sketch

  軟件行業是很殘酷的——每個人都很聰明,每個人都特別自信。但是這也是導致我們不能推陳出新的罪魁禍首。

  常常聽到身邊的人說你的這種技術爛或者這種技術早就應該被替換了,這個時候我們往往會很輕易就附和他們所說的,但是有的時候事實卻并不是這樣的。

  編程應該是一件很美好的事情,每個人的經驗、能力等等都不一樣,所以別人的情況不一定適合你。不要老是做你的朋友、同事的“應聲蟲”,人云亦云,沒有主見——要積極主動去做你自己感興趣的事情。

  打個比方,如果僅僅是因為別人告訴你,你不適合云計算,那你就真的不涉及這個領域了,那你就真的狗熊掉進洞里——蠢到底了。

  不要去管大家的想法是怎么樣的——要推陳出新,不可墨守成規。自己的路自己走。喜歡什么就去嘗試,不要因為人言而禁錮自己,另外還有牢記,即使遇到挫折也要保持樂觀。

  閱讀

Ichigo Hollow Sketch

  絕對不可低估閱讀的力量。如果你有時間,請務必多多閱讀那些科技類的書籍。

  閱讀這些書籍不光可以增長你的領域知識,最重要的是,你可以認識到那些優秀的程序員。如果你想要得到以下正能量,那么沒有什么能比閱讀更好:

  ——有用的技術信息。

  ——作者的心態。

  ——作者的想法,成果和原因。

  ——最佳做法。

  ——用多種途徑去完成同一個效果(很多書都有這方面內容)。

  ——更好的理解我們最常用的技術,以及如何更好的使用這個技術。

  我很奇怪,為什么我的同事和朋友都不怎么花時間去看這類書籍,要知道,這真的是個能提升自己的相當好的工具和方法。

  對我而言,編程的樂趣很大一部分是來源于學習新的事物,而學習新事物最好的方法之一就是閱讀,增長自己的知識面。

  記憶

Ichigo Hollow Screaming

  寫軟件首先要打好腹稿,需要我們及時分析想法和運行之后的結果。

  要謹記,你在做什么,以及你這么做的原因。要把你的宏偉目標印在腦子里,這樣你才能時刻充滿動力,真正享受編程。但是,日復一日的完成細節工作,很容易讓我們遺忘了我們的初衷是什么。這個時候,如果我們能回頭看,看看我們已有的成就,以此為榮的同時,你怎么還會不喜歡編程呢?

  無論多么沮喪,心情低落,或者恨死了搞不定的代碼——如果你想讓自己開心起來的話——想想你為什么要寫代碼。當我感覺“不會愛了的時候”。我就想想我的目標,一般要不了幾分鐘,我的活力就回來了,然后繼續“不畏艱辛、披荊斬棘”。

  和其他程序員交流

Renji Sketch

  人生有高峰也會有低谷,其中一個能不斷激勵和鞭策自己的絕佳方法就是,把自己放入到同水平的程序員中。

  在你的周圍肯定會有極其喜歡學習新生事物,工作能力特強的牛人,和他們在一起會讓你黯然失色。一伙相互支持、志同道合的朋友可以促進你的個人發展,增強工作滿意度。

  如果你讀到這里,更希望能在令人嘖嘖稱牛的黑客中脫穎而出,那么我推薦你可以去 heapify on irc.oftc.net(一個公共的 IRC 頻道)看看。IRC 已經成為了我生活中絕對不可或缺的部分,而且很多我幾年前在 IRC 上認識的人直到現在我們還保持著良好的友誼。如果你想加入一個相互協作,充滿熱情和活力的團隊,歡迎進來打個招呼:)

  譯文鏈接:http://news.html5tricks.com/how-to-fun-programming.html
  翻譯作者:html5tricks – 蔣麗麗


網載 2014-07-02 09:18:43

[新一篇] 《要使科學造福人類,而不成為禍害》----愛因斯坦

[舊一篇] 會思考“道德”機器人問世 提醒病人按時服藥
回頂部
寫評論


評論集


暫無評論。

稱謂:

内容:

驗證:


返回列表