2008年8月10日 星期日

一字曰心

昨晚的綜藝大哥大『大魔競』單元,場景搬到中國大陸,各參賽者輪番上台,表演完畢後,由台下五位大陸及台灣的評審進行講評,規則為五個評審中少於三位評審按燈,即算過關。其中有一位五十多歲的張姓魔術師(姑且稱呼他為張大哥)的表演,及之後的評審講評,讓我感觸良多。那天張大哥的表演並沒有失常,但他卻沒有過關,其中一位大陸評審認為他的手法熟練,但缺乏新意,評審劉謙則認為他沒有扮演好一位魔術師的角色,『身為一位魔術師,永遠不要忘記兩件事,一.永遠不要忘了娛樂你的觀眾,二.永遠要想辦法提升自己的實力』。張大哥為職業魔術師,平時即以表演魔術為業,接觸魔術超過二十年以上,換句話說,台下許多評審,不論在年紀或是魔術界的資歷,都算是他的後輩。年紀一大把了,還要站在台上被後進小伙子嫌東嫌西,想想真是情何以堪。劉謙的話,移到軟體開發上也同樣適用。『身為一位開發者,永遠不要忘記兩件事,一.永遠不要忘了滿足你的客戶,二.永遠要想辦法提升自己的實力』(客戶除了實際的customer外,也包含主管)。

最近review一位網友的程式,驚訝地發現,一位有兩年以上經驗的職業programmer寫出來的程式,竟然跟一個程式初學者差不多,一些粗淺的觀念都搞不清楚,「這些年來他是怎麼過的?」,內心充滿疑惑,我們彼此平輩論交,沒有長幼問題,但說得太直接怕傷了他的自尊,只是淡淡地點出一些問題。思前想後,會造成這樣結果的原因可能有幾個:
  1. 他從來都沒有嚐試想要提升自己的實力
  2. 他有嚐試想要提升自己的實力,但失敗了
  3. 他有嚐試想要提升自己的實力,他認為他成功了,只是卻不是這麼一回事
1是我所無法想像的,個人自從成為開發者,無時無刻不在思考如何開發出符合客戶需求,又能兼顧效能和維護性、擴充性的系統,因此也總認為所有的programmer皆跟我有相同的想法。第2點也是令我難以理解,難道利用兩年的時間(好吧,可能在這兩年之中,有很多公事要忙),把自己的實力由初學者向上推一階會有困難?讓我無法想像的是,每日浸淫的東西,竟然會差勁如斯,如果是這樣,建議應及早轉行,以免耽誤大好青春。3是我認為最有可能的情況,他非常地努力提升,也很滿意自己提升的成果,但他是在象牙塔中做這件事情,導致無法分辨他所認為的成果是正確還是錯誤、程度是大還是小。或許比起兩年前他已有進步,但以我們對工程師的要求,他的成長小到幾乎看不見;或是比之兩年前,他已有很大的不同,但因為他的努力方向錯誤,導致他愈寫愈像新手。我想張大哥在他二十年的魔術生涯中,一定也想過要提升實力,只是或許他一直以為(或許當年的社會觀感即是如此)只要具備熟練的手法,就是一位好的魔術師。

思考至此讓我心生警惕,會不會二十年後,當我已是公司資深開發人員時,寫出來的程式會讓後生小輩看不下去?自認很有上進心,但我的努力是在正確的方向嗎?一直使用錯誤的練功方法,自然久練不成,但數十年已過去匆匆,再也不會回來。看來廣泛地學習,多觀摩前輩後進的功法,避免坐井觀天,不斷修正自省,是避免落入象牙塔的唯一方法,嗯...要用心。

沒有留言: