追求神乎其技的程式設計之道(六)
最近新玩具太多,差點讓我的blog被N82系列文章淹沒了。幸虧即時看到qing兄兩篇不錯的文章 程式設計的兩個觀點 (1/2)和程式設計的兩個觀點 (2/2),讓我決定還是來早點把這個系列寫完,不然就快變富奸了。
qing兄的兩篇文章指出程式員的兩種型態,一是重視演算法、資料結構、執行效率的「效率魔人」,二是重視程式架構、擴充性、彈性、可理解性的「架構狂」。這兩種人其實都很好,要完成一個偉大的軟體,團隊中兩種人一定都要有。比較糟糕的是,有很多「第三型態人」,他們的信念只有一條:「程式只要會動就好」。第三型態人不在乎效率,也不管架構漂不漂亮,上面要求他做什麼,他就想辦法東湊西湊,從Google找程式剪貼,從MSDN抓範例來用,反正只要能隨便測過一個case就能交差了。
其實第三型態人也不一定是不懂演算法、不懂design patterns,他們常常只是因為火燒屁股了,就不管三七二十一先弄出可以動的程式再說,效率或架構等到下一階段再來改就好…。問題是,下一階段又有新的功能要做,這些人再度面臨抉擇時還是會決定先讓程式「會動再說」。我看過很多各式各樣的程式員,只要碰到這種人,同樣的過程是履試不爽不斷出現。
所以要成為一個優秀的程式設計師的關鍵是什麼?關鍵不在於coding速度有多快、懂多少演算法,或是背了多少patterns,最重要的是「熱情」!
偉大的程式設計師都非常喜歡寫程式,寫程式的過程是一種絕妙的享受,他們執著的地方或許不同,可能是程式的效率,也可能是開發的效率,甚至是架構的彈性或是程式碼的精簡美觀程度,但他們都非常想要並堅持自己應該寫出「好程式」。熱情能驅動他們把軟體的某一個面向雕琢到極致,這需要超乎常人的毅力和堅持,以及絕不向壓力妥協的精神。只要具備這種熱情,不管你在乎的是什麼,都可以成為一名偉大的程式設計大師。
P.S. 雖然這篇文章講的東西很八股,但我發現這真的非常重要,看一個人的熱情就能知道他做出來的成品是什麼樣子。如果是我來面試,我一定會在面試時觀察這人有沒有喜歡寫程式的熱情,沒有熱情的人容易向現實壓力低頭,也不會要有不斷精益求精的信念,在如此競爭的時代是很難生存的。
P.S.2 要追求神乎其技前,當然要先知道自己的目標是什麼樣子,所以我本來想在這篇寫一個優秀的程式設計師應該要有的特質和能力,但才寫了第一項就落落長。所以還是等待下一篇再繼續這個主題好了。(路人:「這不就是擺明要當富奸嗎!」)




August 21st, 2008 at 8:48 pm
請問一下能否推薦C語言的好書?
- 回覆留言(Reply)
August 24th, 2008 at 9:37 pm
在你身上我看到無比的熱情…
難怪你都要坐在冷氣房。
真的是很enjoy在寫程式阿
能見到樣的發光體,真是三生有幸
- 回覆留言(Reply)
August 27th, 2008 at 2:33 am
geekzyc:
C語言的書嘛,只能推經典的The C Programming Language了!
tomAman:
照你這麼說我不待冷氣房好像自己會燒起來一樣….(這樣我就能加入驚奇四超人了?!)
- 回覆留言(Reply)
October 21st, 2008 at 10:07 am
[...] 有興趣玩電腦的人不旁一讀:追求神乎其技的程式設計之道(一、二、三、四、五、六、七) [...]
December 6th, 2008 at 12:51 am
第三種人也是很有用的。
在大型軟件開發過程中往住需要製作大量的原型模型,模型本身不要效率不要架構,只是要成形快,能表達設計概念就好了。有這種人在,還真是省功夫。另外兩種人也不用被這類工作累倒。
- 回覆留言(Reply)
December 24th, 2008 at 7:55 pm
到底什麼是富奸?
- 回覆留言(Reply)
December 26th, 2008 at 9:25 am
富奸就是漫畫獵人的作者,因為他有習慣性的拖稿,所以已經變成拖搞的代名詞XD
- 回覆留言(Reply)
December 28th, 2008 at 12:49 am
[...] (待續) [...]
April 26th, 2009 at 11:01 pm
[...] 二 三 四 五 六 [...]
July 16th, 2009 at 2:38 pm
[...] 追求神乎其技的程式設計之道(六) [...]
July 27th, 2009 at 9:23 am
[...] 追求神乎其技的程式設計之道(六) [...]
August 13th, 2009 at 10:23 am
[...] 二 三 四 五 六 七 [...]
December 24th, 2009 at 2:55 am
[...] 二 三 四 五 六 七 八 [...]
January 5th, 2010 at 4:21 pm
[...] 刚看到了一篇博客《追求神乎其技的程式設計之道(六)》,里面的一句话看完之后很是感慨,伴随着些许羞愧。 他們常常只是因為火燒屁股了,就不管三七二十一先弄出可以動的程式再說,效率或架構等到下一階段再來改就好…。問題是,下一階段又有新的功能要做,這些人再度面臨抉擇時還是會決定先讓程式「會動再說」。我看過很多各式各樣的程式員,只要碰到這種人,同樣的過程是履試不爽不斷出現。 所以要成為一個優秀的程式設計師的關鍵是什麼?關鍵不在於coding速度有多快、懂多少演算法,或是背了多少patterns,最重要的是「熱情」! [...]
February 27th, 2010 at 2:48 am
不好意思,其實我只是想問………PS3在哪裡~”~
- 回覆留言(Reply)
March 13th, 2010 at 2:23 am
熱情….等你回台灣從事資訊業codeing的工作 就會知道 老闆跟你想的不依樣囉…
每各工程師都有寫程式的原始熱情…但是公司環境 上司 專案時程 是否允許你這樣做就得看工作命運了
- 回覆留言(Reply)
June 8th, 2010 at 4:13 pm
業界很需要 “架構狂”!
- 回覆留言(Reply)