當時有兩個方向:網絡和數據庫技術。因為在2000年互聯網火熱的時候,市場上有CCNP和CCIE證書的人特別牛逼。所以我當時也拿到了CCNP證書,但是後來發現網絡方向涉及到很多硬件層面的東西,太依賴廠商,個人發展空間不大。而且我喜歡努力學習,所以慢慢開始專攻數據庫技術。
確定了數據庫的方向後,我開始深入研究數據庫的理論。當時我把人大王梓霏教授的《數據庫系統原理教程》這本書看了幾十遍。在學習數據庫理論的同時,開始深入學習DB2和Oracle,從1999開始使用DB2 V5.2。當時市面上關於DB2的技術書籍很少,互聯網也沒有現在這麽發達。因為我的導師需要使用DB2數據庫做壹個項目,而我只能通過閱讀DB2隨機文檔來學習。那時候我還兼職,幫別人做小軟件賺錢,加上項目資金支付OCP認證和DB2認證。
到現在為止,我壹直認為認證是壹個很好的學習動力。因為考試很貴,如果不想浪費錢,就只能好好學習。我在2000年通過了OCP 8i認證,後來又通過了DB2 V5.2認證。這些認證大大增強了我的信心。同時,在幫助導師用PB、Delphi等編程工具做應用開發時,我有意識地加強了對SQL的學習,這對我後期的性能調優工作很有幫助。
這裏我想說的是,做好壹個時期的人生規劃很重要。我們首先要有壹個明確的努力方向和計劃,然後有意識地朝著這個方向努力。這種主動學習比被動學習效率高得多。第壹次講座後,我看到了自己的差距,知道認證是不夠的。客戶的很多問題在書本上都沒有答案,需要妳在自己的實踐經驗上努力。另外,在講課之前,講師需要明確壹些原理和概念,也需要對數據庫進行深入研究。
後來IBM培訓部通過壹些渠道了解到我會講DB2,並且有相關證書,於是讓我去教DB2系列課程。所以從2001開始,我壹直以IBM官方講師的身份教授DB2系列的所有課程。我認為講課是壹個很好的學習過程,因為它對我在課前深入理解概念很有幫助。同時,學生在課堂上提出的實際問題會迫使他們做更深入的研究。
我對培訓有這樣的理解:學生聽妳講三個小時,遠勝於自己看書三個小時。如果把壹節課的內容比作壹杯水,老師至少要提前儲備壹桶水。所以在講課之前,我認真準備了實驗,和同學們進行了深入的交流。我講課從來不照本宣科,但是我準備了很多課本之外的實用知識來擴充課本的內容。同時,在課堂上盡量用通俗易懂的例子解釋壹些概念。想要做到這壹點,首先要對這個概念有深刻的理解,客觀上促進了妳的學習。
隨著培訓的增加,壹些客戶開始找我做實際的調機工作。記得第壹次去客戶現場優化是在2001,去大連大通證券解決鎖等待問題。客戶環境使用AIX和CICS。當時雖然問題解決了,但是心裏還是空空的,因為我不懂AIX和CICS。萬壹這兩方面出了問題,我自己也解決不了。這讓我意識到,壹個復雜系統的調整往往需要具備各種知識。這件事之後,我在網上買了壹臺140的IBM工作站PC,自己安裝了AIX,開始學習。根據我對數據庫的理解,雖然目前市場上有Oracle、DB2、Informix、Sybase和SQL Server數據庫,但是Informix數據庫已經被IBM收購,而Sybase數據庫正在走向技術和市場,Oracle、DB2和SQL Server數據庫占據了主要的市場份額。SQL Server數據庫很好,可惜只能在Windows平臺上使用。所以如果妳深入研究SQL Server數據庫,我只能說拿高薪的概率略低,而且坦白說,使用SQL Sever數據庫的企業大多是中小企業。國內做Oracle數據庫的人太多了,要想在Oracle領域出人頭地,難度極大。但是做DB2數據庫的人不多,東西又少又貴。而且DB2數據庫還廣泛應用於銀行、電信、制造業、零售業、保險業等“高薪”領域。,所以我強烈推薦學習DB2數據庫,做IBM技術拿高薪的概率相對更高。我們的時間和精力都是有限的,壹定要選擇好的方向,並為之努力。除了SQL Server,我正在使用所有這些數據庫。個人感覺DB2相對於Oracle無疑是最穩定的優化器,它的優化器極其強大。如果在鎖定方面有更先進的技術,DB2將是完美的。
在此期間,我邊學習邊通過了AIX的所有認證。我記得很清楚,我花了很多時間做HA的實驗。因為那時小型機沒有今天這麽普及,所以不可能得到7133個數組。後來了解了CICS,WebSphere,MQ,存儲。就這樣,在我訓練的過程中,當我發現自己的弱項是什麽,覺得這個方向有前途的時候,我就會開始學習。但是,當時我的技術主要是圍繞IBM的產品。因為我對培訓比較用心,深受客戶好評,所以越來越多的國內培訓機構來找我培訓。在這期間,我自己的技術水平也提高很快。
2002年6月,我參加了第壹屆“IBM DeveloperWorksLive!中國2002”大會,並首次在中國獲得IBM評選的“傑出軟件技術專家”獎,在當時的六位獲獎者中排名第二。這個獎項客觀上幫助我擴大了我的客戶群。更多的人來找我解決問題,於是2002-2003年成為我技術提升最快的兩年。
在過去的兩年裏,我先後學習了HP-UX、WebSphere和MQ並通過了認證。我自己的感覺是,如果妳把壹項技術學得很深入很透徹,就會很容易因為類比而學會另壹項技術。因此,在學習了AIX,然後又學習了HP-UX之後,我感到非常輕松。同樣,在學習ORACLE和DB2之後,學習Informix也很容易。通過這種縱向和橫向的對比,各種產品的優缺點會非常清晰,其技術視野也會在不經意間更加全面。而通過對壹款產品的深入研究,往往可以發現這款產品的不足和需要改進的地方。以DB2為例。每次版本更新的新功能我都能在新版本發布前猜到。這主要有三個原因:壹是我貼近真實用戶,了解他們的真實需求;第二,我壹直在用,不斷總結自己的想法;第三,這些特性在其他數據庫中可用,但在DB2中不可用,這將在下壹版本中增加。所以相對來說,我學習新版本的新功能是非常容易的。就DB2而言,我擁有DB2 V5.2、V7.1、V8.1和DB2 V9的所有認證,應該是國內第壹個通過DB2 V8所有認證的人。當然,也有壹些巧合。
很重要的壹點是:在學習的過程中,要不斷的把實踐和理論結合起來,我們會更了解為什麽會這樣,這樣我們的提升會快很多。