程序物語(一):必須做什么

作者: 邀月  來源: 博客園  發布時間: 2009-09-25 10:42  閱讀: 1280 次  推薦: 0   原文鏈接   [收藏]  

  本來是要好好總結一下自己做程序多年的得失,不料,最近發生一些事,實在抽不出時間,今天終于擠出點,開了個頭。暫且起個名,叫程序物語,這個系列就做為對初學程序者的一點建議吧。
  每年的某個階段,若干的莘莘學子們躊躇滿志地從他們的象牙塔里鉆出來,不管是情愿還是不情愿,總之,他們畢業了。畢業了按理就要工作呀,當然創業也可以。只是需要具備一定的條件(后面將會提到此類情況。邀月注)。這里想提出的是針對那些將要從事程序開發/研發的朋友,包括各行,但僅限于IT相關的業,可以籠統的稱為程序員吧。
  程序員到底應該做什么,我想這個問題很難統一。那我們不妨先來討論一下:程序員必須做什么?換句話說,你必須做什么才能算得上程序員?以下是我參考了一些做多年程序的朋友和我個人的一點經驗總結:
  首先是熱愛 。沒有對程序的熱愛,對程序員的熱愛,對生活的熱愛,是做不好程序員的。無論是出于謀生還是別的目的,既然做這個,就得投入你的熱情。即便是所謂的黑客,首先必須是對那個行業有一種熱愛,或是狂熱。當然我們不能強求每個人都像 Jeffrey Zhao 那樣執著,因為能將工作與自己的愛好良好結合起來的畢竟還是太少了啊,但是基本的熱愛要有。別人怎么議論無須理會,像什么女朋友說你“大學四年出來就是個做網站的”等等之類,讓她說去吧,你得對自己有個起碼的尊重,對自己從事的東西有持久的熱情。你可以使用類似的回復:“蓋茨辛苦幾十年,就只會做窗戶”、 “隆平辛苦一輩子,就只會種稻子”來平衡一下心態。
  其次是嚴謹 。也就是說,這里不應該有太多的水分,像《手機》里嚴守一說的“有一說一”,來不得太多的虛偽和面子。知之為知之,不知為不知,有什么呀?這個Jeffrey Zhao身上體現的很明顯,看他為一個觀點,一個技術細節的較真勁兒,如果我是個女的,我就嫁她,我是說,如果啊!!因為想像他對生活、對婚姻應該也是比較認真的。這個嚴謹,體現了個人的基本素質。
  類似的很多。 我的一位老師,浙大的顏一謙副教授(現在已經退休,為什么沒有教授是有另外的原因,在此略過。)在給我們上《自然辯證法》的時候,我就聽得很認真。雖然有些觀點在我看來有點點偏激,但我抱定李開復老師的態度:我不同意你,但我支持你!至少我從中學取了很多辯證的觀點,像庫恩缺失等,很多人可能都不知道。后來,考了67分,我很高興,雖然有人考80多分,但我是自己掌握,變成自己的知識。
  還有一位老師,盧向南教授講過一件事讓我記憶猶新。她有一 次到歐洲去學術交流,看到國外同行做演示在用windows 2000,就很好奇,問他們為什么不用window xp?當時是2005-2006年,正是xp最鼎盛的時期。結果回答出乎意料:我們買不起xp,再說做演示用windows 2000夠了。盧老師當時說了句:我們學生全部都用xp。很多老外用羨慕的目光看著盧老師:你們中國人真有錢啊!這種嚴謹的作風,什么事情做不好呢?國內的學術界看似數量繁榮,其實外強中干,其實跟我們自己的浮躁與短視不無關系。至于那些拿著破解序列號賺吆喝的,我就烎得不知道說什么好了。
  扯遠點,說到基本素質,我今天早上班路上,看到一老外,大概五十歲的樣子。在路邊的自行車經過身邊時,他自覺往后退了一步:雖然那車離他還很遠。看到這個,我走上前去,說了句:thank you!他笑笑,沒說什么。我也能猜提出他心理可能在想什么。
  好了,回過頭來看,第三是學習 。學習什么?如何學習?
  學習什么,這個比較難確定,因為工作的原因,可能什么都學,也可能學跟你興趣毫不相干的東東。
  也就是說,遇到什么學什么。像我的路線:C-asp-Vb-SQL(2000/2005/2008)-.net(1.0/1.1/2.0/3/0 /3.5)-java-Eclipse(/netBeans/Tomcat/MySql/SSH)-Rose-PowerDesigner和 photoshop-flash-3dmax-html/js走下來,估計大多數人得走火入魔不可。我也不是開始就知道要學這些東東的,后來由于要用,而又沒人能頂上,所以硬著頭皮上。結果就是現在這樣,大多數知道一些概念和基本操作,只有一兩個方面能夠持久有興趣停留并研究。這是一個沉痛的教訓!希望剛開始的朋友汲取教訓。
  另外一種方式,可能搞一兩方面深入下去。這樣做是有條件的。就是得生活有保障,能讓你有時間深入下去,不至于有另一半或父母來逼你買房結婚等等。像我知道吉日兄做權限系統/工作流也付出了相當的人力和財力,這是外人無法體會的。但我以為,只要有價值,就要堅持自己的理念,當然,有時候候可以做稍微的變通。
  至于如何學,邀月這里提供兩種大概的思路:
  針對第一種,用到什么學什么,就應該到相應的技術社區轉轉,要找對人和地方。不是為了頂帖,頂帖是世界上最無聊的事情,要真實的發表自己的看法和見解,不要怕打擊,大不了烎呀·!who 怕 who呀!不過,真正的技術牛人多數是很耐心的,這點我感同身受啊。慢慢地,可以回答一些別人的問題。盡量自己動手試,不要copy來paste去。積累下來,你自然會有提高。
  第二種,建議做一兩個開源系統,堅持做下去。每隔一段時間,組織用戶來幫你測試。可能的話,慢慢商業化。當然,這過程中可能會有志同道合的朋友一起合作。那是最理想的方式。最壞的結局是時勢變了,你一無所獲。其實也不是一無所獲,只是表面上和外人看來如此。所以開始之前,先不妨做些調查研究。
  學習什么并無優劣之分,其實在我看來專家有兩大類型:什么都知道一點并逐漸深入,或者在某些方面非常深入。這兩種類型在某個階段會融合。涓涓細流也好,滔滔大河也罷,最終都會匯成蔚蔚大江!像金庸先生筆下的“重劍無鋒,大巧不工”的境界。
  好了,開始工作前的功課先做到這里,歡迎拋磚!
  邀月注:(本系列版權由邀月和博客園共同所有,轉載請注明出處。

0
0
 
 
 

文章列表

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()