1.編程開發(fā)工具.
至少熟練掌握兩到三種開發(fā)工具的使用, 這是程序員的立身之本. C/C++以其高效率和高度的靈活性成為開發(fā)工具中的利器, 很多系統(tǒng)級的軟件還是用C/C++編寫. 而JAVA的跨平臺和與WEB很好的結(jié)合是JAVA的優(yōu)勢所在.其次, 如果能掌握一種簡便的可視化開發(fā)工具, 如VB,PowerBuilder,Delphi,C++ Builder,則更好, 這些開發(fā)工具減小了開發(fā)難度, 并能夠在無形中強化對象模型的概念.另外, 需要掌握基本的腳本語言, 如shell,perl等.
2.數(shù)據(jù)庫.
數(shù)據(jù)庫在當(dāng)今的信息外包產(chǎn)業(yè)是很重要的. 很多應(yīng)用程序都是以數(shù)據(jù)庫的數(shù)據(jù)為中心, 而數(shù)據(jù)庫的產(chǎn)品也有不少, 其中關(guān)系型數(shù)據(jù)庫仍是主流形式, 所以作為高級軟件工程師而言, 至少熟練掌握一兩種數(shù)據(jù)庫, 對關(guān)系型數(shù)據(jù)庫的關(guān)鍵元素非常清楚, 熟練掌握SQL的基本語法是非常重要的.
3.網(wǎng)絡(luò)協(xié)議TCP/IP.
在互聯(lián)網(wǎng)如此普及的今天, 如果還沒有對互聯(lián)網(wǎng)的支撐協(xié)議TCP/IP協(xié)議棧有很好的掌握就很難在IT業(yè)立足. 從最早的客戶/服務(wù)器結(jié)構(gòu), 到今天的WEB Services, 這一切都離不開以TCP/IP協(xié)議棧為基礎(chǔ)的網(wǎng)絡(luò)協(xié)議支持, 所以, 深入掌握TCP/IP協(xié)議是非常必要的.
4.軟件工程與CMM.
現(xiàn)代大型軟件系統(tǒng)的開發(fā)中, 工程化的開發(fā)控制成為軟件系統(tǒng)成功的保證. 編程只是軟件生命周期中的其中一環(huán), 本人認(rèn)為優(yōu)秀的軟件工程師應(yīng)該掌握軟件開發(fā)各個階段的基本技能, 如市場分析, 可行性分析, 需求分析, 結(jié)構(gòu)設(shè)計, 詳細(xì)設(shè)計, 軟件測試等. 否則就永遠(yuǎn)只會是一個程序員, 而無法成為名副其實的工程師.
5.計算機技術(shù)專業(yè)英語.
隨著中國的信息外包產(chǎn)業(yè)逐步展開, IT業(yè)急需與國外相關(guān)高新技術(shù)接軌來保持在發(fā)展上不落人后. 于是IT業(yè)相關(guān)從業(yè)人員現(xiàn)有的英語水平成為限制中國信息產(chǎn)業(yè)與國外交流的瓶頸.
一個普遍的共識是:良好的英語交流和閱讀能力成為衡量一個軟件工程師水平的隱性標(biāo)準(zhǔn).所以掌握計算機專業(yè)英語是很重要的.
對于一個立志成為高級軟件工程師的人, 最重要的其實是強烈的好奇心和學(xué)習(xí)精神. 沒有比強烈的好奇心和學(xué)習(xí)精神更好的武器了, 它是成功的工程師乃至在各行各業(yè)的成功者們永攀高峰的源泉和動力所在.