個人資料
歸檔
正文

我的程序軌跡(轉)

(2004-10-24 05:44:51) 下一個

深圳、香港、新加坡 我的程序軌跡

20027月的深圳烈日炎炎。不覺已辭去工作近兩個月,仍在天天奔忙著麵試,尋找新的工作機會。我已經嚐試了好幾家公司,有小到隻有一個三房一廳住宅改造成的軟件公司,也有大到有幾棟樓宇的大型IT國企。從繁華的羅湖商業區到IT企業林立的南山科技園再到美麗的蛇口,我都跑了,結果不 盡如意。我的開價是8k/月,有的公司去後即石沉大海,有的公司希望我能降降價,有的公司想讓我合作作某某項目,我coding他們出工錢,相當於作短期外包,但coding量嚇死人,工錢才6k/月, 還有一家風險投資的老板想要我作一個新媒體傳銷的技術方案。我其實蠻喜歡去麵試,有挑戰性,又能接觸很多麵試的人,借機了解各家公司的要求和情況。每天晚上我都和新婚的妻子一起在 網上搜羅公司,發送簡曆。隨著時間推移,我開始感到生活的壓力越來越大;我每天都在考慮我的資曆、技術實力和今後的發展方向。

深圳

  從三級B證書開始

  在93年畢業後我選擇回到家鄉——內地一個美麗的小城市裏工作。非常幸運,我進入本地的一個政府機關,按照老一輩的說法,捧上了鐵飯碗甚至金飯碗。工資每月不足1K大洋,但經常有人請客吃山珍海味,而且還顯得威風凜凜。我渾渾噩噩地過了7年,到最後仍是個小職員。我是學經濟的,但偏好玩計算機,除了完成打字開票據作報表的一些瑣碎工作,大部分時間就是不務正業去研究計算機的原理以至最後辭職時除了考了個從來沒用過的非專業計算機三級B證書外一無所成。有時想想覺得很無奈,誰叫當年念大學時選錯了專業。好歹現在興趣和專業是一致了。興趣和毅力才是發展之本。

  2000年底我滿懷憧憬地來到這個讓我向往已久的城市,IT的泡沫當時卻已經沉到了水底。我終於在華強北找到了一家作安防產品的係統集成公司,同意試用期內最高工資4.5k/月接收。

  這家係統集成公司的麵試很簡單,隻是問了一些Delphi編程的簡單知識,麵試的L經理大概覺得我和他合得來,就同意我的要求,讓我進來了。進來後我才發現,這個公司的R&D部門隻有我和他兩個人,主要業務是作工程的,R&D是作後勤配合的。

  在這公司我的工作很簡單,主要是用Delphi為引進的國外係統做點小的基於數據庫的定製,這對我來說相當輕鬆。我的興趣常在C++Windows平台技術,大多時候我都把一個Delphi小應用做得很花俏,看得L經理眼花瞭亂。

 與老板的首次暗戰

  在2001年春節,公司中了一個投標項目,為某某大公司作門禁係統二期,其中的軟件部分是關鍵。老板急得跳,因為不能再定製了,要基於該硬件協議開發一整套軟件並且要提供與該公司的Oracle數據庫應用程序的接口;L經理暗地裏跟我說不要管,因為老板一直不加他的工資,這事情如果我們接了累死累活也是白累,還不如找外麵人來做。

  於是老板找來一個台灣人做統領,還找來兩個臨時的打工仔做配合。台灣人帶來一套好多年前他編的寶貝,揚言小case,會很快搞定新的Requirement,老板聽了樂得嘴都合不攏。台灣人的價錢是每月三萬,不給源碼。L經理和我說,要是老板給3萬我們,什麽東西都會做出來還白送源碼。

  台灣人一直不肯讓我們看到源碼,躲得遠遠的修改他的代碼。直到第一次現場集成測試,一大堆問題浮出了水麵,有通訊上的, 有數據庫上的,事情變得很緊急很糟糕,我立即建議和老板一起開會討論下一步的解決方案,在會上我從容的談了我的看法,並提出了一些應急措施,我用VC來寫ODBC數據庫接口及通信部分的代碼,台灣人要把源碼公開出來讓我們一起解決等等。最後我的意見被采納,第一次集成測試pass。我第一次看到台灣人的寶貝源碼,亂七八糟得可以,到處是補丁硬編碼,非常難於維護。

  這次和台灣人的合作給我在2003年後在新加坡與香港人合作過程中的確有不少幫助。他們都和我一樣,有著這或那的缺點,但都非常自信。

  到二月中旬,我的3個月試用期轉眼已過去一個月了, 但工資還是保持不動,老板老是推托事多沒空和我討論。我便和L經理商量轉正工資的事,這是非常好的時機,我已經在這個項目裏取得了主動權,L經理,台灣人和兩個臨時打工仔都會聽我的,而軟件演示定在3月中旬。L經理和我很快站在了一個立場上:立即加工資加配筆記本電腦。老板很惱火,但也不得不當夜從香港帶了兩台筆記本回來,並且打電話給我,工資調到6k,轉正補差明天就辦。L經理也加了一千每月,樂不可支。第一次和老板交手,我們贏了。

  在我拿到的轉正工資及一分錢不少的差額(1 - 2月轉正)時,工程部一個河北的小女孩正在傷心的哭泣,她進這個公司近6個月了才轉正,可三個月差額不再補給她,相當於變成了6個月的試用期。她幹得很辛苦,經常通宵達旦做標書,可連正眼都沒一個,無情的老板。

  第一個失敗的項目

  雖然我得到了我想要的位置,而3月份的項目演示還是失敗了。我一直沒有意識到這僅僅隻是要作一個演示係統,然而我卻過份沉溺於技術細節以至於最後根本連最基本的東西沒有做完調試好。演示時出了大量的問題,很令人沮喪的結果。L經理和我一樣缺乏經驗。我有點傷感但很快平衡了——我不比專業人員差。

  在隨後的1年多,老板開始重視軟件開發這一塊,同意我和L經理的建議,我成為了這家公司的軟件經理,L經理是硬件經理,由我招兵買馬,一時我們的隊伍達到8人之多。

  隨著我對MFC/ATL的逐漸熟悉,我開始在隊伍中推動使用VC加基於COM/DCOM/COM+的中間件與分布式技術,在工作分配上,我把接口用IDL寫好,按照聯係緊密程度進行劃分;而L經理不熟悉這些東西,他就象他說的已經沒有動力再學新的東西,一直沒有技術上的進一步發展,他感到會被逐漸淡化出局的壓力,我們之間不時出現爭吵,距離越來越大。

  2001一年下來,我寫了不下4萬行的C++代碼,但卻始終離一個真正監控平台老板的想法很遠。這隻是國內一家很小的係統集成商,沒有任何軟件開發的經驗和積累,我感覺到自已能力有限,有負老板重托,我再一次走到了發展的盡頭。做軟件不僅僅是寫代碼。我越來越想到一家真正的軟件公司去學習新的東西。

由深圳到香港

  我從來沒想過會去一個新加坡軟件公司工作。當我20027月第一次來到這個公司麵試時,在做完C++/VB/COM/IQ等一係列試題後,兩個穿得整整齊齊的小夥子麵試我:你的得分很高,多謝誇獎,你介意加班嗎?我說不,相反我喜歡,你有什麽缺點?我想了一下,哦,有,晚上加班後第二天會起不來。對不起,能問一下你們公司是哪的嗎?新加坡的一家上市企業的下屬軟件公司。同意我的8K試用期工資嗎?沒問題。就這樣我進來了。

  新加坡上市公司

  我初進這家公司的身份是開發人員,感覺很新鮮。首先項目都大得我從來沒見過,動則上億。其次所有的項目都是香港或國外的,所有的文檔包括Email都是英文的,後來我才知道,雖然新加坡人會講國語,但卻鬥大的中文認不到半羅筐。我的英文不好,但很快也習慣了。多虧中國的英語教育體係,學了十多年,雖然半句英文都難出口,象聾子啞巴,但開著金山詞霸寫英文俺還是能湊合湊合。另外一個現象,幾乎所有的人都象是工作狂,每天到晚上20:00公司還是坐滿了人。難道新加坡公司都這麽敬業?

  這兒的階層劃分非常不明顯,人和人之間的關係比較平和,所謂的Team Leader都和我一樣要參與編碼測試,所有人都是直呼其名,對老板或董事長也不例外。老板是個新加坡人,其實也是個打工仔,相當於新加坡外派到深圳的經理。他絕大部分時間和我們在一起,基本上隻管項目進度和與新加坡或客戶聯絡,有時也會參與需求分析,他對軟件開發的了解顯然比原來公司的老板要高出很多個數量級。但是他卻很扣門兒,連一起和大家出去吃快餐也是AA製,每人10元不等,而他一個月差不多有3萬新幣,相當於15萬人民幣的收入,年底還有分紅。不過說實話,我還喜歡這樣的工作氛圍。覺得象是在做事,求發展吧。

  聞所未聞的大項目

  試用期裏我還呆在深圳,我最初參與的是兩個基於J2EE的解決方案的演示項目,演示地點在香港,一個V項目,一個B項目。招標總金額都在幾個億以上。Demo項目周期剛好是3個月。開發的流程大體相同,每個項目差不多6個人,確定了總體框架後,把要交待的功能點列出來,分配到各個人手裏,每隔幾天集成一次,即所謂的Iterative development。每個iteration結束都會完成一部分功能。

  V項目中我隻是參與了一個次要功能的定製,是一個基於Windows的中文字體製作和輸入法的擴展的解決方案,我通過配合一個COM+服務器,在客戶端用代碼插入技術把一個Windows上的已有的一個桌麵應用變成了一個分布式程序,解決得很漂亮,大部分的功能都不用寫了。在做完V項目後項目組中3個人即去了新加坡。剩下三個包括我加上另外三個開發人員轉入B項目的開發,由於V項目裏我表現出色,B項目裏我開始負責主要的應用服務器邏輯。

  B項目和印度第二大的軟件公司合作,我們負責移動通信和調派部分,他們負責SAP的安裝和定製。我們還要負責開發和他們的接口。

  我在這裏首先學會的是如何快速開發一個Demo係統。在兩個月內想作完一個價值數億的項目是不可能的,沒關係,把數據庫當內存使用,隻要你能正確快速地實現功能,我的Team Leader這樣告訴我。在這個指導下,雖然我幾乎沒有用過Java,也在幾個星期內完成了要求的Demo應用服務器邏輯層設計。效率低點,500毫秒嗎?夠了,遠遠滿足Demo的需要了,千萬不要鑽到技術的牛角尖裏,時時想著自已在為誰作,要作什麽,記往我們賣的不是自已的技術而是用戶需要的功能。這的確是非常非常重要,如果再要我回到2001年重作當時那個標,我肯定能拿下。

  我們在十月底到了香港做最後的與SAP的集成測試。印度公司出的是一幫10來個黑不溜秋的印度人,嘰哩咕嚕不知說的是什麽英語,我基本一句聽不懂。情況十分糟糕,接口存在大量的差異,我們給他們的XML他們居然不懂如何處理,他們一大幫人居然沒一個會Coding!他們要求全部改成標準的文本文件來交換信息,但是又不知道如何控製多進程讀寫衝突,流程幾乎無法進行下去,我簡直無法相信這是SAP的水準。我們原來的工作必須要做很大的改變,我們必須去適應他們。這次的教訓為我在兩年後設計一個雷達係統的接口時積累了寶貴的經驗。

  能壓死人的壓力

  剛進公司時,同事和我說,在香港工作壓力很大,不是人過的日子,我還很難想象,直到這時才真正體味到。印度人在不斷的報怨以顯示他們Ready了很久,聽著他們的嘟囔經常會有種要跳過去扁他們一頓的衝動。我們的處境非常糟糕,天天有一大幫經理們在耳邊催,好了沒好了沒;催得人腦袋一片空白。幸虧有老板在,他白天組織與SAP的集成測試,開會和印度人討論最後的接口,晚上參與我們的修改,負責逐一檢查每個邏輯的正確性。在最後演示的那一個星期裏大家平均每天睡不到3小時。星期五Demo日晚通宵旦,好歹pass過了,在調試完畢後,一早7點鍾即到會場安排布置。演示開始時,我已經處於半夢半醒狀態,坐著坐著頭就會墜下,迷迷糊糊聽著老板在談笑風生向客戶介紹我們的Demo係統,超人!

  B項目結束,我轉正了,工資升到了10K。我的Team Leader對我的技術打了個很高的分,但對我參與的Leadership(領導精神)給分很低。我奇怪,我不是Leader為何要給我評Leadership? 老板告訴我,Leadership是說不要隻表現你這一塊,係統是個整體,任何一部分好不等於全都好;不是每個Leader都是神,每個人都要挑起leader的責任。這話我一直牢記在心。在1年後我帶隊做項目時,我也會要求每個人不僅隻是關心他的部分,也要關心整個項目;項目是每個人的,不是項目經理或Team Leader一個人的;每個人都得負起這個責任來。這就是Leadership!

由香港到新加坡

  2003年初,當我第一次踏入新加坡時,感覺非常好,幹淨清爽的城市,人都那麽彬彬有禮,巴士上一丁點不擁擠。我會在這裏生活半年,太好了。

  但是項目的內容卻不象我想象那樣是全新的項目可任我發揮,那是一個已經完成並投入使用了的項目M,客戶在香港。我過來的任務是熟悉別人做好的係統,在新加坡人的領導下做一次半年一期的維護工作,然後再將維護工作再帶回深圳做。

  印度同事

  我被安排在一個大約30個平方的房間裏,房間名字就是項目名字M。沒有窗戶,看上去更象個倉庫。放了十來台電腦,都是三年前的古董,跑著NT4/Win98這樣的操作係統,M項目的全部軟件也裝在上麵。

  和我搭擋的新同事是一個叫賓杜的印度婦女,大約30出頭,黑黑的,總穿著印度人的長外套,有時還會在脖上掛一條長長的圍巾,我很少看到她。她在這個項目裏已經3年了,主要作coding。她隻和我同事了兩個月不到便辭職而去,我後來也能體會到為什麽她會辭職這個項目要麽搞掂它,要麽被耗死在裏麵,她不能作到第一點,也不甘心最後一點,隻好走中間道路。她是這個項目裏最後一個Developer(

[ 打印 ]
閱讀 ()評論 (3)
評論
目前還沒有任何評論
登錄後才可評論.