8.開始職業軟件工程師生涯
上班第一天,經理就給我分配了兩個BUG。一個是在一個界面上BUTTON位置有點歪,讓我把位置扶正。第二個是有一個SPELL ERROR,讓我改過來。我知道我這是新手上路,經理照顧我,給我最容易的BUG。可是我對產品不熟,又有幾千個FILE,讓我到哪兒去找?我找了2鐘頭也沒找到,急得我滿頭大汗,坐立不安。我發現我前面坐的那個中國人也坐立不安,他主動找我聊上了。原來他是個編程鬼才,大學二年級就出去做項目,在國內日子過膩了,移民加拿大混了幾年了。公司里的那點活,還不夠他一個指頭做的。天天閒着沒事,不好受。聽說我做不出來,他就來勁了,也不管我同意不同意,撲過來就要幫我做。他一看我這兩個BUG就樂了,說:你是怎麼混上的這份工作。我連忙說,不是我不會改,是找不到地方。他說,費話,找到了地方還用的了你改?就是讓你找地方的。我體會到,真正的編程高手,身上總是有壞毛病的。他一邊說一邊動手,兩分鐘就改完了。對我說,去交差吧,就要走人。我連忙說,你別走,你告訴我你是怎樣找BUG的。他閒着也是閒着,就給我講DEBUG技巧,第一課就是STRING搜索。教我用VC的STRING搜索工具,從SOURCE CODE中找BUG。從此以後,他幹完了,就來幫我干,然後再給我解釋為什麼這樣干,然後就要我陪他聊天。我就讓他完事快走人,經理看了會有意見。我是新手上路要小心點,再說我也要多花點時間熟悉業務,不能跟他老手瞎混。他是單身,下班也沒地去,太太常燒兩個菜,把他請到家裡坐坐。我們聊的挺投機。我這樣跟他學了三個月,自己就上手了。DEBUG都是些雕蟲小技,自己琢磨的話,要花年頭,別人要是一點就破。他以後還常把頭伸過來問要不要幫忙,我說,“去你的吧,老子自己會了”。後來這傢伙結婚時,我給他太太買了個寶石耳環寄去。我太太說我是個瘋子,怎麼能給一般的朋友這麼貴的禮物。實際上他是我職業軟件生涯的入門師傅,在我心目中是僅次於我博士導師的第二位。DEBUG這活就是那麼一回事,一般來說,只要找到BUG的大體地方,讀一讀上下文,就知道原作者是想放什麼屁,又沒放好。當然也有TRICKY的,就不細講了。
工作上手後,我對軟件局部的感覺不錯,最缺的是對軟件整體和OS的理解。我就主動把軟件的INSTALL程序和產品BUILD的工作接了下來。幹了一段時間,我對WINDOWS和VC IDE有了全面的認識。
我知道JAVA在美國已經熱了有年頭了。很想找個公司去練練JAVA的活。可是加拿大當時沒幾家公司用JAVA。費了很大勁才找了一家在加拿大的美國公司,那裡已用JAVA幾年了。INTERVIEW也很輕鬆,談好了日子,我辭了工作,就上班了。
9.瘋狂的點COM
老美公司水平就是不一樣,他們用的數據格式和中間件都是後來加拿大JOB市場上最搶手的。我是拼命的做,拼命的學,幾個月就上手了。
公司決定採用一種B2B平台軟件,派了公司的兩名業務骨幹去美國進修。那段時間我正好手頭沒活。頭就讓我自己先在家裡試這套東西。我把INSTALL說明一讀,意識到這是真正的大傢伙。最外層是WEB SERVER 和LIGHT CGI,向內是PAGE產生SERVER,再向內是CORBA SERVICE,最裡邊是數據庫。我第一周把軟件裝好,第二周把數據庫SCHEMA基本搞懂,第三周就寫了個模塊裝到我們自己的APPLICATION SERVER上來調用那套軟件的CORBA SERVICE,成了!頭看了後樂的合不上嘴。忙說,用CORBA風險太大,大多數的DEVELOPER都不習慣CORBA。你不調用他們的CORBA SERVICE,而是用JDBC直接把我們的數據放到他們的數據庫中,怎麼樣?我就說,軟件的說明書上明文禁止繞過他們的SERVICE,直接放數據的。這樣會破壞數據的完整性。頭說,那都是騙傻瓜的,不包括你這樣的。我最終悟出了他們控制數據完整性的機制,也做成了。公司的兩個技術尖子從美國回來後,就大幹起來,來問過我一次問題,我也沒聽明白,我就照我的理解說了一通,他也沒聽明白,再也不來了。反正幹了兩個月也沒出來,他們又不願意把我拉進去干,就要去找CONSULTING來干。頭不樂意了,明明我一個人都能幹的活,還要花大錢去找CONSULTING?過了兩天,頭不知怎麼犯混了,給大家發了個EMAIL,說本公司只有狗剩最了解新平台,有問題去問狗剩。我知道我是在這兒混不下去了。
那時就有招這個軟件平台的專業人員,出的工資都是天價。CONSULTING的要價都在每小時200美元以上。我想我要是在這個平台上再幹個一年半載的,自己開個CONSULTING公司,也去很很撈上一把。可是好景不長,點COM熱很快就熄火了。我出道是晚了兩年,要不也能大撈一把了。
此處不留爺,自有留爺處。爺說走就走。那時是點COM熱燒得最熱的時候。我發了一些簡歷,電話就陸續打來了。我一般都不理AGENT,只去了三家公司INTERVIEW,拿了兩份JOB。有兩家公司是打算把他們現有的東西轉到JAVA上去,INTERVIEW時就問我該怎麼辦。我滔滔不絕地介紹各種選擇和他們的利弊。INTERVIEW下來,就像當年當老師上完了課的感覺。那份沒拿到JOB的INTERVIEW最逗。我聽了他們介紹情況後,我就知道是個皮包公司,趁點COM熱到股市上卷錢的。INTERVIEW那傢伙提問,左一個HTML,右一個PERL CGI,我答了幾個就不耐煩了。就大體上說,你腦袋裡裝的是哪年的陳年濫穀子,你們要是找CGI或HTML的PROGRAMMER的話,就別浪費我的時間了(大體如此)。他說我們最終還是要用JAVA的。我心想,不懂就問,不要裝蒜。他可能是INTERVIEW我這樣的人,有屈辱感吧,也沒給我OFFER。這皮包公司雇了這麼個笨蛋來招兵買馬,也算倒血霉了。那時就傳說,有一些狗屁不懂的人,一年能騙三,四家公司,騙十來萬工錢。實際上這些公司也都是騙子。騙子騙騙子,好不熱鬧!倒霉的是股民了,哈,哈 。。。
我挑了一家上了班,另一家公司把電話打到我辦公室,問我為什麼不去他公司,我說了半天也沒說清,他就直截了盪地說,你開個價吧。我也是頭回經歷這陣式,也沒敢多說,就隨口開了個價。他就說你等着,我一會兒給你回電話。一會電話來了,說按我的要求給JOB OFFER,OFFER信已寫好了,就FAX到我家裡。我下班回到家,看到太太手裡拿着我的OFFER信,見我就說,就多這點錢,到底是去還是不去?去了不值當的,不去還挺可惜的。說着親熱的拉着我過去坐下來,繼續說,明天你再打個電話,讓他們再加5000塊,加了咱就去,不加拉倒。我說,你的主意還要你來打電話,就說我不去了,問一問太太頂替行不行?她一聽就知道我在埋襯她,就說,我又不懂你那個狗屎JAVA。
點COM熱不僅使行內的人心態失衡,也影響了行外的人。一個在大學當教授的朋友,找到我說,老子教授不想幹了,怎麼學JAVA?我一聽就樂了說,你的教授來的太容易,不知道珍惜啊。JAVA不是你這樣的人學的,還是回去老老實實教你的書吧。他是錯誤理解我的意思了,就和我急了,“我讀了這麼多書,搞了這麼多研究,才賺這點錢,你怎麼知道我不能學JAVA?”我連忙說,“那都是雕蟲小技,實在是不值得你去學。”
10.搬進新HOUSE,開始享受一下加拿大中產階級的生活。
瘋狂是要付出代價的。點COM熱很快降溫熄火。先是聽到股民嗷嚎的慘叫,然後就是陸續的LAYOFF。我想再跳工作也不容易了,還不如找個地方安定下來。
我們計劃買房子了。太太最興奮,找圖紙,聯繫AGENT,看房子,一路打先鋒。找到她中意的房子後就帶我去看。我也不挑剔,我們很快就定了房子,搬了進去。
那是2000多尺的中產階級住房。我們又留了兩萬塊添家具和電器。太太精心的做窗聯和小裝飾。還養了很多植物。一個溫馨的家很快就建成了。再加上門口停了兩輛閃閃發光的車,前後院翠綠的草坪,真是溫馨而富足啊。
我說我們算的上讀書之家了,要把最好的房間用來做書房。我們就用CEILING最高,有大窗戶朝陽的那一間。買了一個大的辦公桌,一個老闆椅,一個書櫥和一套沙發放了進去,我對老闆椅上一坐,那架試就像個CEO :)
因為在郊區,房子周圍有野鳥和野鴨子棲息。我們早晨都是鳥兒把我們從睡夢中叫醒。開始了我們一天悠然而又從容的生活。而最美麗的是從我門的後院,看日落的壯麗景象!
我們HOUSE的後面再也沒房子了。是一片一望無際的原野。我們全家坐在飯桌前,慢慢品味着太太準備的晚餐,從我們的後門向外看夕陽慢慢落下。夕陽和晚霞交相輝映,變幻莫測。大自然每天都給我們準備了不同的景觀,令我常常感嘆大自然的神奇和慷慨。我們第一次看落日壯麗景觀是在舊金山的海邊。而時隔幾年,我們可以從自家的後院裡欣賞到同樣的美景,這是當初想象不到的。
我手頭有一點CONTRACT活。有時周末靜靜的坐在我寬大的書房裡工作。兩邊鮮綠的植物伴隨着我。有時太太也在書房做手工。陽光透過窗紗,溫柔的瀉在我們的身上,增加了靜意和安詳。只能聽到我敲打鍵盤的劈劈啪啪聲。透過窗子看着孩子們在草坪上無憂無慮的玩耍,這又在這靜意上添了幾分從容。我們全家這麼心安理得的享受着社會和大自然給我們的恩賜,就像我們家祖上多代以來,已經過了八百年富足小康的日子。
(完)