讀古今文學網 > 顛覆者:周鴻禕自傳 > 封閉開發——一個程序員的本我狀態 >

封閉開發——一個程序員的本我狀態

去新疆之前,關於我的傳聞就先於我本人抵達了北大方正的新疆分公司。大家都知道這裡要來的是一個什麼樣的人——一個目中無人的年輕人。我去新疆報到的時候,已經能夠感覺到這種嚴陣以待的氣場,但是這絲毫沒有影響我蓄勢待發的情緒。在到達新疆之前,我就已經想好了,我一定要爭取做一點實事,來證明自己。

基於這種心態,那個狂妄自大的年輕人的形象到新疆之後就消失了。到新疆之前,我把惹禍的筆記本電腦退了,自己在北京的中關村重新攢了一台電腦:奔騰的處理器、16M的「超大內存」、17英吋的大屏幕,還有CD-ROM,能播放VCD。當時Windows 95剛剛發佈,這個配置已經是超級豪華的配置了。我不但自己掏腰包購買了這套裝備,還自己扛著電腦坐飛機到了新疆,這讓同事大為詫異。為什麼一個人來上班,還要自己帶辦公設備呢?

我沉了下來,蓄勢待發地準備做事了。

因為之前的種種傳聞,我被分到了一個邊緣組,組長陳銘新是個不錯的人,我倆竟然還挺對脾氣。他知道我在總部的種種出挑的行為,對我說:「你只要不搗亂,業務方面你能做多少就做多少吧。」言下之意,只要我在新疆不惹是生非,他願意把我供在組裡。

但是,我永遠也不會接受一個被「包養」的結局。

到了新疆,大家的主要任務是給銀行編系統,用的平台是Sco Unix,惠普的小型機,典型的雲結構,所有的終端都會掛在上面。我對銀行的業務其實一點興趣都沒有,但是,他們也要開發界面,做人機交互。我一看這個立刻來了精神,畢竟我瘋狂地遊走過深圳科技市場,並走火入魔般地研究過上百種軟件。對於人機界面交互,我是非常擅長的。

我的研究生畢業設計用的就是Visual C++,最令人驚訝的是,它有微軟基礎類庫(MFC),它有一套自動化編程的東西,讓你所見即所得地拖拽一個界面,幫你自動生成消息循環。

有了之前的種種積累,我自告奮勇地對同事說:「我可以先給建設銀行的這套東西做一個菜單系統。」同事紛紛表示不太相信。但是我很快開始了沒日沒夜地封閉開發的過程,和大學期間做數字電路檢測一樣,我用一個引擎,把配置文件讀了出來,再根據菜單來讀不同的程序。僅僅花了一個星期,我就真的做出了這個菜單系統。

這種腳踏實地的工作態度,很快就獲得了積極的反饋。大家紛紛感歎我的工作速度是這麼快。我通過第一件事情證明了我不僅僅是個能說會道的人,我也可以做事。從這個時候開始,同事對我的態度開始轉變了,他們都開始支持我了,而我也通過第一個項目建立了信心。我正在進行著很多人在社會化的過程中進行的事情,首先是碰壁,然後知曉,最後是對自己的行為進行修正。

接下來,我在新疆又花了半年的時間做了一件事情,就是給建設銀行做可視化編程,包括所有的對話盒、按鈕、對話框,基本上Windows裡的這些控件,我都實現了。

我把所有帶格式化的域在建立窗口表格的時候都做好,一旦輸入的域不對,系統就不讓你輸下一個。這樣一來,同事只需要按照需求填函數體就行了。但這也只是做客戶端界面,和數據存儲方面還是沒有結合起來,這樣使得他們輸入數據後還要自動往表裡插,涉及幾十種庫、上萬個標段,很複雜。我趁熱打鐵,做了一個數據字典翻譯器。也就是說,我編了一個能夠理解這個數據字典的程序,在內存中建一個知識庫,包括很多數據庫定義。

簡而言之,所有的查詢我都把它給自動化了。所有的查詢你只要開始,我就可以根據表之間的關係,在表之間建立鏈接,把數據顯示出來。

這得益於我大學時期數據庫理論學得比較好,而且又使用了我做研究生畢業設計時所得的知識。當時這個項目我做了大半年,以我為主,李釗後來也幫我一起做。

當產品終於做好的時候,建行內部轟動了。大家認為這是一個很獨到的思路。如果方正當時對產品比較敏銳,應該是做一個基於字符終端可視化的產品。銀行的開發人員雖然是專業出身,卻並不擅長做這套系統,而當時很多公司做系統集成都是靠打單,未必是靠實力。所以,系統的成功,也成了一次性的成功。

不過,這件事情改變了公司老闆對我的看法,也讓我在北大方正的路越走越順了。

回想在新疆潛伏的整個過程,這段人生經歷對我有很大的啟發。

我發現,當時在新疆和我一起工作的一些年輕人,他們認為自己被發配到邊疆,幹的事情不太主流,也沒有太大的意義,就喜歡在那裡混日子。但是,我當時是知恥而後勇,沉下心來做事情,沒有發牢騷。有了這樣的態度,最後我們把不起眼的事情做出了不同的結果。

我還發現了生活中一個重要的真諦——無論你做什麼,所有不經意的努力都不會白費。比如,我研究生畢業設計使用的是Visual C++,我上大學時研究的Unix,為了這些程序,曾經有一段時間我到了不吃不睡的程度。而這些積累給了我爆發的機會,讓我可以在新疆交出一份漂亮的答卷。這些系統主要是我一個人在做,從策劃到編程,到對大型系統的分析和把握。我之前的瘋狂,最後得到了有益的回饋。

最後,我感受到了腳踏實地的妙處。之前經歷過山寨平面系統的失敗,我意識到我再也不想投機取巧了。有了這樣的認識,在工作中對於即使是「邊角料」的事情,我也會認真去做。深入簡單事情的底層,你會發現一個更複雜、更精彩的世界。

在被發配到邊疆一年之後,我終於回到了北京。