十年程序員之路
走過的路,回憶起來是那么曲折,把自己的一些心得體會分享給程序員兄弟姐妹們,雖然時代在變化,但是很可能你也會走我已經(jīng)做過的10年的路程,有些心得體會你可以借鑒一下,覺得說得有道理的你就接納,覺得說得沒道理的,你就拋棄,以下是我發(fā)自內(nèi)心的,給大家的忠告,特別是針對那些小弟弟妹妹們。
01.自己的戶口檔案、養(yǎng)老保險、醫(yī)療保險、住房公積金一定要保管好。
由于程序員行業(yè)每年跳槽一次,我不隱瞞大家,我至少換過5個以上的單位,這期間跳來跳去,甚至是城市都換過3個。還好戶口沒丟掉,其他都已經(jīng)是亂了,好幾個城市里,都有交過三金,甚至是一個程序的2個區(qū)里交的都有,那些東西,10年后,會變得很重要。你買房子若有公積金,可以取出來,貸款利率也會比較低一些,有孩子了,還需要上學(xué),生病了還需要醫(yī)療保險。
特別是買房子時,你要商業(yè)貸款與公積金貸款的利率差別還是很大,有可能會有10萬的差距。你平時都注意這些,會給你帶來的損失會最小,例如每個月繳納300元的公積金,公司也繳納300元,你一個月能存下來600元,一年就是7200元,10年就是7201*元。我以前都忽視了這些,到我需要買房子時,公積金里可能只有幾千元,10年很快就過去了,結(jié)果我沒能存下來多少公積金,醫(yī)療保險,養(yǎng)老金等更別提了,都已經(jīng)稀里糊涂了,這些損失10年累加起來,是很龐大的數(shù)字,大家要注意,跳槽換工作時也要保護(hù)好自身的利益,現(xiàn)在房價很貴,你可能是跟我一樣,大山里出來打拼的娃子,家里也沒有豐厚的積蓄,只有靠自己拼搏,買房子是人生的一件大事,等你到了10年,才想到這個事情,已經(jīng)晚了,特別是孩子要上學(xué),上幼兒園等,需要戶口啥的都要齊全。
02.不要輕易換筆記本電腦,不要跟潮流,不要買過多的電子產(chǎn)品,不要過于頻繁的更換手機(jī)。
這方面我的經(jīng)驗教訓(xùn)也是慘痛的。我大概前后購買過5-6個筆記本,以前的都是1萬多元一臺,最近買的是一臺是1萬多給女朋友的,自己買了一臺是7500元左右,手機(jī)大概換過接近10個了,這些錢加起來也足夠有10萬以上了,你可能一不小心就購買了這些電子產(chǎn)品,但是時間長了,你一回過頭來想想,你為什么賺得也不少,但是為什么還是那么窮,是因為你購買這些電子產(chǎn)品花費(fèi)了過多的金錢了,平時筆記本啥的貴重物品要保護(hù)好,我一個同事不小心丟了2臺筆記本電腦,接近2萬的損失啊,你凈賺2萬,不是那么容易的,這個窟窿不是開玩笑的,我曾經(jīng)也被人偷了一個嶄新的筆記本,損失1.5萬左右,更糟糕的是最新的代碼也丟被偷了。
03.這年代外語、學(xué)歷、職稱、駕駛證還是蠻重要的。
想找高薪,外資企業(yè)是正確的選擇,在同樣的打工里,外資企業(yè)的收入普遍是高的,我就想不明白,我們的賺錢能力怎么就比不過人家了,社會不斷發(fā)展,將來可能去外國就像串門一樣了,也說不定的,外語好將來的就業(yè)機(jī)會也會更多更廣一些。
學(xué)歷并不代表啥,但是學(xué)歷也是敲門磚,例如有300個應(yīng)聘者,那至少重點本科以下的,統(tǒng)統(tǒng)不看了,因為實在是來不及看了,你再厲害也被擋在機(jī)會的門外了,同樣有時候你想改行什么的,職稱也很重要,最起碼評個中級職稱,說不定還有機(jī)會能進(jìn)入大學(xué)或者政府部門還是有可能性。
若有充裕的時間,應(yīng)該把駕駛證考了,因為你越到后面越忙與工作家庭,沒機(jī)會學(xué)車了也說不定的,平時也別光顧拼命工作,工作10年后你才發(fā)現(xiàn),原來身邊的人都至少碩士學(xué)歷了,你被社會自動淘汰了,我現(xiàn)在就有這個感覺,雖然我?guī)н^很多碩士,他們的就業(yè)機(jī)會比我還好,經(jīng)常能進(jìn)入名牌企業(yè),我也一直進(jìn)不去。
04.不要談過多的女朋友,談女朋友要看準(zhǔn),下手要穩(wěn)準(zhǔn)狠。
我談過2個女朋友,平均每個女朋友身上的開支前后大概會有10萬左右,還好我不用談第3個女朋友了,若投資失誤,那也是很殘忍的,談女朋友也會消耗很多時間精力、還會消耗很多金錢,實話的講的確是這樣的,人家女孩子也值錢啊,憑什么就那么輕易的跟你啊,我跟第一個朋友分手時,我的生活至少是倒退了3-4年,一切從零開始,一切從頭開始,我勸大家談女朋友是人生最大的一筆買賣,投資失誤會有慘痛的后果,不僅僅是金錢上的損失,更會有精神、心靈上的沉重打擊,大家要學(xué)會珍惜女朋友,要學(xué)會哄好女朋友,讓老婆開心每一天,雖然魚兒上鉤了,不用再下魚餌了,偶爾也別忘記放點米,這個魚要是脫鉤了,那不是開玩笑的。
05.工作不要更換得太過于頻繁,選好了行業(yè)方向最好別更換太頻繁。
換工作,換行業(yè)方向,就像熊掰苞米一樣的道理,有時候是丟了芝麻撿西瓜,有時候是丟了西瓜撿芝麻,這個道理我就不多講了,大家都應(yīng)該能明白的。
06.要對身邊的人好,要得到老板的信任、同事的認(rèn)可及支持、珍惜良好的工作環(huán)境。
有個朋友的QQ名字很有意思,“只愛陌生人”,陌生人是很有意思,但是最關(guān)鍵時刻,還是需要靠非陌生人,你每天跟同事一起生活,要維系好身邊的人。你的成功與失敗,往往是你身邊的30-40個人決定的。你就是世界首富,他身邊也是那么不超過100個人的在左右著他的生活,當(dāng)你工作10年了,沒一個老板信任你,沒幾個要好的同事朋友,那你慘了,你在這個世界上已經(jīng)是很孤單了,你的收入,其實大多是來自這些身邊的朋友給你介紹的生意,不大會網(wǎng)上掉幾個餡餅的。
現(xiàn)在你身邊的人有可能在不久的將來,給你提供很多好機(jī)會。
07.錢很重要,但是生活質(zhì)量比錢還重要,工作是很重要,但是家人比工作還重要。
錢不是萬能的,但是沒錢是萬萬不能的。錢賺了,身體夸了,全送給醫(yī)院了,錢賺了,身心疲憊了,人活著為了啥?不就為了開開心心生活嘛?工作重要,但是失去了家人的愛,失去了女朋友,失去了老婆孩子,那這個工作有啥用了?工作很容易就換了,家人是換不了的,老婆不是想換就換的,孩子不是想換就換的,連自己的家庭都不負(fù)責(zé)的人,怎么可能對公司負(fù)責(zé)呢?我一直是這個觀念,來面試時覺得工作更重要的,我們一般不錄取的,那太假了,或者太不懂事了。
08.工作累了,也別太貪玩,有時候還是需要多想想如何才能賺錢。
時間一晃就過去了,工作累了是可以適當(dāng)放松,但是別太貪玩,10年很容易就過去了,10年后你要買房子,要娶老婆,要買車子,要生娃娃,身體也會變得脆弱一些,需要良好的生活習(xí)慣,也經(jīng)不起通宵了,通宵一次,你要低迷好幾天才能緩過勁兒來,跟20剛出頭完全不一樣了,用錢的地方多了去了,父母也會變得更老一些,可能也需要你的照顧,整個家子都指望你賺錢,別到了這個時候,你才意識到賺錢是那么的重要,更何況現(xiàn)在城市的房價,動不動就是100萬,加上按揭的利息,你很可能需要支付150萬。還可能需要裝修,買車子?赡苣闵砩系膲毫κ200萬。別覺得談錢就俗,你要學(xué)會賺錢,要有個需要賺錢的良好意識,當(dāng)然你出身富裕家庭,就不用考慮這些因素了。
09.每天一點點進(jìn)步,每月一點點積累,要敬業(yè)要愛業(yè),我們給別人提供的也是服務(wù)。
總有一天,你也會有累的時候,你也會有老的時候,這時候,你要靠啥呢?就要靠你平時的積累,你10年的積累,可以打倒很多競爭對手,他們再厲害,再怎么樣,也很難抵得過你10年的積累,特別是后面5-10年的積累,成果會很明顯,前面的1-5年,算是做軟件的入門吧,除非你有高人指點,那可能2-3年就可以修成正果,軟件在將來還是會值錢的,以為生活會越來越智能化,越來越數(shù)字化,軟件的需求還是很有前途,最起碼未來的10-20年里不用太擔(dān)心失業(yè)問題了。
10.對程序員來講,開發(fā)思想、架構(gòu)、代碼就是財富,別老丟棄你的勞動成果,要學(xué)會保護(hù)你的勞動成果。
我大概7-8年前的代碼都在手上,經(jīng)常改進(jìn)來改進(jìn)去,維護(hù)來維護(hù)去,在一定的程度上,讓我生活輕松了不少,因為我不用什么都從頭來過,我只要痛苦一次,以后就要反復(fù)重復(fù)利用,軟件的價值在于重復(fù)利用,而不是每個東西,都從頭開發(fā),那永遠(yuǎn)也是辛苦的程序員,這個生活質(zhì)量就別提了,不管自己的代碼丑還是拿不出手,要學(xué)會精心維護(hù),每天改進(jìn)一點點,每個月一個小進(jìn)步,每年一個大進(jìn)步,多年的積累是寶貴的,這個早晚也會給你帶來豐厚的收益。
11.當(dāng)程序員要防止原地踏步,不是工作年限長了,經(jīng)驗就豐富了,能力就強(qiáng)了,年紀(jì)越大工作越難找。
我有一個朋友跟我開玩笑,工作5年的人,可能能力差距會很大,為什么呢?因為第一年他們干的事情都是一樣的,都寫程序了,2個人可能由于價值觀不一樣,5年后差距會很大,甚至是大到無法追趕的程度,為啥?因為還有機(jī)會的因素在里面,有的人干了5年,還是在原地踏步,天天只會寫那些添加、刪除、修改的代碼。那你得注意了,需要不斷的提高自己,才是硬道理。例如你會SQLServer,那要試著學(xué)習(xí)Oracle,你是做C/S的,那得需要提高到B/S的,你是做單機(jī)軟件的,那得需要提高到網(wǎng)絡(luò)軟件,你只關(guān)注自己的工作的,需要學(xué)會管理,關(guān)心他人的工作。你是當(dāng)程序員的,要試著提高當(dāng)項目經(jīng)理、部門經(jīng)理,公司的總監(jiān)等等,人有野心有目標(biāo)才會不斷進(jìn)步,最俗的為了多賺錢,提高工作職位工作崗位,工作單位,也是可以理解的。
年紀(jì)越大工作越難找,例如3-4千的工作是隨便找找,玩一樣,但是你30過后,最起碼要找月薪上1萬的工作,這樣的工作是機(jī)會也少,一般小公司也給不起,還得找個好公司才可以,好公司又不是天天招聘人,天天缺好的工作崗位,說不好聽點兒,小公司的老板才賺多少?他來錢也很不容易的,小池塘就不好容得下大鯊魚了。
12.當(dāng)創(chuàng)業(yè)的收入比打工還少時,那就別創(chuàng)業(yè),要找比自己能力強(qiáng)的人創(chuàng)業(yè),你不會吃虧。
創(chuàng)業(yè)的收入,比打工還少,那就是瞎扯蛋,惡搞。創(chuàng)業(yè)的真正意思并不是要你去吃苦沒錢賺,那是忽悠無知的人的。當(dāng)你創(chuàng)業(yè)時的收入,比打工還多,那你可以考慮創(chuàng)業(yè),沒有工資什么的,股份啥的,都是瞎扯蛋。
不要跟自己能力還弱的人一起創(chuàng)業(yè),那損失最大的,很可能就是你,要創(chuàng)業(yè),也要找比自己強(qiáng)的人一起創(chuàng)業(yè),最起碼賺不到錢,還能學(xué)到不少。不會有過多的損失。別熱血一沸騰就創(chuàng)業(yè)了,創(chuàng)業(yè)了,也別燒自己的錢,家人的錢,那是很不抗燒的,沒幾下幾十萬就燒干了。
其實打工,也是創(chuàng)業(yè)的開始,每個月都能拿到錢,還可以學(xué)到知識,什么公司的股份都是空話,沒幾個小公司能成功,開起來了也走不了3年就分家了,都忽悠小孩子玩的,除非真的有科技含量或者是客戶資源的,否則股份是一文錢不值的,就算創(chuàng)業(yè)每個月也按時拿工資才是硬道理。
13.未來的生活節(jié)奏會更快,生活壓力會更大,競爭會更激烈,社會服務(wù)體系會更完善。
在未來,我們享受良好的服務(wù)的同時,也會為別人提供更良好的服務(wù),需要在技能上還是服務(wù)質(zhì)量上的要求會更高更嚴(yán)格。平時要注意提高自己,不要被時代淘汰掉,我從小的朋友,一波又一波被社會無情的淘汰了,很小的時候,我出生在大草原與大山的交界處,我小時候的玩伴,還在大山里,我跟著家人殺出來了,我小學(xué)、中學(xué)、大學(xué)、工作上的、這10年,我一直很堅強(qiáng)的拼搏下來,很不容易的在杭州立住腳了,說實話,參加工作后的十年,也是不斷拼搏,不斷提高的十年。
擴(kuò)展閱讀:一個老程序員的十年回顧
目錄
上篇-學(xué)習(xí)人生一、計算機(jī)是什么東西?二、漫長的理論學(xué)習(xí)時期中篇-艱難人生一、第一次考研的失敗二、“土包子”的北京之行下篇-實踐人生
一、希特勒地堡與CIH病毒二、編程生涯三、畢業(yè)求職
四、對教育的反思與教書生涯五、實踐第一
結(jié)束語永無止境的軟件之路
今年(201*年)是我大學(xué)畢業(yè)滿10年的日子,也是我投身IT技術(shù)的第10年。一直想能對過去的經(jīng)歷做些回顧與反思,以更好地走向未來,但總沒有下筆。剛好CSDN舉辦“講述程序員的故事”征文,這件事成了一個引子,我終于趁著暑期有時間,敲了一天鍵盤,便有了這篇人生自述。10年對于一個人來說是比較長的一個階段,10年之后,同期大學(xué)畢業(yè)的同學(xué)情況差異之大,讓人嘆息命運(yùn)之變幻莫測。
我在此記錄下了我的生活足跡,由于時間較長,有些事記得不太清了,但我是盡量真實的記錄當(dāng)時的情況,有興趣看我這篇長文的人請把我看成是一個在你我中間一塊生活,一起喜怒哀樂,一起努力的平凡人,相信我們之間會有很多跨越時空的情感交流。好,就說到此吧。序
從1994到201*,不知不覺之間,我已在計算機(jī)技術(shù)的世界里沉浸了十年。有位哲人說過:如果一個人能用十年的時間專心致志地研究一門學(xué)問,或?qū)W習(xí)一門手藝,或從事一個職業(yè),他一定能成為這個領(lǐng)域的專家。我天資平庸,但哲人的話是有道理的。我用十年的時間先成為了一名合格的程序員,再成為了一個重點大學(xué)計算機(jī)專業(yè)的大學(xué)教師。十年磨一劍,驀然回首,年華如水,青春如歌!我父母都是城市中的平民,家境僅能解決溫飽,我想我可能代表了中國社會的一大類青年,我的經(jīng)歷與體會可能會對許多條件并不好的年輕程序員有所啟示:只要努力,天資差與環(huán)境不好都是可以克服的。因為我不是牛人,所以我不能教你如何成為牛人,我只是盡量真實地寫下我的經(jīng)歷與感觸,寫一個平凡人的努力過程。我為我是一個軟件開發(fā)者而自豪,為我從事的教書育人的事業(yè)而自豪,并愿意為中國落后的軟件業(yè)盡己菲薄之力,為此,我人生無悔!
我想分為三部分講述我的人生經(jīng)歷:上篇-學(xué)習(xí)人生:主要是我學(xué)習(xí)計算機(jī)技術(shù)的經(jīng)歷與感觸,時間跨度大約是從1994~1996年;中篇-艱難人生:主要是我流跡社會,失業(yè)一年半,三次考研的痛苦經(jīng)歷;時間跨度大約是從1997~1999年;下篇-實踐人生:主要是我的技術(shù)實踐經(jīng)歷:在公司打工,開發(fā)軟件,畢業(yè)求職與教書生涯,時間跨度是1999~201*。上篇-學(xué)習(xí)人生一、計算機(jī)是什么東西?
我是七十年代初在中國出生的那一代人,等我們長大開始讀書時,文革已經(jīng)結(jié)束,相對于我們的兄長,從我們這一代開始,以后出生的孩子都能受到較為正規(guī)的教育,這是我們幸運(yùn)的地方。也就是我們上小學(xué)的時候,七十年代末,以美國為技術(shù)資源中心的計算機(jī)技術(shù)開始在全球范圍內(nèi)迅猛發(fā)展,這時正是世界性的“軟件危機(jī)”極為嚴(yán)重的時候,計算機(jī)技術(shù)各方面都在醞釀著新的突破,而此時比爾蓋茨也正在準(zhǔn)備構(gòu)建他的明日微軟帝國。
七十年代末與八十年代初,在我們的生活中,看不到一點計算機(jī)技術(shù)的影子,剛剛改革開放的中國,99%以上的人連“計算機(jī)”這個詞恐怕都沒聽說過,中國游離于信息技術(shù)大門之外。
在“振興中華”成為時代主旋律的八十年代,整個中國真的是呈現(xiàn)出一種勃勃的生機(jī),這是一個民族在經(jīng)歷百年恥辱,十年挫折之后的再起步,象一些老歌---《金梭與銀梭》、《在希望的田野上》等,就是當(dāng)時青年的一種積極向上的精神風(fēng)貌的體現(xiàn)。這種環(huán)境下,對于正在成長中的我們這一批少年,在潛意識中有極為深刻的影響,我們認(rèn)為愛國與振興中華是天經(jīng)地義的事,并且成為了努力學(xué)習(xí)的主要動力(呵呵,現(xiàn)在的一些“憤青”憤怒青年一定會說我們當(dāng)時被“洗腦”了,也許真的是吧,這種信念確實會給人以極大的動力,我看不出有什么不好,至少我不會有現(xiàn)在這一批青年所經(jīng)歷的非常迷茫的感覺)。
1986年我考上了桂林市重點高中桂林中學(xué),在那兒,我第一次見到了電腦。1.中學(xué)的計算機(jī)興趣班
1987年我在桂林中學(xué)讀高二,桂中是重點高中,條件較好,當(dāng)時學(xué)校課外安排了兩個班:無線電班和計算機(jī)班,我上的是計算機(jī)班,當(dāng)時用的微機(jī)是AppleII,用BASIC編程。記得當(dāng)時中國也開發(fā)了一種同檔次的計算機(jī),叫做中華學(xué)習(xí)機(jī),要在中小學(xué)中大力推廣,但AppleII后來發(fā)展成了著名的Mac系列,并擁有了自己的操作系統(tǒng),而中國的中華學(xué)習(xí)機(jī),還有后來的小霸王等電腦學(xué)習(xí)機(jī),都無疾而終了。
學(xué)校安排上機(jī),有同學(xué)不知從哪找來了一些有趣的BASIC程序,什么“比翼雙飛”,“飛機(jī)空戰(zhàn)”等等,都是一些非常簡單的小游戲,當(dāng)時他抄了厚厚一本,一上機(jī)就敲一些到計算機(jī)中運(yùn)行,而我是一點也不會,只有站在一邊看的份。那時會計算機(jī)的人很少,老師講的我又不明白,考試的時候也不知道怎么過的。呵呵,后來我讀研打工時,在網(wǎng)上看到洛陽一個高中生用VB編的一個“電子書童”程序,水平之高,我當(dāng)時真是沒法比。
1989年,廣西高考名額一下減了7000多,競爭激烈,十幾人里才能取一個,由于壓力過大,我高考前夕失眠,第二天考語文,120分的試卷當(dāng)時只考了68分,因而與重點高校無緣。本想復(fù)讀,但父母怕我來年考不上,一定要讓我讀廣西大學(xué),我萬分不情愿地順從了父母的意愿,去了我不喜歡的學(xué)校,讀了我不喜歡的專業(yè)。男怕入錯行,我在大學(xué)畢業(yè)后重新開始學(xué)我喜歡的專業(yè),足足用了五六年的時間才轉(zhuǎn)過來,真正成為一名合格的勞動者,走了一條長長的彎路,所以,父母的決定對缺乏經(jīng)驗與決斷力的孩子而言,真的是非常重要。
現(xiàn)在想起來,父母當(dāng)時沒錯,我也沒錯,那都是在時代與社會環(huán)境下的自然選擇。2.失敗的四年本科與工作初期
四年里我是個老老實實的好學(xué)生,但四年除了玩命過了六級,什么也沒學(xué)會。
記得大學(xué)第一節(jié)課就是BASIC語言,呵呵,也根本沒學(xué)會,但我看來注定了要與BASIC難解難分了,后面的實踐篇中我會講我用BASIC開發(fā)的事。
大學(xué)里我學(xué)的專業(yè)是電力系統(tǒng)自動化,學(xué)過微機(jī)原理與Fortran,上機(jī)時還用的是古老的主機(jī)加終端方式的計算機(jī)(叫做l/f機(jī)),我上機(jī)時真是一塌糊涂,因為這門課我從沒學(xué)進(jìn)去,也從沒學(xué)懂過。有同學(xué)很厲害的,會用電腦打印出許多漂亮的圖片(當(dāng)然現(xiàn)在看起來很粗糙,針式打印機(jī)打的),我那時就稱這些人為牛人了。
呵呵,我如果沒記錯的話,做超級解霸的梁肇新也是廣西大學(xué)的,但不是我們系,記得我當(dāng)時就已聽到有關(guān)幾個計算機(jī)牛人的事,估計其中就有他吧,如果我記錯了,梁肇新先生請指正。在本科期間,我對電腦是神秘多于興趣。這也說明我成為不了牛人與大師,天資有限。后來,我發(fā)現(xiàn)一個普遍的規(guī)律,如果能成為計算機(jī)方面的牛人與大師,請去翻翻他們的傳記,絕大多數(shù)在本科期間就已展露出他們的才華。而我們現(xiàn)在的中國高校,這么多的本科生都在為考試、考研、考托、考G而奔忙,這種填鴨式的應(yīng)試教育體制,扼殺了太多學(xué)生的創(chuàng)造性。結(jié)果是一個學(xué)生在大學(xué)里讀得越認(rèn)真,就受到的錯誤影響越大,我是用好幾年的時間反思才得出這個結(jié)論的。所以,中國高校十幾年數(shù)以幾十萬計的本科生中出不了可編寫linux內(nèi)核的杰出人才,一點也不奇怪。
1993年我畢業(yè)了,用我總結(jié)的一段話來說,是:一張白紙進(jìn)來,一腦漿糊出去。
畢業(yè)后我分到了一所號稱是“中港合資”的生產(chǎn)蓄電池的公司。呵呵,剛剛工作的日子讓我這個單純的大學(xué)生被生活好好的教訓(xùn)了一下,許多無法以前想象的社會現(xiàn)象讓我目瞪口呆,年輕氣盛導(dǎo)致穿了小鞋,還只能忍氣吞聲。吃了生活的一個悶棍,我才明白,我除了有張文憑,什么都不是!當(dāng)時,我感到最郁悶的是我在公司里什么都不會做,一個電機(jī)燒壞了我楞不知如何下手修,公司老總辦公室里的燈不亮了,學(xué)電的大學(xué)生我花了半小時楞不知原因在哪!我學(xué)的東西沒一樣能用的。開始我還以為是因為我在學(xué)校里沒認(rèn)真學(xué),但后來問了很多同學(xué),90%以上的都有同感,我現(xiàn)在終于認(rèn)識到這不單是我個人的錯,我自認(rèn)為在學(xué)校中是很努力的,從未偷懶過,但如果90%以上的學(xué)生所學(xué)不能服務(wù)社會,這種教育體制一定存在問題。四年里,我的電腦知識與技能=0!
現(xiàn)在看起來,我浪費(fèi)了寶貴的四年光陰!但當(dāng)時的環(huán)境與認(rèn)識水平,也只能如此了,沒有當(dāng)初的浪費(fèi),怎有后來的珍惜?這是人生必經(jīng)的一個階段。二、漫長的理論學(xué)習(xí)時期1.從電腦培訓(xùn)班開始
我畢業(yè)后的第一個工作單位是一個非常差的企業(yè),我在那兒見識了幾乎所有中國差的企業(yè)的弊端:人浮于事,拉幫結(jié)派,暗箭傷人,損公肥私?梢韵胍姡谶@樣的企業(yè)工作,人是多么的頹廢。我在無聊之中過了大半年的時間。1994年4月的一天我去桂林新華書店買書,看到桂林電子工業(yè)學(xué)院老師舉辦一個電腦培訓(xùn)班,教打字、排版、常用DOS命令等電腦使用基礎(chǔ),反正也沒事,不如上個班學(xué)點東西吧。不曾想就是這樣一個培訓(xùn)班,卻根本影響了我的人生之路。
我清楚地記得當(dāng)我第一次上機(jī)時,連電腦開關(guān)在哪都找不到,老師拿著一張五寸軟盤,插入軟驅(qū),打開電源,在一陣“吱吱”的聲音之后,屏幕上開始有英文字符出現(xiàn),然后,教師在鍵盤上敲入幾個鍵,電腦沉默一會,突然在屏幕上跳出一個小人,出現(xiàn)一行字:快快樂樂學(xué)電腦,還傳出了音樂。我當(dāng)時真是驚呆了,電腦怎么還會唱歌?現(xiàn)在想起來,那個軟件其實是中國臺灣松崗系列教學(xué)軟件,而我一個大學(xué)本科生,在畢業(yè)之后居然對電腦無知到這個地步,我真不知道是該哭還是該笑!俗語說:“一見鐘情”。我是相信這種事的,因為就是這第一次上機(jī),讓我產(chǎn)生了搜索這一神秘世界的強(qiáng)烈興趣,從此就再難與電腦分開了。
當(dāng)時,有兩位電子學(xué)院的老師:尹老師和陳老師。他們給我們講DOS,講漢字輸入,講他們?nèi)绾涡薷奶靺R漢字系統(tǒng)使它能在一張軟盤上運(yùn)行,講打字排版,一個月之后,我不滿足,又學(xué)了一個月。
在上培訓(xùn)班的時間里,我向老師要來了桂林電子工業(yè)學(xué)院計算機(jī)應(yīng)用專業(yè)本科四年的培養(yǎng)方案,回到家中,列出了所有本科課程,再根據(jù)書上的先修課程介紹,繪制了一張巨大的課程樹,從樹根開始,決定一本本地啃,從頭開始學(xué)計算機(jī)技術(shù)。計算機(jī)科學(xué)的學(xué)習(xí)有較強(qiáng)的系列性,想一步到位很可能會學(xué)不懂,但循序漸進(jìn)又無法跟上技術(shù)發(fā)展的速度,這是一個非常突出的問題。我現(xiàn)在想起來,覺得好的學(xué)習(xí)方式是:學(xué)理論打基礎(chǔ),在實踐中逐步理解理論,多思多悟,就會發(fā)現(xiàn)層出不窮的新技術(shù)中有許多一直不變的東西存在。把握這種東西,就可以以不變應(yīng)萬變。這種“不變”的東西是什么?就是軟件開發(fā)的基本原理與理論,基本思想與方法!在我對面向?qū)ο罄碚撨M(jìn)行了較深入的學(xué)習(xí)與把握之后,我學(xué).NET只用了三個月的時間就可以獨立設(shè)計一個完整的全面向?qū)ο筌浖軜?gòu),并且用VB.NET與C#混合語言把它給做出來了。對于J2EE,我同樣有這種自信,也用三個月的時間,一定可以開發(fā)與設(shè)計基于J2EE平臺的軟件,因為它們背后的計算機(jī)技術(shù)基礎(chǔ)是一致的,完全可以觸類旁通。尹老師和陳老師可能不知道,他們開的一個也許是為了經(jīng)濟(jì)效益的培訓(xùn)班,最后居然培育出了一個計算機(jī)碩士!所以,作為一名教師,其責(zé)任真的是非常重大的,可能會影響學(xué)生的一輩子,我感激他們!
2.漫長而艱辛的學(xué)習(xí)之路
我當(dāng)時每月只有一百多元的工資收入,把大半收入都用到買書上去了。電子工業(yè)學(xué)院門旁的那個科技書店,以及桂林科技書店,成為了我最常去“站讀”的地方。我買了數(shù)據(jù)結(jié)構(gòu)、操作系統(tǒng)、微機(jī)原理、IBMPC匯編程序設(shè)計,C程序設(shè)計這些教材,就按照預(yù)定的計劃開始學(xué)了。
我當(dāng)時也說不清楚為什么要學(xué)這些東西,決不象現(xiàn)在學(xué)生學(xué)什么東西都有很強(qiáng)的功利性:學(xué)英語為了出國,學(xué)電腦為了好找工作。當(dāng)時根本就沒有想過今后如何如何,就是對計算機(jī)技術(shù)本身的興趣推動我去學(xué)習(xí)的。
當(dāng)時計算機(jī)書還不象現(xiàn)在這樣撲天蓋地,我?guī)缀蹩赐炅宋夷芘降拿恳槐居嬎銠C(jī)書,看了一些書,就特別想有地方上機(jī),能練一練。但我一個月一百多元收入,一臺電腦怎么也得幾千元,要五六年不吃不喝才攢夠錢,父母都是普通百姓,家境僅能溫飽,擁有一臺電腦真成了我最大的美夢。為了有機(jī)會上機(jī),我這個臉皮極薄的人也會什么都顧不上了,帶著一盒保存著各種軟件的軟盤,厚著臉皮到處找可能的地方上機(jī)。在這個時候,電子工業(yè)學(xué)院又一次幫了我,他們的機(jī)房管理得并不嚴(yán),我就冒充是他們的學(xué)生去買機(jī)票上機(jī)。后來去得多了,那兒的老師都熟悉我這張臉了,但搞笑的是,居然沒一人知道我是哪個班的!
當(dāng)時電子學(xué)院用的局域網(wǎng)操作系統(tǒng)是Novell,我在那兒學(xué)會了使用許多最基礎(chǔ)的軟件,現(xiàn)在仍然如數(shù)家珍:CPAV,TurboPascal5.5,UCDOS,Tway(天慧漢字系統(tǒng)),Masm,TurboC2.0,還有鼎鼎大名的Norton公司的磁盤醫(yī)生NDD,PCTools,Borland公司的最牛的常駐內(nèi)存的軟件Sidekick,
在電子學(xué)院機(jī)房,我還玩了經(jīng)典游戲:決戰(zhàn)中國海,冒險島,戰(zhàn)斧,三國。
學(xué)校網(wǎng)絡(luò)里軟件很多,但其中所染的病毒也五花八門。我記憶深刻的是第一次遇見DirII病毒時,那種感覺決不是害怕,而是欣喜,呵呵,我見到病毒什么樣的啦!由于DOS內(nèi)核是開放的,所以那時開發(fā)一個病毒程序相對容易,大家又都喜歡用軟盤拷來拷去,結(jié)果毒源泛濫,病毒的猖獗使得殺毒軟件有了巨大的市場,現(xiàn)在大名鼎鼎的江民KV系列,就是在那時開始占據(jù)中國防毒市場,同時還有部的Kill等競爭對手,瑞星、金山等都是后來者。
那時,我白天在公司上班,就盼望著晚上的上機(jī),每次上機(jī)我都有詳細(xì)的計劃,因為機(jī)時寶貴,所以分外珍惜。
為了上機(jī)時能多敲些程序,我一咬牙,向媽媽要了兩百元,買了一臺電腦學(xué)習(xí)機(jī),回家苦練英文指法與五筆輸入,每天對著家里那臺14寸的電視機(jī)屏幕,敲擊至少鍵盤2小時以上。練得手腕酸疼,但終于達(dá)到了運(yùn)指如飛盲打的程度。學(xué)五筆,背字根“目具上止卜虎皮,”,足足花了一星期才背下來,并把每個字根與手指對應(yīng)起來,后來看報紙都不自覺地將漢字給拆得七零八落,再也看不到是一個完整的漢字啦,當(dāng)時好象練到了每分鐘可打60多個字,后來我居然靠著這彈指神功當(dāng)了一陣打字員混飯吃!呵呵,練好了指法,一上機(jī),確實效率倍增,兩小時能敲入并運(yùn)行調(diào)試的程序比以前花三小時敲的還多。
94、95年是我條件最差,但學(xué)習(xí)勁頭最足的兩年時期,外在環(huán)境的惡劣,卻反而造就了我高昂的學(xué)習(xí)興趣,那種癡迷,我想熱戀也不過如此了,可能因為我太喜歡計算機(jī)了,所以愛情與我無緣,這也是無可奈何的事。:-(
我特別想說說我學(xué)習(xí)計算機(jī)技術(shù)書籍的感覺。如果你真的喜歡一門學(xué)科,那在啃一本本專業(yè)書籍時,就決不會覺得它厚,而只嫌它不夠厚。對比我在本科學(xué)《電磁學(xué)》、《自控原理》之類枯燥無味的課程的感覺,那種課程脫離實際,從紙上到紙上,學(xué)生根本無法真正掌握。而學(xué)計算機(jī)課程《C程序設(shè)計》、《數(shù)據(jù)結(jié)構(gòu)》、《操作系統(tǒng)》等課程的感覺真是天壤之別,原來本科學(xué)的東西是越學(xué)越糊涂,而我在學(xué)習(xí)計算機(jī)科學(xué)的過程中自己就感到慢慢地將所有的知識串成了一條線,腦中有一棵知識樹在成長,這不是形容詞,是真的感受。我學(xué)DOS命令,學(xué)了很久不明其道理,是在一天早上醒來時靈感一來,突然理解了文件與樹的概念,于是,就真正把握了DOS命令的內(nèi)涵,開始對copy,format,move這些英文單詞游刃有余了。有段時間,我甚至能感覺得到我的知識在與日俱增!如果那時能有相對穩(wěn)定的客觀條件:比如有一臺隨時可用的計算機(jī),那我一定學(xué)得更快更好。不過話又說回來,條件好的時候,人又容易為安逸所累,進(jìn)步反而慢。還是那句老話:業(yè)精于勤荒于嬉,F(xiàn)在的許多學(xué)生就是物質(zhì)條件太好了,反而不懂得珍惜。
后來我看了金庸先生的《射雕英雄傳》,郭靖成了我最喜歡的人物,不是因為他有黃蓉的愛,而是他那種堅忍不拔的毅力,以平凡之資終登絕頂!金庸先生真是妙筆!此小說我不知看了多少遍。最值得懷念的就是我學(xué)編程的歲月,我學(xué)C語言用的是譚浩強(qiáng)的《C程序設(shè)計》,當(dāng)時譚老師在電視上同時講C程序設(shè)計,我每天必看,把書上的每道例題與習(xí)題全部做了一遍,并寫出了每次上機(jī)的安排。我每次都先在紙上把程序?qū)懗鰜恚缓笊蠙C(jī)時爭分奪秒地在計算機(jī)中調(diào)試運(yùn)行,并根據(jù)運(yùn)行結(jié)果思索為什么會運(yùn)行不正常,在哪兒出錯了,如何更正,上機(jī)完后還有總結(jié)。就是這樣,我把譚浩強(qiáng)的《C程序設(shè)計》一書中的所有例題和習(xí)題全部敲到計算機(jī)中運(yùn)行了一遍,打下了C語言扎實的基礎(chǔ)。譚老師的書和課,的確影響了中國多少名程序員!
我學(xué)了C語言之后,就開始想做點東西了。我用了一個月的時間,用C編寫了一個中文下拉菜單的程序,從UCDOS中的字庫中提取漢字點陣,然后在圖形模式下“畫”出漢字來,使程序能脫離漢字系統(tǒng)的支持直接顯示漢字。整個程序應(yīng)該有一兩千行代碼吧,全部是自己尋找資料,一行行敲進(jìn)去的。后來,我又編了讀取WPS文件的程序(當(dāng)時DOS下打字排版是求伯君的WPS一統(tǒng)天下,Word當(dāng)時在哪里我不知道呢!《電腦報》介紹過的求伯君、鮑岳橋等作為第一代中國杰出程序員代表,是我當(dāng)時崇拜的偶像),我還編寫了一個繪制簡單圖形的小程序,從編程調(diào)試的過程中,我得到了程序員基本功的最初訓(xùn)練。我當(dāng)初沒人教,遇見各種困難只能自己解決,為找出一個bug,晚上睡覺做夢都在編程,而現(xiàn)在的一些大學(xué)生,程序通不過,馬上問老師,甚至有學(xué)生把程序發(fā)到我的郵箱,叫我?guī)退{(diào)程序!有的計算機(jī)專業(yè)學(xué)生,學(xué)了四年,四年敲過的代碼總數(shù)恐怕不超過2千行!的確,我當(dāng)時的水平很低,現(xiàn)在的本科生比我當(dāng)時強(qiáng)太多了,但至少有一點他們中的許多人不如我,他們不如我勤奮,也不具備我的毅力,我覺得這是現(xiàn)在這批八十年代出生的大學(xué)生最缺的東西。我用一年半的時間基本自學(xué)完了計算機(jī)專業(yè)的主干課程(除了《編譯原理》,我實在看不懂),1995年我參加了初級程序員考試,結(jié)果上下午成績加起來有90多分。但96、97我兩次參加程序員級考試,雖然我已有不少編程實踐,但仍然通不過,現(xiàn)在看起來,這反映出一個事實:我理論基礎(chǔ)實在太差,天資也并不高。直到現(xiàn)在,我仍然痛感我的計算機(jī)基礎(chǔ)理論不好,使我難以成為一名計算機(jī)科學(xué)家,而只能成為一名不錯的軟件工程師。
從95年開始,我的生活開始加速下降,我所在的公司由于被一群我現(xiàn)在稱之為駐蟲與流氓的人給弄得不成樣子,每月連100多元的工資都無法保證,我只得離開了公司,把檔案往人才交流中心一放,就開始了我四年的社會漂浮生活。
在這四年中,我干了不下四五種工作:當(dāng)過推銷員,當(dāng)過打字員,當(dāng)過培訓(xùn)老師,修過電腦,從事售后服務(wù),甚至擺過地攤,一切的一切,很簡單,就為了能有口飯吃。生活是嚴(yán)厲的,不講情面的,我唯一的愛好就是閑下來就拿起我的計算機(jī)書來看。當(dāng)時我大哥說過:你學(xué)這些東西有什么用?能靠它當(dāng)飯吃?不要驚奇這種觀點,在我們那信息閉塞的地方,當(dāng)時有誰能想到計算機(jī)技術(shù)會有如此大的改變社會的能力?我之所以不懈學(xué)習(xí),純粹是為了解脫精神上的困惑,在技術(shù)的海洋中忘卻生活的煩惱。我后來有一句名言:何以解憂,唯有電腦。別人當(dāng)作一句笑話,但卻是我當(dāng)時的真實寫照。萬事都有兩面,事情壞到極處,就會向好轉(zhuǎn)化。又是一個很偶然的事,改變了我的人生軌跡。1996年,我的一個高中同學(xué)楊考上了湖南大學(xué)計算機(jī)系研究生,請客吃酸菜魚火鍋。在大家喝酒時,楊提了一個問題:請大家說出一個自己最想達(dá)到的目標(biāo)。我的桂中同學(xué)大多數(shù)都是上的全國重點大學(xué),此時畢業(yè)三年了,大家都對社會對生活有了自己的認(rèn)識,于是就有了各種不同的答案,我當(dāng)時的回答是:“我希望能有一天開發(fā)出一個好的軟件,讓許許多多的人都能用上它!,這個目標(biāo)我到現(xiàn)在都沒達(dá)到。但當(dāng)時大家是給我熱烈地鼓勵。楊飯后跟我說,你既然那么喜歡計算機(jī),為什么不考研呢?對啊,我為什么不去試試呢?當(dāng)天晚上我躺在床上,沒怎么想就確定了要考研的想法。當(dāng)時卻怎么也沒想到,考研之路成了另一條折磨人的不歸路。對我一生的影響深遠(yuǎn)
這就是我早期的學(xué)習(xí)生涯,深深地體現(xiàn)出中國的時代特色。這段時間我的生活是困苦的,心情是苦悶的,但學(xué)習(xí)熱情卻是無以倫比的,F(xiàn)在我一個人擁有兩臺奔四電腦,隨時可上互聯(lián)網(wǎng)獲取豐富的資源,反而在技術(shù)上難有寸進(jìn)了。越來越覺得古語說得好:艱難困苦,玉汝于成!這是生活的真理!
謙遜基于力量,高傲基于無能。編程魔方我們一起努力!中篇-艱難人生從此(決定考研)邁上了一條對我來說到目前為止最難走的路,是一個人生的煉獄。一、第一次考研的失敗
決定考研之后,我就去買了相關(guān)資料,取出塵封己久差點當(dāng)廢紙賣掉的大學(xué)課本,又開始了學(xué)生生涯。
考哪兒的大學(xué)?是我首先要考慮的問題。當(dāng)時還有另一個高中同學(xué)也準(zhǔn)備考研,也是計算機(jī),他報了廣西師范大學(xué)的研究生。
父母則勸我也考廣西師大或我的母校廣西大學(xué)的研究生,說那好考得多,也可以托人走走關(guān)系。但我這人很犟,我在西大混了4年,什么也沒學(xué)到,我還去那兒干什么?我想起了高中時的夢想,決定直接考北京的高校。當(dāng)然,北大清華是想都不敢想的,社會上工作幾年,我畢竟清楚自己幾斤幾兩,但北京幾十所高校,難道一所也不行?我不能再聽父母的話了,我要走自己的路,自己的命運(yùn)自己負(fù)責(zé),于是我堅持要考北京的學(xué)校。
知道這件事的朋友都對我表示驚奇,工作了4年,學(xué)校里的知識都忘得差不多了,還想直接考北京的學(xué)校,難度之大,相信不少人都認(rèn)為我成功的希望很渺茫。事實證明,他們的看法是對的,但不全對,因為世上本就沒有絕對的事情。
這時,我還在一家私營公司里打工,于是,白天上班,晚上就挑燈夜戰(zhàn),每晚不到12點不休息。經(jīng)過半年的復(fù)習(xí),我參加了1997年元月的全國研究生入學(xué)考試,成績出來,我專業(yè)課沒問題,但數(shù)學(xué)才得了44分,毫無疑問,名落孫山。這是一個打擊,但對我并沒有太大的影響。
這時,我小時候住在隔壁的阿姨來到桂林,她說她女兒(我小時的玩伴,也姓楊)去年就考研了,但也同樣沒過,她原先在北京服裝學(xué)院讀本科,畢業(yè)分回廣西柳州一個國企里,工作一年之后考研,沒考上之后,她就把工作給辭了,專門跑到北京同學(xué)家中復(fù)習(xí)一年。97年考研她成功了。得知這個消息,對我是個很大的鼓勵。我想,她一個比我小的女孩都能成功,我為什么不行?我想辦法與她聯(lián)系上了,在后來的考研歲月中,她給了我極大的幫助,幫我買資料,幫我問成績,寫信給我,鼓勵我堅持下去受人滴水之恩,當(dāng)涌泉以報。
世上的人大都只會“錦上添花”,但只有“雪中送炭”才是最寶貴的。她就是我的“雪中送炭”人,她研究生畢業(yè)后嫁到青島去了,斷了音訊,但我心中永遠(yuǎn)記住了她的幫助。我決定,從今往后,如果我有能力幫助別人的,就一定要幫助人。這世界充滿了太多不好的東西,我應(yīng)該努力往其中添一點好的東西,哪怕顯得多么微不足道。二、“土包子”的北京之行1.中關(guān)村印象
剛好,1997年我大哥在北京中央美院進(jìn)修美術(shù),我決定明年繼續(xù)考研,于是辭去了在一家私營電腦公司的工作,于6月底來到了北京,住進(jìn)了大哥的宿舍。6月到7月,我在北航學(xué)計算機(jī)維修,7月參加陳文燈老師的考研班,一直呆到9月中旬,我才回到桂林。
中央美院當(dāng)時搬到了北京西北角的西八間房,我和大哥一起住在學(xué)生宿舍中。認(rèn)識了不少來自全國各地的搞美術(shù)的大哥同學(xué),我很喜歡和他們這些搞藝術(shù)的人在一起,看他們色彩斑斕,形象逼真的油畫,和設(shè)計精巧的一些手工作品,是一種美的體驗。與我們工科人相比,他們是另一種思維方式。7月份,大哥要回桂林了。在回桂林前,我?guī)退退耐瑢W(xué)們?nèi)ブ嘘P(guān)村電子市場一口氣買了三臺電腦,當(dāng)時最紅火的電子市場是中關(guān)村電子市場,就是現(xiàn)在北大太平洋電腦商場所在的地方。那時電子市場里熙熙攘攘,如此的紅火,是我在廣西所從未見到的也從未想到的。在大街上隨處可見抱著臺打印機(jī),拎著個掃描儀的人,把電腦配件當(dāng)成白菜一樣賣,這就是我對聞名全國的“中關(guān)村電子一條街”的最初印象。
我到了中關(guān)村,見到了那些我非常熟悉的公司:北大方正,金山WPS,江民科技,見到了北京書堆積如山的書店,感嘆這里真是一個知識的海洋,覺得親身感受到了中國IT業(yè)的脈博。大哥回去后,我一個人留在北京,騎著輛破自行車逛了中國最有名的大學(xué):北大和清華,北大風(fēng)景如畫的未名湖上處處荷葉飄香,清華平平展展的草坪展示一種平實坦蕩的心胸。一墻之隔,校園內(nèi)外,就是兩種不同氣氛,無名無狀,卻讓我這個二十多歲沒出過廣西的土包子感受深刻。2.“瘋狂”的考研班
我參加的是暑期文登學(xué)校的考研班。中央財經(jīng)大學(xué)那棟破敗不堪的學(xué)四樓里,住滿了來自全國各地的學(xué)生,和我住在一起的,一個是湖北的,一個是東北的,一個四川的,為了同一個目的,大家從天南地北聚到了一起,我當(dāng)時真感到了一種“家”的感覺,原來這世界有這么多同路人,我不過是中國十幾萬考生中一名不起眼的“老生”罷了,但還不算是“范進(jìn)”。考研班的日子是“瘋狂學(xué)習(xí)”的日子。
記得我們需要到北方交通大學(xué)的大禮堂去聽人大老師索愛群的政治課,一千多人的大禮堂被擠得滿滿的,連過道上都坐了人。在老師的講臺前堆滿了各式各樣的錄音機(jī),足有一百多部,來自全國各地的莘薺學(xué)子拿著一瓶礦泉水,在北京最熱的7月,揮汗如雨地在記筆記!這段日子,我用去了7個筆記本!這種氣氛,我以前在廣西是從未見過的。我本來以為我已經(jīng)夠努力勤奮的了,到北京考研班一看,根本就不算什么。
陳文燈老師教的數(shù)學(xué)給我留下了最為深刻的印象,他上課不用講稿,所有的例題全都記在他的腦里,隨手就可以寫出來,絲毫不差,還總結(jié)出一整套解題方法,讓我大開眼界。我是見著了,原來一個人對本職工作可以精熟到這種地步!后面我還會談到另一位老教授對職業(yè)可貴可敬的敬業(yè)精神,不敬業(yè),就不是一個合格的勞動者。我一直呆到身上沒錢了才離開北京。這三個月花完了我工作幾年的所有積蓄,卻對我的影響是巨大的,中國什么地方最適合學(xué)習(xí)?最適合學(xué)計算機(jī)?在我看來,只有北京!我下定決心,一定要到北京來學(xué)習(xí)計算機(jī)技術(shù)。3.差點跳樓的致命打擊
9月中旬我回到了桂林,開始準(zhǔn)備第二年的考研。
但生活是不講情面的,我想當(dāng)然地認(rèn)為經(jīng)過了北京名師的指點,我去年就是數(shù)學(xué)沒過,今年應(yīng)該沒問題了,但事實并不如此。
1998年的數(shù)學(xué)試題,突然有了一次很大的變動,這次數(shù)學(xué)考試特別難,題量還特別大,全國及格率僅7%,平均分為30多分。我現(xiàn)在將這次考試試題稱之為“變態(tài)”的題目,出題的那幫呆在空調(diào)房里的教授們挖空心思出出來的題目,可把我給害慘了。我自認(rèn)為心理素質(zhì)夠強(qiáng)了,但因為這場考試關(guān)系命運(yùn)太大,在考場上我的手都是抖的,幾乎暈倒,一道道的大題空在那兒做不出來,都象是在不斷地譏笑我不自量力,又象是一張張面無血色的血盆大口,一張口就把我給吞下去了,連骨頭渣子都不吐。
考完數(shù)學(xué),我就知道我今年沒戲了。原來一個考場有幾十位考生,考完數(shù)學(xué)之后只剩下不到三分之一的人。我堅持著把后面的課目考完。在那種明知無望但僅憑一種信念支撐著要堅持到底的時刻,我真不知道當(dāng)時是怎么挨完后面的專業(yè)課考試的。
3月,成績下來了,我的數(shù)學(xué)成績讓我差點去跳漓江了---13分!我從小學(xué)習(xí)勤奮努力,從沒拿過這么低的分?jǐn)?shù)。真是破紀(jì)錄!當(dāng)時真是灰心到了極點,準(zhǔn)備放棄考研,到廣東打工,找個地方浪跡天涯,自生自滅去,實在沒臉在家呆了。
這個時候,我大哥勸住了我:你都考了兩次了,我看來你就是數(shù)學(xué)差,其它課你都過線了,專業(yè)課還都是80多分,為什么不繼續(xù)努力?集中精力把數(shù)學(xué)搞好就可以了。你現(xiàn)在放棄,就前功盡棄!我這人笨,從小學(xué)學(xué)東西就慢,這是一大弱點。但上天是公平的,他給你一個弱點的同時,也一定提供了讓你克服這個弱點的方法。
我笨,但我好強(qiáng),但我勤奮,但我堅持,人一之,我十之,笨鳥先飛,古已有之,古人可以做到,我為什么就不能做到?這事就這么收場?我不服,不甘心!于是,我下定決心再拼一次。
我現(xiàn)在沒有工作,也不想再去找工作了,住在家中,就與堆積如山的書干上了。在關(guān)鍵時刻,年邁的父母無條件地支持了我,他們默默地承擔(dān)了一切,讓我有飯吃,給我一個安靜的環(huán)境,讓我去實現(xiàn)我的夢想。
我深深感受到父母的愛是多么的無條件!我一個二十五六的大小伙子,呆在家中吃閑飯,還讓父母為我的前途操心,那種心靈的煎熬,現(xiàn)在想起來都有種想哭的感覺。男兒有淚不輕彈,只因未到傷心處!在此,我要深情地對我的父母說:兒子絕不會忘記你們的恩情,唯望兩老保重身體,一定要等到看到我過上好日子的時光。4.反思,走自己的路!
考研失敗,我反復(fù)想,為什么我聽了陳文燈傳授的做題秘訣,反而考得更差了?別人為什么用陳老師的方法考出了好成績?看來,每個人的具體情況不同,不存在可以讓人暴長功力的“武林密笈”,從這件事中我學(xué)到,決不能迷信權(quán)威,迷信理論。后來我對許多現(xiàn)象與潮流如CMM熱、設(shè)計模式、軟件工程等理論都持有不同的看法,認(rèn)為把西方的東西原樣照搬是行不通的,不經(jīng)過自己的大腦獨立地思索,不經(jīng)過實踐的檢驗,不要相信任何東西!
從98年到99年1月,我斷絕了一切外部聯(lián)系,把自己關(guān)在了家中。我父母的工作單位是一個療養(yǎng)院,全院加起來也就一兩百號人,后山就是一個森林公園,空氣清新,林木繁茂,大院里還有一個小山(是真山,不是假山,桂林的這樣象竹筍似的山多了),山上修了個亭子,平時少有人來,真是一個閉門修行的好地方。
我每天到小山亭子上去學(xué)英語、背政治,桂林四季長青,我周圍是青山綠竹,微風(fēng)一過,樹葉沙沙做響,我就在這里學(xué)起了戰(zhàn)國時的蘇秦。從春學(xué)到夏,再從夏學(xué)到冬,苦苦學(xué)了一年,這一年里,使我的心志得到了極大的鍛煉,困難更加難以擊倒我。后來我境況轉(zhuǎn)好,生活中很多人覺得受不了的挫折,在我看來都不過是小菜一碟罷了。
桂林多奇山,秀美蒼翠,風(fēng)景四季如畫。每當(dāng)我學(xué)累的時候,總是看著這美麗的風(fēng)景,贊嘆祖國江山如畫,感觸人生之渺小,命運(yùn)之無常!
大哥從北京帶回了一臺電腦,奔騰166、4.2G的昆騰大腳硬盤,當(dāng)時不錯的配置,把它送給了我用。我渴望了多久的東西終于到手了,我終于可以無限制地使用計算機(jī)了!我把電腦放在床前,伴它入眠。
我有時半夜會突然驚醒,想著目前的困境,渾身會出一身冷汗。電腦沉默不語,在一旁安靜地陪著我。我看著那藍(lán)幽幽的屏幕,心情非常復(fù)雜。
有了電腦也難過,我得抑制住自己強(qiáng)烈地想探索軟件技術(shù)的欲望,強(qiáng)制自己把主要精力放在考研上。
整個考研英語大綱有5300多個單詞,為了背下它們,我用VB編了一個背單詞的小軟件,每次可以分別顯示中文或英文,并可以區(qū)分哪些單詞沒記住,下次復(fù)習(xí)。所有單詞我都是用鍵盤一個字母一個字母地敲入的,每天早上一起床,先對著電腦背它半個小時。到考研結(jié)束,我一看,數(shù)據(jù)庫中已有了兩千多個單詞。
這一年以來,我真是玩命,什么考研理論我都不信了,我就托人買了國家教委出的幾本考試分析,就專門研究考研試題,我要找出適合我自己的方法來。考研數(shù)學(xué)考試分析500多頁的書,被我翻來覆去地將歷年考試試題做了三遍。黨的十五大報告我至少背了一百多遍,我稱之為背“語錄”,真稱得上是“倒背如流”,考政治時我把大段大段的十五大報告文字抄上去,居然得了75分!
發(fā)黃的本科高等數(shù)學(xué)和概率與數(shù)理統(tǒng)計,以及藍(lán)色封皮的線性代數(shù)課本,都被我翻得不成樣子。我覺得我就是基礎(chǔ)太差,在這種基礎(chǔ)之上,講什么做題方法都是空中樓閣,一定要抓住“三基”(基本知識、基本方法與基本原理)。但我不得不悲哀地指出,我這些努力并未使我的數(shù)學(xué)能力有所提高,數(shù)學(xué)并不是這樣學(xué)的,數(shù)學(xué)思維絕不是這樣培養(yǎng)的。怎樣學(xué)數(shù)學(xué)?得去問華羅庚與陳景潤等數(shù)學(xué)大師!我至今數(shù)學(xué)還是不行。也希望有這方面經(jīng)驗的人能夠教我,讓我補(bǔ)上數(shù)學(xué)這一課。
生活總算給了我一次微笑。1999年考研,我數(shù)學(xué)得了60分,終于邁進(jìn)了大學(xué)的門檻,可以打起背包上北京了。
我這人比較笨,不善于找到達(dá)到目標(biāo)的最佳路線,但憑著牛勁鉆下去,硬給我鉆出了一條路。這條路能走通還帶有一些僥幸的色彩,大家想必比我聰明得多,一定能找到更好的路,用更經(jīng)濟(jì)更聰明的辦法達(dá)到目的,這是一種大智慧,是我所沒有的。
這段經(jīng)歷對我個人的思想品質(zhì)的影響是深遠(yuǎn)的。為什么這么說?為了考政治,我深入全面地了解了中國近現(xiàn)代史,我去盜版碟市場買了不少存有歷史資料的光盤,從多方面來看中國歷史,凡電視中有關(guān)歷史的節(jié)目,我必看。我在這里尤其想說的是一個巨著《毛澤東選集》!經(jīng)歷過文革的每個家庭,哪家沒有毛選?我家就有不止一套。毛澤東選集一到四卷,發(fā)黃的書被我在這段時間通讀了一遍。其中的經(jīng)典文章更是被我看了一遍又一遍,趕上金庸的《射雕英雄傳》了。越讀越覺得毛澤東之人真是數(shù)百年才出一人的大牛人,他的《湖南農(nóng)**動考察報告》、《論持久戰(zhàn)》等著作,其中體現(xiàn)出來的深刻洞察力與對中國國情的深入把握,其博大的心胸,為國為民的精神真叫我震撼!最終奪了天下,實在是中國社會的必然,當(dāng)時她集中了多少中國最出色最優(yōu)秀的人才,再加上毛澤東這種不世出的大牛人領(lǐng)導(dǎo),老蔣真與他不是一個水準(zhǔn)的,想與老毛逐鹿中原,必敗無疑!我成了毛澤東的崇拜者,但絕不是盲從者。
說起來大家可能不信,我從毛選中得到了許多精神上的營養(yǎng),更加樂觀了。毛選,真是中國人巨大的精神財富!近年來有不少憤青指著毛澤東晚年的失誤全盤否定毛澤東,在我看來真是狂妄無知,他們有幾個真正了解毛澤東?有幾個真正客觀地看過毛選?有幾個有資格對毛澤東做出評價?把他們放回毛澤東生存的那個民族危亡的時代,他們還會有這么多屁放?!說不定最先當(dāng)漢奸的就是他們。呵呵,不好意思,說粗話了。閑話少說,回到正題。
回顧這段經(jīng)歷,我只能說是“具有中國特色的考研之路”。我感嘆,中國的考試就是扼殺人性的東西,高考與考研尤其如此。我要是用這種精力去學(xué)計算機(jī),一年半的時間,還有什么技術(shù)學(xué)不到手?但我沒辦法,現(xiàn)實逼著我去考這種我并不想考的試。中國考試之難我看全世界也不多見,我想,每年全國還有那么多的學(xué)生要參加這種考試,大量的人力物力與年青人的精力和時間都耗費(fèi)在考試上了,而考試的內(nèi)容與實際脫離那么遠(yuǎn),真的有助于人才的脫穎而出?我看反倒是形成了一種應(yīng)試教育,扼殺了年青人本來所具有的創(chuàng)造性,中國現(xiàn)在為什么出不了大師級的人物,應(yīng)該反思中國的教育制度。下篇-實踐人生
一、希特勒地堡與CIH病毒
1999年4月,我來到北京參加研究生復(fù)試。復(fù)試完了之后就不回去了,我拿著一張光盤,里面刻著我用VB和Authorware3.5編的一個Cool3D的教學(xué)軟件,到處參加招聘會,開始了在北京的打工生涯。
說句實話,我心中真是一點底也沒有。北京人才濟(jì)濟(jì),我一個三流大學(xué)的畢業(yè)生,又不是計算機(jī)專業(yè)的,有人要我嗎?
我在北京無依無靠,沒有任何一個親戚在北京,住成了大問題。北京這地方,錢太不經(jīng)花,生活費(fèi)用太高,我四處尋找便宜的地方住。后來,我在北京化工大學(xué)對面的招待所中租了個床位,每晚20元,地下室。這個招待所的地下室非常大,每天回去的時候,都要走過長長的曲曲折折的通道,加上那昏黃的燈泡,每次我都有走進(jìn)了希特勒地堡的感覺。地下室里潮濕陰暗,不見天日。地下室里人員很雜,什么人都有,永遠(yuǎn)沒有一種安全的感覺,所幸的是我也是個窮光蛋,光腳的還怕穿鞋的?別人能呆我也能呆,唯一讓我擔(dān)心的是錢,沒錢,在北京連流落街頭都不夠格,立馬被收容去昌平篩沙。呵呵,我沒這種經(jīng)歷,這是當(dāng)時住一塊的一個外地要考北京中醫(yī)藥大學(xué)的博士生說的(我倆居然住到了一個屋里,大家都沒錢,只能擠地下室,只是他老兄晚上打呼,我可真受了不少罪)。日子一天天過去,袋里的錢一天天少了,但工作還是沒著落,心中越來越慌,除去學(xué)費(fèi),來京時父母給我201*元,大哥資助我的1000元就是我當(dāng)時的全部資金(3000元在北京能呆多久?。N耶(dāng)時訂了個計劃,留下500元保底,打死都不能動,要靠它作路費(fèi)回家的。我當(dāng)時說,一定得找到一家公司,再少的錢都干,只要有口飯吃,有張床讓我睡我就滿足了。
我一共應(yīng)聘了四五家公司,最具傳奇色彩的是到西單附近一家公司的應(yīng)聘經(jīng)歷。那時,我?guī)チ宋业淖髌,公司項目?jīng)理要看,于是我給他們演示,很奇怪,程序一打開就死機(jī),一連兩臺電腦都一樣,末了,兩臺電腦都啟動不起來了。用瑞星一查,CIH病毒那天正是4月26日!于是,CIH破壞了電腦主板的同時,也無情地摧毀了我的就業(yè)機(jī)會。還算老板可憐我,沒要我賠。其實我當(dāng)時快到山窮水盡的地步了,真要我出錢,我可能連家都回不了啦。陳盈豪(CIH病毒的作者),你小子這么的聰明做什么不行,偏要去做病毒,害人害已,弄得我連個飯碗也找不到,晚上回“希特勒地堡”,把這小子罵了無數(shù)次!
總算天無絕人之路,在我數(shù)著最后還剩余600元錢的時候,終于有一家公司要我了,做中小學(xué)教育軟件,月薪1600。干了兩星期,又給我在公司的倉庫挪開貨物,搭了個床位,我就在那住下了,慶幸再也不用到“希特勒地堡”里當(dāng)沖鋒隊員了。每天下班后,我就睡在林立的大紙箱之中,如果來個地震,呵呵,我就埋在紙箱中了,休想爬得出來!
我干得非常努力,第一個月工資開出來,扣掉個人所得稅,我拿了1500多元。你們不知道我拿到第一筆工資的感覺!這錢在很多人眼里簡直不算錢,但對于一個沒工作近兩年,工作也一個月收入不到200的窮小子而言,就象陳佩斯小品中所演的:“我王老五活了一輩子,還從沒見過這么多錢啊!”。好笑嗎?我一點也不覺得好笑。我只是心酸,我到了28歲才可以用自己的知識與技能養(yǎng)活自己,再不用依靠父母和兄長的資助,才真正完全用自己的力量在社會上站起來,一個沒有經(jīng)濟(jì)自立能力的人,只能是個不成熟的人,一個躺在父母身上的人,不是一個真正的男子漢!我當(dāng)這樣的孬種當(dāng)了28年!
我找到工作后向家里寫過一封長信,信中講了我對父母平時不好意思說的很多心里話,當(dāng)時,我父親說,母親接到信都哭了。我剛拿到工資,馬上打了個電話回家里告訴母親,以緩解他們的焦慮,畢竟兒行千里母擔(dān)心!父母有退休金,一再表示不需要我贍養(yǎng),而我再這樣不要臉下去,我還是人嗎?我就是從那時候開始,下定決心,從今往后,再不向家中要一分錢!今后三年讀書和生活的費(fèi)用我一定要用自己的勞動來獲取。
金錢帶給我的激動就是在那段時間,溫飽問題解決之后,金錢對我的誘惑就再沒有了,哪怕讓我一個月賺一萬,給套房子給我,也不可能再給我?guī)硇腋5母杏X了,錢是重要的,但不能成為它的奴隸,家中不需要我負(fù)擔(dān),我一個人有吃有喝,干著我喜歡的工作,足矣!
我在那公司一直干到九月學(xué)校開學(xué)為止。我走的那一天,公司居然還開了個歡送宴會,老板封了500元的封包給我。我真是感動。我大學(xué)畢業(yè)后在社會上掙扎求生,得到的大都是冷眼與蔑視,社會終于認(rèn)可了我的價值,我不是一個只知道吃飯的廢物!
1999年9月9日上午9點,在這個最多9字的時刻,我到學(xué)校報道來了,放下行李,我坐在分配給我的床上,心中終于踏實下來。
現(xiàn)在,我在北京終于有一張屬于我的床了,一張真正屬于我的床了,終于有個地方可以讓我安穩(wěn)地睡覺了。沒有這段經(jīng)歷,我怎么體驗到“安居樂業(yè)”這一個詞的真實含義!個人如此,國家要做到,中國要做到,更難!二、編程生涯
讀研兩年半的時間,我四處打工,這兩年半我至少在七八家公司做過,編了十幾萬行代碼,為自己賺了一臺電腦,兩部手機(jī)(丟了一部),還有讀研期間的所有費(fèi)用,實現(xiàn)了我的目標(biāo):沒向家里要一分錢。
我水平不高,但在打工過程中,發(fā)現(xiàn)許多中國軟件公司的水平更菜!
201*年暑假,我參加一個商品軟件的開發(fā),搬到了北大燕北園的一個宿舍,在那兒搞封閉式開發(fā)。在這個項目采用VB6開發(fā),主力程序員除我之處,還有一個華北電力大學(xué)的研究生。大家都沒開發(fā)商品軟件的經(jīng)驗,沒經(jīng)過正式的設(shè)計,就匆忙編碼了。我曾經(jīng)想采用分層的系統(tǒng)架構(gòu),但遭到另一位程序員的反對,爭吵沒有結(jié)果,老板也不能做決定,結(jié)果各行其是,F(xiàn)在看起來,那時真是太菜了,任何一本軟件工程書都會指出這種做法是不對的。
我們直接就熱火朝天的干了起來,那位華北電力大學(xué)的老兄,真讓我佩服,他可以在一個sub過程中寫上201*行代碼!我覺得奇怪,為何他能寫這么多的代碼?一看,頓時我暈倒,他居然將每個控件的left,top,width等屬性都用代碼來設(shè)定!想想這樣的程序,調(diào)試時光單步執(zhí)行就需要按多少次F8鍵!
我們在電腦旁邊搭了個行軍床,每天都是干到早上6點才睡,12點吃中飯,然后又是一個通宵。當(dāng)時整個工程只有一個類模塊,被我用于封裝訪問數(shù)據(jù)庫的ADO數(shù)據(jù)引擎,這是整個工程中唯一一處用到了最簡單的面向?qū)ο蠹夹g(shù)的地方。然后,我寫了近十個bas公用模塊,每個模塊代碼規(guī)模都有一兩千行,還有十幾個窗體,每個窗體中都塞滿了事件驅(qū)動的VB代碼,整個軟件應(yīng)該有10萬行代碼,我一個人在此期間至少就寫了3萬多行VB代碼。程序的主處理流程我甚至用ADO與DAO寫了兩套!現(xiàn)在想起來,我們當(dāng)時根本就不知道面向?qū)ο鬄楹挝,更不理解許多對軟件開發(fā)至關(guān)重要的理論,就憑著一種熱情。在這段痛苦的開發(fā)經(jīng)歷中,我不僅精熟了VB,而且從中學(xué)到了很多,F(xiàn)在再開發(fā)同樣功能的東西。我至少可以砍掉2/3的代碼。怎么學(xué)都不如從失敗中學(xué)得多。后來我總結(jié)VB程序員的三個境界:
(1)所有代碼都只放在窗體文件中的,屬于菜鳥級,他們只會從面板上拖控件,設(shè)置屬性,然后再給事件編碼。
(2)工程中有bas模塊的,屬于中間級,他們已意識到有大量的代碼是重復(fù)出現(xiàn)的,應(yīng)該將其抽取出來作為公用模塊。
(3)工程中有cls模塊的,屬于高手,他們已掌握了面向?qū)ο蟮乃枷,并能?yīng)用這種思想來解決實際問題。
正是這次開發(fā)經(jīng)歷,促使我反思:到底如何開發(fā)軟件?我個人可以用VB完成各種各樣的功能,為什么湊在一起就會那么困難?更正一個bug為何那么難?為什么一個看似簡單的軟件,要拖半年的時間還看不到結(jié)束的日子?
九月,研究生要開題,我自擬了個課題:軟件體系結(jié)構(gòu)設(shè)計。我決心弄明白,好軟件到底是怎么做出來的。
我放下了VB,開始研究C++,原來學(xué)過VC,但沒學(xué)會,就直接從C++Builder入手。Borland公司的VCL類庫讓我大為嘆服,很快就迷上了它,為此連帶學(xué)了Delphi,并參與了一個Delphi項目。給我真正震撼的是《設(shè)計模式》這本書,看了才知道,原來好軟件是這么設(shè)計出來的!在此,我強(qiáng)烈推薦所有有一定編程經(jīng)驗的程序員一定要看這本書!
一邊學(xué)習(xí)理論,一邊可沒忘記我沒經(jīng)濟(jì)來源,于是又四處打工,接一些小項目與小模塊來賺些生活費(fèi),國內(nèi)一家橫跨家電與軟件的著名公司是我打工期間去過的最大的公司。但無論什么公司,都給我一種感覺爛!公司中充滿了對員工的剝削與不尊重,對軟件開發(fā)這一事物的錯誤認(rèn)識,管理混亂。
我沒機(jī)會去外企,技術(shù)水平不到,別人不要我?,但我所見到的軟件公司,我敢說沒一家能做出世界一流的軟件!我上的研究生課程也讓我失望,整個就是本科教育的再版。經(jīng)過高考與考研兩次重大考試,我對考試已是深惡痛絕,但讀研期間仍要考試,而且是閉卷!我就不知道我去背那些條文對我的研究與學(xué)習(xí)有何幫助?201*年7月當(dāng)我考完最后一門,終于大松一口氣,我終于擺脫了考試的壓迫,可以在剩余的一年半中真正搜索我渴望已久的軟件技術(shù)了。這年,我29歲。
悲哀嗎?一個中國的程序員要到29歲才可以真正自由地學(xué)習(xí)想學(xué)的東西!
我開始研究面向?qū)ο罄碚摚戳舜罅康臅,每天都在實驗室學(xué)習(xí)到深夜12點,天天上網(wǎng),CSDN成了我最常去的網(wǎng)站。
隨著我對軟件技術(shù)的了解越多,就越深刻地感到國內(nèi)與國外技術(shù)水平的差異是如此的巨大,巨大得甚至有讓人絕望的感覺。同時,在北京這個中國軟件人才最集中的地方,我也見到了許多牛人,一個清華的本科學(xué)生,做程序員可以拿到一個月1201*元的工資,一個北大的計算機(jī)系研究生,一畢業(yè)就到外企,一個月一萬多收入,每年發(fā)16個月工資!干了兩年就開了自己的公司。我看到了一個北方交大的本科生作品,在半年的業(yè)余時間里,用Delphi寫了十幾萬行代碼,他甚至在代碼中嵌入?yún)R編,自行編寫數(shù)據(jù)存取引擎讀寫Foxpro,速度超快!軟件中有一個計算公式解析模塊,他用編譯原理理論居然做了一個小型的公式解析器,就象C++編譯器檢查C++程序一樣,不僅可以判斷是否公式正確,而且給出的出錯信息還相當(dāng)準(zhǔn)確!其基本功之扎實,水平之高讓我望塵莫及!中國優(yōu)秀的人才真還是不少的!在精英集聚的北京,面對著博大精深的軟件科學(xué),我深感自身的渺小。
但我畢竟是靠自己奮斗出來的,我并不自卑,這世界需要牛人,同樣需要大批合格的勞動者,我成為不了牛人,但我作一名程序員是合格的。
時間過得飛快,一年半根本就不算時間,馬上就要畢業(yè)了,學(xué)習(xí)的成績?nèi)绾,要到社會上去競爭了,讓社會考場來決定你是否及格。三、畢業(yè)求職
98級的研究生是IT業(yè)最后輝煌的回光反照。當(dāng)時,各大公司都發(fā)了瘋似的要人,象華為,當(dāng)時是來者不拒。計算機(jī)專業(yè)的研究生是一搶而光,本科生也供不應(yīng)求。201*年畢業(yè)的我的師兄師姐們,平均每個人手頭都至少有兩三個offer,談的工資沒有低于每月6000的,許多人去了外企,工資在8000~10000每月的也有。真是畢業(yè)生的黃金時間。
但好景不常在,911事件我看來好象成了分水嶺,911之后,整個IT業(yè)急剎車,就業(yè)形勢急轉(zhuǎn)直下,各大公司都在消化去年吃得過飽的胃口,我形容是大家都吃壞了胃,再也不可能有我?guī)熜謳熃銈兊娘L(fēng)光了。雖然時間相隔僅大半年。
從10月開始,11月和12月,我?guī)缀跏窃谡衅笗c公共汽車上渡過的,北京東南西北地去面試,上午在上地,下午可能就要跑到朝陽區(qū),疲于奔命。
在找工作過程中,我良好的心理素質(zhì)與豐富的編程經(jīng)驗起到了很大的作用,并沒有遇到很大的困難,就先后有幾家公司表示要我。其中我想說的有兩家公司。
一家是中國臺灣公司,應(yīng)該說他們做得是不錯的,但我非常反感他們那種自認(rèn)為高于大陸人的那種優(yōu)越感,而且待遇也不高。面試之后,回來感覺很不好。
我想:我們大陸確實是不如中國臺灣發(fā)達(dá),難怪別人看不起我們,這世界勢利得很,社會如此,國家亦然。但我中華960萬平方公里的國土,13億人口,難道要依靠一個小小的島嶼來撐門面?難道除了中國臺灣公司,我就無處可去了?雖然改變不了什么,但我決定絕不去臺資和日資的公司工作(日本人我更不喜歡,但我認(rèn)為他們做事實在優(yōu)秀,我們一定要向日本人學(xué)習(xí))!在這種公司呆著,不爽!同時,我們的確也得爭氣些,這世界只尊重強(qiáng)者。
另一家是個很不錯的民族軟件企業(yè),想要我,其老總專門找我去面談了一次,希望我能到他的公司工作。這位老總白手起家,能在五六年的時間內(nèi)由幾個人發(fā)展到300多人,當(dāng)時,是中國這個領(lǐng)域軟件市場占有率最高的公司,我非常佩服,他為人也很好,并表示可以給我每月比其他研究生多加1000元工資,而且希望鍛煉一兩年之后我能夠帶領(lǐng)一個團(tuán)隊來開發(fā)產(chǎn)品,并負(fù)擔(dān)我畢業(yè)所需交納的各種費(fèi)用。在就業(yè)不景氣的201*年,對我一個30歲的技術(shù)水平有限的老程序員如此看重,真叫我感動。雖然我最后還是沒去,但我仍然對這個公司充滿了好感。一個軟件企業(yè)最重要的是什么?是對人的尊重,沒有這點,可以斷定,這個公司長不大。
我為什么沒去軟件公司?放棄有可能在幾年之后年薪突破10萬的收入?是因為我已有了更想做的事,我想當(dāng)老師!
我自己是從自學(xué)的路上走過來的,其中的艱辛歷歷在目,無人指點,我走了多少彎路?中國還有多少是象我這樣的年輕人無人指點的?我幸運(yùn)能爬出來了,因為我至少還能有飯吃,比我條件更差的,比如農(nóng)村的孩子,可能就被生活的壓力所淹沒了。我個人的力量很微弱,技術(shù)也有限,但我自認(rèn)為至少是一名合格的程序員,如果能培養(yǎng)出一大批達(dá)到我的水平的學(xué)生,他們畢業(yè)后成為合格的程序員,中國軟件的根基就會更扎實,如果更能有一批遠(yuǎn)遠(yuǎn)超過我水平的學(xué)生出來,中國軟件就有希望了。軟件是什么?軟件以人為本!
人生追求什么?金錢?我很缺錢,但不可能把金錢作為我的目標(biāo),我希望我能夠成為一個對社會有所貢獻(xiàn)的人,能夠獲得心靈的充實,于是,我選擇了留校。四、對教育的反思與教書生涯
201*年下半年,我參加了北京高校青年教師崗前培訓(xùn)。一位杜教授的兩堂課讓我印象深刻,其中兩句話讓我深深震動:
第一句話:我是一個教書匠,教書匠好啊,好就好在“匠心獨運(yùn)”!第二句話:做什么工作都要達(dá)到變魔術(shù)的境界!是的,作為一名教師,就必須起到一個傳聲筒與放大器的作用,將人類最聰明的人探索世界所得到的知識予以拓寬發(fā)展,以便讓更多的人能夠掌握這些知識并進(jìn)而應(yīng)用于實踐,從而推動人類的不斷進(jìn)步。
作為一名計算機(jī)專業(yè)的教師,就要努力把先進(jìn)的計算機(jī)技術(shù)以盡可能高的效率傳授給廣大的學(xué)生,引導(dǎo)他們直接面對真實的軟件世界,而不是向他們硬灌各種各樣的理論知識,強(qiáng)迫他們?nèi)ニ烙浻脖骋詰?yīng)付考試。
我是一個小人物,才低學(xué)淺,但我真的認(rèn)為高校計算機(jī)教育存在嚴(yán)重的問題。我在打工期間的開發(fā)經(jīng)歷,以及閱讀國外相關(guān)資料的時候,發(fā)現(xiàn)學(xué)校中教的和社會上用的差得太遠(yuǎn)!都已經(jīng)是什么時代了,許多大學(xué)還設(shè)立Foxpro課程,難道就不能直接用現(xiàn)代主流的數(shù)據(jù)庫如Oracle,SQLServer,哪怕是Access也好,來講授數(shù)據(jù)庫知識?還有所謂的計算機(jī)等級考試,呵呵,過了三級學(xué)生的我見過不少,但他們真正對軟件,對計算機(jī)又理解多少?
在中國甚至于升職稱也要考計算機(jī),我看了一本職稱計算機(jī)考試教材,里面幾乎原樣照搬計算機(jī)原理課程中的相關(guān)章節(jié),弄得我給搞藝術(shù)的大嫂講了一個小時的二進(jìn)制與八進(jìn)制、十六進(jìn)制的轉(zhuǎn)換方法,她還是弄不太清。我都泄氣了,對啊,他們搞藝術(shù)的,有必要去分清二進(jìn)制的10與十進(jìn)制的2有何分別嗎?他們八輩子也用不上。但是考試用得上,呵呵,又是中國特色。
拿C++來說,我講過C++課,許多的國內(nèi)教材對C++語法下了大功夫,卻對體現(xiàn)了C++精華的STL只字不提,對代碼背后所體現(xiàn)的軟件開發(fā)思想與方法更是視而不見,我用C++也編過不少程序了,說句實話,我用到的特性不到C++的三分之一!于是就出現(xiàn)了這種怪現(xiàn)象,許多學(xué)生考試可以拿八九十分,給他一個簡單的實際問題他卻不知如何下手!
還有UML,現(xiàn)在好象很火的樣子,我們讀研時就開了這門課,講句實話,當(dāng)時這門課我就沒聽懂,可后來我嘗試著用C++用面向?qū)ο蟮姆椒▉砭幊绦,然后,由代碼倒推回UML類圖,一下子就明白了,原來UML只不過是一種描述面向?qū)ο笙到y(tǒng)的符號罷了,如果學(xué)生沒進(jìn)行過真正的OOP,那就是為了學(xué)UML而學(xué)UML,根本就本末倒置。
還有軟件工程,我的感覺,一個人如果沒寫過一萬行以上的程序,他看軟件工程書就同看政治書差不多,每句都對,呵呵,就不知道為什么對。我完成了那個幾萬行的VB程序之后,再回過頭看看理論,真是句句是真理!每個理論背后都是大量實踐經(jīng)驗的總結(jié)。
回想我做軟件的體會,我發(fā)現(xiàn)所有的知識都是一個完整的體系,根本就無法區(qū)分哪些知識是本科的,哪些知識是研究生課程。于是,一種想法產(chǎn)生了,我主講程序語言類的課程,那我就直接以真實的軟件開發(fā)過程為主線,實踐中需要什么我就講什么。講C++,我就拋開了指定的教材,C++我講了STL,我講了OOAD,兩者我都講了用Rose進(jìn)行雙向工程,引導(dǎo)學(xué)生去學(xué)UML,一開始就用UML去描述自己開發(fā)的程序,何必浪費(fèi)大量的時間去學(xué)結(jié)構(gòu)化的編程方法?
我現(xiàn)在簡直成了面向?qū)ο蠹夹g(shù)的布道者,我下學(xué)期即將開設(shè)OOAD基礎(chǔ)選修課,從實際項目中抽取典型的案例,講UML,講Rose,講設(shè)計模式,講軟件體系結(jié)構(gòu),例子代碼橫跨C++和.NET下的開發(fā)語言(C#和VB.NET),這對于我一個技術(shù)水平有限公司的董事長而言,實在有點不自量力,我鼻子上才插上幾根蔥,就想裝大象?但我想,如果我能成功地激發(fā)出哪怕1%的學(xué)生的興趣,能引導(dǎo)他們走向我認(rèn)為是正確的方向,能啟發(fā)他們思考,能直接面向真實的軟件開發(fā)活動而不是學(xué)校的考試,就是我的成績。我現(xiàn)在正在看引進(jìn)的原版書籍《設(shè)計模式解析》,時時擊節(jié)贊嘆!《設(shè)計模式》經(jīng)典但難懂難用,而《解析》一書的兩位作者既有豐富的從業(yè)經(jīng)驗,又對OOAD進(jìn)行了深入的思索,真知灼見時時展露于書中,我現(xiàn)在剛看了這本書的80%,基本上可以用一個成語來描述這部書:深入淺出!
要做到深入淺出談何容易!只有同時具備技術(shù)專家與文學(xué)作家素質(zhì)的人才能做到!
反觀我們國內(nèi)的大量教材,還有大量的垃圾論文(包括碩士、博士的,本科的就算了,我看絕大部分根本不能稱之為論文),全都是“淺入深出”,作者自己都未必明白,就東拼西湊,擺出個樣子嚇人。本來完全可以用大白話三言兩語講清楚讓人明白的道理,有人專門要繞一大圈,專挑用高深的數(shù)學(xué)公式來表達(dá),唯恐別人容易理解,顯得他水平不高!呵呵,什么東西一沾上“數(shù)學(xué)”,立馬身價百倍。我就聽過一個北師大的一個在讀博士說過:如果一篇博士論文中沒有一個數(shù)學(xué)公式,根本就不算是博士論文。這句話對不對,大家可以多思索。我數(shù)學(xué)不好,沒資格討論數(shù)學(xué),我的直覺:數(shù)學(xué)是工具,但如果為了發(fā)表論文等目的而故弄玄虛,為數(shù)學(xué)而數(shù)學(xué),是不合道理的。中國的學(xué)術(shù)水平與現(xiàn)狀,大家都心知肚明,不用我廢話了。
現(xiàn)在每年都畢業(yè)大批的計算機(jī)專業(yè)學(xué)生,可其中真正具備扎實根基的可以很快勝任工作的我看只有5%(95%的學(xué)生不要扁我,不同意就當(dāng)我在說胡話,我很瘦的,一扁就沒了?)。多年以來,我國高校計算機(jī)教育是按照計算機(jī)科學(xué)研究者來培養(yǎng)的,可事實上,有多少學(xué)生能從事計算機(jī)方面研究的能力?我看應(yīng)分流,80%的學(xué)生按工程師方向來培養(yǎng),20%的學(xué)生按研究者方向來培養(yǎng),而且應(yīng)大幅減少必修課的數(shù)量,計算機(jī)領(lǐng)域太深太廣,樣樣都想教給學(xué)生,反而成了夾生飯,一個想從事硬件設(shè)計的學(xué)生和一個想從事軟件開發(fā)的學(xué)生,能給他們一樣的飯吃嗎?學(xué)校應(yīng)提供各種條件和資源去引導(dǎo)學(xué)生,激發(fā)學(xué)生的創(chuàng)造性與主動探索性,讓他們?nèi)L試,去發(fā)現(xiàn)自己的長處,最終找到最適合自己的發(fā)展方向。不這樣做,中國軟件后繼乏人,沒希望。五、實踐第一
201*年下半年,我和一個朋友去了北京郊區(qū)的一家雜志社,看到的情形讓我震驚:在信息產(chǎn)業(yè)最發(fā)達(dá)的北京,這家雜志社還用人工查對雜志訂單和款單,看著那按省來登記的幾大本厚厚的客戶登記本,工作人員需要手工來在其中查找相應(yīng)的信息。這樣的工作效率,這樣的行業(yè)信息化水平!北京如此,全國又如何?
從這件事上,我看到了中國軟件業(yè)的另一方面。一方面我們沒有核心技術(shù),另一方面,已有的技術(shù)又根本沒推廣沒用好。追蹤世界先進(jìn)水平,對于我等這種水平的人來說,確實勉為其難,但將已有的技術(shù)用于解決實際問題,卻是我們可以做的。如果中國各行各業(yè)都真正能通過進(jìn)行信息化而提高生產(chǎn)效益,那中國不就從根本上強(qiáng)大起來了嗎(象印度,IT一枝獨秀,其他行業(yè)沒有起色,我稱之為跛足的國家,絕不能成為世界強(qiáng)國)?在扎實的社會基礎(chǔ)之上,軟件業(yè)不就有了更大的市場與發(fā)展?jié)摿?中國許多行業(yè)的信息化水平非常低,而且中國地域廣大,發(fā)展非常不平衡,有些地方信息化水平甚至為0!努力推動行業(yè)信息化,是我們這一代軟件開發(fā)者的責(zé)任!而追趕國外先進(jìn)水平,恐怕就不是一代兩代程序員可以達(dá)到目標(biāo)的,需要長期的努力。作為一名軟件開發(fā)者,只能腳踏實地,哪怕你只做一個小小的MIS產(chǎn)品,也要盡力把它做好來。
于是,我開始了期刊發(fā)行系統(tǒng)的開發(fā),這完全是自發(fā)的,沒有任何資金投入,只有一種熱情在支撐。我開始選擇C++Builder開發(fā),做了幾個月,完成了第一個版本,但我發(fā)現(xiàn),我找不到足夠水平的C++程序員進(jìn)行合作開發(fā),而且整個一個exe文件,在體系結(jié)構(gòu)設(shè)計上雖采用了分層分塊的設(shè)計方案,但卻是源代碼級別的,要拆分成COM組件難度太大,不是一個人能完成的,于是中途流產(chǎn)。201*年3月,我開始系統(tǒng)地學(xué)習(xí).NET,我吃驚地發(fā)現(xiàn),我原來想在C++中實現(xiàn)的許多功能,比如對象串行化為XML,在.NET中已有現(xiàn)成的類可用,.NET更把OO的功用發(fā)揮到了極致,它的混合語言開發(fā),它的反射機(jī)制,它的新的自識別的軟件組件,以及強(qiáng)大好用的開發(fā)環(huán)境VisualStudio,都讓我驚嘆微軟對開發(fā)者遇到的困難的深入把握,相比用C++開發(fā),至少可以提高1/3的開發(fā)效率。于是一個新的想法產(chǎn)生了,我要把以前的產(chǎn)品用.NET重寫,利用.NET強(qiáng)大的組件模型,將設(shè)計模式理論推廣應(yīng)用到組件級別,通過XML和反射機(jī)制建立一套可動態(tài)裝配的軟件生產(chǎn)流水線,實現(xiàn)象Dell直銷PC那樣的軟件動態(tài)裝配直銷。只要建立好靈活可不斷重構(gòu)的系統(tǒng)架構(gòu),配以對業(yè)務(wù)領(lǐng)域的深入分析,逐步建立功能強(qiáng)大的業(yè)務(wù)組件倉庫,就可以實現(xiàn)軟件系統(tǒng)的動態(tài)裝配。說干就干,我用VB.NET重寫了原先用C++編寫的系統(tǒng),將原先的一個exe變?yōu)槭畮讉dll,而且這些dll還會隨著發(fā)展而不斷地分裂,也有可能重新組合,利用refractoring(重構(gòu))不斷進(jìn)化,最終形成一整套完備的行業(yè)軟件組件庫。做軟件關(guān)鍵因素是變化,只有適應(yīng)變化的系統(tǒng)才是有生命力的。
我用兩個月的時間大體上弄清了.NET平臺下的主要類庫,然后又用兩個月的時間再次重新實現(xiàn)了期刊發(fā)行系統(tǒng)的C++版本的全部功能,到8月份我寫這篇文章之時,第一個產(chǎn)品里程碑已經(jīng)完成。同樣的,除了需求是由另一個合作者去搜集的之外,幾乎又是全部由我一個人包攬了所有的系統(tǒng)設(shè)計及編碼工作!
毫無疑問,我自覺得新系統(tǒng)要比老系統(tǒng)可維護(hù)性強(qiáng)得多,真正實現(xiàn)了徹底的全組件化系統(tǒng)開發(fā),計劃再有一個月的界面美化,改正bug,引用多線程提高運(yùn)行效率,優(yōu)化系統(tǒng)結(jié)構(gòu),就可以提供給用戶試用了。市場如何,難說難測。
在開發(fā)過程中,我再次感到巨大的挑戰(zhàn),不光是技術(shù)上的,更是管理上的。人才是我最頭痛的問題,沒有一流的人才,哪來一流的產(chǎn)品?我們找不到足夠水平的程序員一起合作(牛人哪屑于做這樣一個小兒科的產(chǎn)品?)我們要走的路還很長。也許我們開發(fā)的產(chǎn)品是失敗的,但我從來就沒指望能用這賺錢,我只是盡一個軟件開發(fā)者的責(zé)任而己,成敗已不重要!人生不嘗試,怎能體現(xiàn)人活著的價值?剛好我編的程序告一段落。于是就crazy地敲鍵盤,一鼓作氣地把下篇寫完了。心中有好多話一次就說個痛快。
看得越多,想得越多,我就越困惑,人啊,你活著到底是為了什么?又整天忙忙碌碌地追求些什么?我這十年,我都不知道怎么說了!大家自己看吧!結(jié)束語永無止境的軟件之路一、辛酸與苦辣
做軟件開發(fā)很苦的,技術(shù)進(jìn)步如此神速,每個軟件開發(fā)者都得不斷地學(xué)習(xí)以跟上發(fā)展的步伐。有時我常想,何苦呢?我現(xiàn)在在大學(xué)中混,怎么樣不能混下去?為什么要做這些吃力不討好的事?我投了十年的時間去學(xué)習(xí)電腦,卻最終發(fā)現(xiàn)自己不過中人之資,離頂峰遠(yuǎn)之又遠(yuǎn)。古語云:三十而立。我今年32了,仍是孤身一人,看看周圍的同學(xué),他們的小孩都差不多上小學(xué)了!許多都有了自己的房子和車子,而我到現(xiàn)在才開始申報中級職稱,還擠在集體宿舍中,望著北京高昂的房價而嘆息,F(xiàn)在社會越來越功利了,看著象我這樣的窮光蛋,看著由于長期面對電腦缺少鍛煉而瘦弱的身軀,又有哪個女孩愿意嫁過來受苦?
軟件人的生活很苦,壓力很大,我認(rèn)為是拿青春賭明天。就是在這種惡劣的開發(fā)環(huán)境中,還有許多業(yè)外人士指手劃腳說程序員如何如何,還有太多的公司只顧壓榨程序員的勞動,缺乏對程序員基本的尊重,怎不叫人寒心?
“三十而衰”,這句本不應(yīng)該流行的話居然成了中國軟件人員的流行語。中國程序員的悲哀!二、無止境的追求
人類已進(jìn)入信息時代,計算機(jī)技術(shù)幾乎每隔半年就有一次大的變化,我現(xiàn)在又面臨著這樣的抉擇:今后的路如何走?
北大的教師聘任制度的改革一石激起千層浪,說明了中國高校的改革勢在必行。我是歡迎這種變化的,雖然到時我可能會下崗。但人生中總會遇到各種各樣的挑戰(zhàn),只要你不倒下爬不起來,就有希望。
我想我必須再次讓自己有個提升,要從小事做起,但做小事則絕不能成為最終的目標(biāo),也許,不遠(yuǎn)的將來,我會走出國門,到世界軟件技術(shù)最發(fā)達(dá)的地區(qū)去汲取豐富的養(yǎng)份。今后的路怎么走,我還在摸索之中。三、人生無悔
人生年華如水,時光無情。在過去的歲月中,我盡了自己的力,回顧往事,我可以說:過去的事只有遺憾,卻沒有后悔。如果給我再一次選擇職業(yè)的機(jī)會,我還會再次選擇軟件!
再過10年,到201*年的時候,我也許會再次寫一篇人生的十年回顧,到那時中國的軟件會如何?中國軟件的明天靠你我這些普通人去扎扎實實地去工作來支撐!少發(fā)些牢騷,多做些實事,中國軟件才會有光輝的明天。你我共勉!一個老程序員的心理話完成于201*-8-3北京201*-8-3中午14:33,在我的彈指神功之下,我寫完了這近兩三萬字的個人自訴。一點也不累,回想過去的種種感觸,仍然身在其中。
樓上一位兄弟說想看我的愛情故事,但人生不是小說,沒有什么浪漫的,我只能讓你失望了,我是孤單地在人生之路上走著,我就是這樣的一個帶著點悲劇色彩的人。
如果有人能有這上中下三篇文章耐心看完,我會謝謝你。如果有人能指點我,我感激你。好了,我去休息了,生活是一天天過的,不是嗎?
友情提示:本文中關(guān)于《十年程序員之路》給出的范例僅供您參考拓展思維使用,十年程序員之路:該篇文章建議您自主創(chuàng)作。
來源:網(wǎng)絡(luò)整理 免責(zé)聲明:本文僅限學(xué)習(xí)分享,如產(chǎn)生版權(quán)問題,請聯(lián)系我們及時刪除。