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