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