我的編程生涯開始于90年的暑假,我小學(xué)剛畢業(yè),無聊的暑假讓我產(chǎn)生了學(xué)習(xí)電腦的的念頭,在一位親戚的朋友家里,我見到了平生第一臺(tái)電腦,一臺(tái)黑白顯示屏的筆記本電腦。而后憑著一本厚厚的DOS操作指導(dǎo)和一份原始的Basic編程書,我寫下了一生中第一行程序:“print 3+2”,當(dāng)電腦正確的顯示5的時(shí)候,那種激動(dòng)的心情真是難以名狀。電腦這種東西的確最能引起孩子的興趣。在我激動(dòng)之余,埋下了從事軟件開發(fā)的念頭。 此后,我雖然有過一些斷斷續(xù)續(xù)的編程學(xué)習(xí),但在中學(xué)的6六年里,由于學(xué)習(xí)的壓力,同時(shí)自己也沒有計(jì)算機(jī),我的編程生涯基本是空白的。直到96年考入大學(xué)的計(jì)算機(jī)系之后,編程生涯才又重新開始。父母為支持我的學(xué)習(xí),在家庭經(jīng)濟(jì)極其困難的情況下給我買了一臺(tái)電腦。大學(xué)的編程是幼稚的,但卻充滿激情。什么小游戲,小工具,各種語言都試試,各種軟件都玩玩。我?guī)缀醢惭b過市面上所有的linux版本,試遍了當(dāng)時(shí)所有常見的編程工具,我經(jīng)常自嘲我們這一代編程人員都是盜版軟件培養(yǎng)出來的。在那個(gè)信息產(chǎn)業(yè)的泡沫年代,我在學(xué)校里雖然無緣加入那浩浩蕩蕩的軟件洪流,但我的心情卻無時(shí)無刻不被軟件領(lǐng)袖們的成功所激蕩,年青的心沉醉在硅谷的夢(mèng)想中,幻想著有一天自己也能像那些軟件英雄那樣取得輝煌的成功。
2000年,我畢業(yè)了,畢業(yè)之前我就加入了湖南一家較大的軟件公司,第一份工作是挫折的。我在一個(gè)項(xiàng)目組做醫(yī)院信息系統(tǒng)的開發(fā),混亂的代碼管理,基本沒有任何文檔,經(jīng)常誰都不知道軟件里面的代碼到底是寫了些什么,誰也不知道代碼的含義,一點(diǎn)都不像一個(gè)正規(guī)的軟件企業(yè),我感覺很糟糕。公司老板頭腦已經(jīng)發(fā)昏了,各類產(chǎn)品全面鋪開,什么教育軟件,游戲軟件,管理軟件,統(tǒng)統(tǒng)都想做,沒有一個(gè)產(chǎn)品有規(guī)模,沒有一個(gè)高質(zhì)量。最后還在全體員工的集會(huì)上大談公司發(fā)展如何順利,然后自豪的認(rèn)為,自己以后的工作就只剩下打高爾夫球了,公司管理交給自己的助手就可以了。我想公司的總裁就是這種水平,這個(gè)公司也就該玩完了吧。沒多久我就離職了。
2001年初我加入了深圳一家通訊設(shè)備公司,從事智能網(wǎng)軟件的開發(fā)。這家公司的老板倒是從來不談高爾夫。我一進(jìn)公司就成天聽他大談“冬天”,耳朵都能聽出老繭來。不過在冬天里干活可一點(diǎn)也不能含糊。大家伙都干得熱火朝天,累得死去活來。但我卻感覺我進(jìn)步了,并不是我學(xué)到了什么先進(jìn)的技術(shù),而是我學(xué)到了一種工作的態(tài)度。我發(fā)現(xiàn)周圍的同事都很牛,都有良好的教育背景,高學(xué)歷的人很多,但這么多牛人仿佛都在傻傻地做一些簡單的事情,代碼一行行的看,文檔一點(diǎn)點(diǎn)的寫,測(cè)試一點(diǎn)點(diǎn)的做。項(xiàng)目組內(nèi)鼓勵(lì)互相學(xué)習(xí)的氣氛很好,有時(shí)一點(diǎn)點(diǎn)的小技巧,哪怕是操作上的小技巧小改進(jìn),只要共享出來,都能獲得鼓勵(lì)和贊揚(yáng)。如果遇到了大問題,很難的問題,大家就一起的測(cè)啊,想啊,直到搞定為止。這的確是一個(gè)驅(qū)除你浮躁心理的好地方,雖然很累,但是慢慢的,你就會(huì)被這種傻勁所感染,當(dāng)產(chǎn)品逐漸穩(wěn)定下來,你會(huì)領(lǐng)會(huì)到什么叫做萬丈高樓平地起,因?yàn)橐淮u一瓦都是大家辛勤的汗水。編程生涯的艱辛和快樂,恐怕只有經(jīng)歷過的人才能有深刻的體會(huì)。
2002年我曾經(jīng)被派往公司的南京研究所工作過半年,回深圳后,我被指定負(fù)責(zé)一組印度員工的技術(shù)指導(dǎo)工作,這算是我和印度軟件業(yè)的第一次接觸。我看到印度員工能夠熟練地查找各種技術(shù)支持網(wǎng)站,迅速找到相應(yīng)的信息,測(cè)試用例和設(shè)計(jì)文檔也都寫得井井有條,給人的感覺比較職業(yè)化。尤其是英文不錯(cuò),給我留下了很深的印象。我一直是堅(jiān)定的漢語主義者,但從那之后我對(duì)語言有了新的認(rèn)識(shí)。這個(gè)世界有很多民族,很多語言,人類的文明需要交流才能前進(jìn),而這種交流需要一種通用的語言作為載體。再快捷的翻譯也無法代替直接的交流,而互聯(lián)網(wǎng)上關(guān)于軟件的技術(shù)信息也多為英文,我要繼續(xù)我的編程生涯,就絕不能輸在語言上。不然我如何領(lǐng)導(dǎo)外籍員工呢?經(jīng)過一番痛苦的努力之后,尤其是傻傻地背了不少單詞,現(xiàn)在我無論是聽說讀寫都不會(huì)比從小受英文教育的印度人差了。
之后我又和眾多中國及印度工一起,陸續(xù)為一二十多個(gè)國家開發(fā)過軟件,去年年底,我被派到了公司的印度研究所繼續(xù)從事軟件開發(fā),在班加羅爾開始了我常駐海外的編程生涯。在這里,我見到了很多印度同行。對(duì)印度的軟件業(yè)有了更深刻的認(rèn)識(shí),其實(shí)印度軟件工程師和中國一樣。有很多牛人,也有不少庸人,其編程人員的總體素質(zhì)和中國差不多,管理得當(dāng)能充分發(fā)揮其優(yōu)勢(shì),管理不好也一樣出亂子。說印度軟件工程師比中國人聰明我絕對(duì)不同意。但印度的軟件產(chǎn)業(yè)化做得比中國好。
在印度,大的軟件公司多且比較規(guī)范,軟件人員也有一個(gè)良好的職業(yè)晉升渠道,每隔半年就根據(jù)其表現(xiàn)進(jìn)行一次評(píng)價(jià),并決定是否提職和漲薪,大學(xué)剛畢業(yè)是助理軟件工程師,干一年左右可以升為軟件工程師,然后兩年左右可以升為高級(jí)軟件工程師,之后若干年可以升為系統(tǒng)分析員或技術(shù)領(lǐng)導(dǎo),然后是系統(tǒng)工程師,再后來是系統(tǒng)架構(gòu)師。各個(gè)公司晉升體系雖各有不同,但基本類似,軟件從業(yè)人員即使跳槽也可以保留原來的級(jí)別。開發(fā)人員可以走技術(shù)線搞開發(fā)一直干很多年,同時(shí)也有機(jī)會(huì)可以轉(zhuǎn)到管理線,擔(dān)任項(xiàng)目領(lǐng)導(dǎo)或者項(xiàng)目經(jīng)理,但如果你愿意搞開發(fā),干到很老都沒有問題,而且你的開發(fā)工作經(jīng)驗(yàn)會(huì)被認(rèn)為是很有價(jià)值。而國內(nèi)的普遍荒唐地認(rèn)為軟件開發(fā)只能搞到30歲,印度這里30歲以上的研發(fā)人員比比皆是,國內(nèi)10年以上的軟件從業(yè)人員則是鳳毛麟角。在這種錯(cuò)誤的指導(dǎo)思想之下,中國當(dāng)然會(huì)缺少有經(jīng)驗(yàn)的軟件從業(yè)人員,產(chǎn)生所謂之結(jié)構(gòu)失衡。
其實(shí)編程也就是一種普通職業(yè),沒有什么特殊的,和其他行業(yè)的白領(lǐng)工人沒有什么區(qū)別。班加羅爾到處都是軟件工程師,他們普遍薪水也不是很高,即使在大公司,一般軟件人員的工資折人民幣也就是三四千,小公司薪水更少。但我看他們都很知足的樣子,有自己的家庭和生活,很開心。相比之下,在國內(nèi)大家普遍認(rèn)為軟件業(yè)就是吃青春飯的。但愿國內(nèi)IT業(yè)經(jīng)歷冬天之后能夠回歸理性。不論是業(yè)內(nèi)人士還是局外人士,都能以一種平和的心態(tài)看待軟件開發(fā)工作,則是中國軟件業(yè)的大進(jìn)步了。
一轉(zhuǎn)眼我自己也從業(yè)好幾年了,也經(jīng)歷了大大小小不少坎坷的故事。不久前,就發(fā)生了一次。巴西的客戶對(duì)我們的軟件提出了極高的性能要求。我們的軟件在瘋狂的高速之下,頻繁出錯(cuò),形勢(shì)很是緊張。我們持續(xù)調(diào)測(cè)數(shù)周,也始終沒能最后穩(wěn)定下來,客戶很不滿意,領(lǐng)導(dǎo)下令無論如何都要搞定,否則就有可能失去這份訂單,那天夜里,我坐班加羅爾的辦公室里,和千里之外的深圳的同事一起緊張進(jìn)行模擬調(diào)試,一些小的問題已經(jīng)逐漸被排除了,但計(jì)算結(jié)果始終不對(duì),一直測(cè)到天亮,仍然沒有任何進(jìn)展,第二天下午,我已經(jīng)感覺頭上在冒冷汗了。大家決定背水一戰(zhàn),一定要把這個(gè)bug挖出來!于是我們分成三批,一批負(fù)責(zé)分析提供測(cè)試方法,一批負(fù)責(zé)編碼實(shí)現(xiàn),另外一批在深圳總部進(jìn)行測(cè)試。持續(xù)不停,輪番轟炸。終于,在那天傍晚,我們成功地定位了問題所在。辦公室內(nèi)大家起立歡呼,掌聲一片。誰能想到這個(gè)問題竟然是某著名大公司的數(shù)據(jù)庫系統(tǒng)的一個(gè)常用函數(shù)在高速運(yùn)行之下出錯(cuò)了!我們迅速修改了代碼并傳給了巴西。第三天,巴西傳來捷報(bào)。大家才終于如釋重負(fù)。事后,產(chǎn)品線經(jīng)理去了一趟南美,我才了解到由于最開始調(diào)測(cè)出很多問題,客戶非常惱火,聲稱給我們最后一次機(jī)會(huì),在最后一次測(cè)試過程中,公司巴西代表處的市場以及用服人員都待在機(jī)房,每個(gè)人都極其緊張,小心翼翼地按照客戶的要求進(jìn)行統(tǒng)計(jì)并核對(duì)數(shù)據(jù)的準(zhǔn)確性。每核對(duì)完一次,正確。機(jī)房里所有的公司員工都?xì)g呼一次。期間,公司一位巴西的客戶經(jīng)理竟然跪在地上,雙手合十,非常虔誠的為項(xiàng)目的成功祈禱,大家已經(jīng)不僅僅把這個(gè)軟件當(dāng)成一個(gè)項(xiàng)目,而是當(dāng)作自己親生兒子一般注入了感情!很幸運(yùn),我們終于順利通過了測(cè)試。真要感謝那些奮斗在遠(yuǎn)方的一線人員,正是他們辛勤的努力,才讓我們開發(fā)的軟件順利的走出實(shí)驗(yàn)室,沖向世界的五大洲。我對(duì)他們充滿了由衷的敬意!
工作就是這樣,痛并快樂著。我很慶幸我能在我短短的編程生涯中經(jīng)歷這么多的事情,我堅(jiān)信,更精彩的還在后頭等著我。
|