資訊技術的發展時間雖然不長,但其爆炸式的發展速度使資訊技術迅速覆蓋社會和人類生活的各個角落。程式員們是這場資訊化浪潮的見證者之一,更是其中的主要參與者,這是時代賦予每個程式員的機會和責任。
資訊技術的更新速度是驚人的,程式員的職業生涯則是一個要求不斷學習的過程,永遠不能固步自封。本人在工作期間曾看見過很多程式員只要有閑暇時間就瀏覽一些沒有太大作用的網頁,在網路聊天,打遊戲,浪費了大量的時間,十分不可取。而另外一種情況是,IT技術的日新月異使很多程式員眼花繚亂,什麼都想學,卻又不知從何學起,今天看看這個,明天學學那個,貪多不熟。
雖然IT技術發展迅速,但很多技術都是有規律可循,一些基本的概念、原理和方法還很通用,可以舉一反三。本人根據自己的體會和經驗,向那些剛剛踏入IT行業的新程式員們或正在迷茫的程式員們推薦程式員必須掌握的七種武器,有了這七種武器,雖不敢說笑傲江湖,但將自己立於不敗之地還是可以的。
第一種武器:開發工具
至少熟練掌握兩到三種開發工具的使用,這是程式員的立身之本,其中C/C++和JAVA是我重點推薦的開發工具,C/C++以其高效率和高度的靈活性成為開發工具中的利器,很多系統級的軟體還是用C/C++編寫。而JAVA的跨平台和與WEB很好的結合是JAVA的優勢所在,而本人對SUN公司的“網路即電腦”的概念相當欣賞,並相信JAVA即其相關的技術集JAVA One會成為未來的主流開發工具之一。其次,如果能掌握一種簡便的可視化開發工具,如VB,PowerBuilder,Delphi,C++ Builder,則更好,這些開發工具減小了開發難度,並能夠強化程式員物件模型的概念。另外,需要掌握基本的指令碼語言,如shell,perl等,至少能讀懂這些指令碼代碼。
第二種武器:資料庫
為什麼資料庫是如此重要?很多應用程式都是以資料庫的資料為中心,而資料庫的產品也有不少,其中關係型資料庫仍是主流形式,所以程式員至少熟練掌握一兩種資料庫,對關係型資料庫的關鍵元素要非常清楚,要熟練掌握SQL的基本文法。雖然很多資料庫產品提供了可視化的資料庫管理工具,但SQL是基礎,是通用的資料庫操作方法。如果沒有機會接觸商務資料庫系統,可以使用免費的資料庫產品是一個不錯的選擇,如mySQL, Postgres等。
第三種武器:作業系統
當前主流的作業系統是Windows,Linux/Unix,熟練地使用這些作業系統是必須的,但只有這些還遠遠不夠。要想成為一個真正的編程高手,需要深入瞭解作業系統,瞭解它的記憶體管理機制、進程/線程調度、訊號、核心對象、系統調用、協議棧實現等。Linux作為開發源碼的作業系統,是一個很好的學習平台,Linux幾乎具備了所有現代作業系統的特徵。雖然Windows系統的核心實現機制的資料較少,但通過互連網還是能擷取不少資料。只有對作業系統有一定的瞭解後,你會發現自己上了一個新的台階。
第四種武器:網路通訊協定TCP/IP
在互連網如此普及的今天,如果您還沒有對互連網的支撐協議TCP/IP協議棧有很好的掌握,就需要迅速補上這一課,網路技術已改變了軟體啟動並執行模式,從最早的客戶/伺服器結構,到今天的WEB Services,再到未來的格線運算,這一切都離不開以TCP/IP協議棧為基礎的網路通訊協定支援,所以,深入掌握TCP/IP協議是非常必要的。至少,你需要瞭解ISO七層協議模型,IP/UDP/TCP/HTTP等常用協議的原理和三向交握機制。
第五種武器:DCOM/CORBA/XML/WEB Services
隨著技術的發展,軟體與網路的無縫結合是必然趨勢,軟體系統的位置無關性是未來計算模式的重要特徵之一,DCOM/CORBA是當前兩大主流的分布計算的中介軟體平台,DCOM是微軟COM(元件物件模型)的擴充,而CORBA是OMG支援的規範。程式員需要做的不僅僅是利用商業的開發平台來開發軟體,而是要理解這些技術的初衷,即為什麼需要這項技術,如果你能理解了這一點,再回頭看這些技術的具體實現,就如庖丁解牛,迎刃而解。XML/WebServices重要性不言而喻,XML以其結構化的表示方法和超強的表達能力被喻為互連網上的“世界語”,是分布計算的基石之一。
第六種武器:軟體工程與CMM
現代大型軟體系統的開發中,工程化的開發控製取代個人英雄主義,成為軟體系統成功的保證,一個編程高手並不一定是一個優秀的程式員,一個優秀的程式員是將出色的編程能力和開發技巧同嚴格的軟體工程思想有機結合,編程只是軟體生命週期中的其中一環,優秀的程式員應該掌握軟體開發各個階段的基本技能,如市場分析,可行性分析,需求分析,結構設計,詳細設計,軟體測試等。一句話可以概括我的看法:“創意無限,流程保證”。
第七種武器:強烈的好奇心
什麼才是一個程式員的終極武器呢,那就是強烈的好奇心和學習精神。沒有比強烈的好奇心和學習精神更好的武器了,它是程式員們永攀高峰的源泉和動力所在。
其?學好一種就夠用了。