2009年1月10日

[讀書筆記] The Pragmatic Programmer (Chapter 1)

The Pragmatic ProgrammerCode Complete 2,並列 programming 界呼聲最高的兩本書。
( 至於中譯版,前者只有簡體的「程序员修炼之道」,後者有繁體的「軟體建構之道」。)

評價之高當然得來有自。有幸兩本都到手了...... 努力生時間出來讀 =.=

本篇為 TPP 第一章的閱讀筆記。


Preface

  • pragmatic 這字源於拉丁語的「skilled in business」,再溯源就是希臘語的「to do」。
  • 謹記 programming 是一項工藝;別侷限於特定的技術,而應擁有廣博的知識背景與實際經驗,以適應各種變化,漂亮地完成工作。
  • Pragmatic Programmer 的特徵:多才多藝 + 基於經驗累積起來的自信,能快速地理解新事物 + 有著打破砂鍋問到底的精神 + 不會人云亦云,能做批判性思考 + 能設法洞悉問題的內在本質。
  • 最重要的是,關心自己的技藝,且不間斷地進行思考。
  • 每天持續提煉,最終將能得到豐碩的成果。

Chapter 1 - A Pragmatic Philosophy


Section 1: The Cat Ate My Source Code

負起責任,承認不足之處。給出選項,別給愚蠢理由。


Section 2: Software Entropy

由於破窗效應,在事情惡化、擴散之前,將其修補好。沒人在乎,大家都不在乎了。


Section 3: Stone Soup and Boiled Frogs

石頭湯這玩意兒,我小時候就從床邊故事錄音帶聽過了...... 不過一直覺得只是個歡樂的故事,沒放在心上。現在才猛然發現是個寓言 (||。3。)

帶頭煮石頭湯,帶動所有人。扮演催化劑的角色。

為什麼別人強我這麼多?因為別人每天多進步一點點。
為什麼專案進度 delay 這麼多?因為每天 delay 一點點。
為什麼軟體可以爛成這樣?因為每次爛一點點。

Remember the big picture. 別被溫水煮熟了。


Section 4: Good-Enough Software

與客戶討論軟體何時已經夠好。
「足夠好」的軟體,足夠了。因為在這不完美的世界中,不會有完美的軟體。
知道何時該停下來;不要為了過度的修飾,而失去宏觀的焦點。


Section 5: Your Knowledge Portfolio

An investment in knowledge always pays the best interest. --Benjamin Franklin

遺憾的是,IT 產業日行千里,大量知識都是 expiring asset,淘汰得很快。有幾項管理方法可以稍微改善:保持定期投資習慣 + 多元化 + 風險管理 + 低買高賣 + 重新評估、平衡。
另外也要保持 pragmatic programmer 批判性思考的習慣,確保自己的知識資產是準確的。

總之最重要的就是持續 update & 拓展思維吧......。走上了隨波逐流的這一行,這也是沒辦法的事。生也有涯,而學也無涯。


Section 6: Communicate!

與人交流,無庸置疑是相當重要的一件事。如何做呢?清楚地知道自己想表達什麼 + 瞭解並鼓舞聽眾、與之互動 + 分清輕重緩急並選擇時機 + 美化修飾 + 傾聽。有效的交流能增加自己的影響力。

沒有留言:

張貼留言