總體來說,需要掌握操作系統(tǒng)、程序設(shè)計(jì)語言的基礎(chǔ)知識(shí);熟練掌握計(jì)算機(jī)常用辦公軟件的基本操作方法;熟練掌握基本數(shù)據(jù)結(jié)構(gòu)和常用算法;熟練掌握C程序設(shè)計(jì)語言,以及C++、Java、VisualBasic中的一種編程語言;熟悉數(shù)據(jù)庫、網(wǎng)絡(luò)和多媒體的基礎(chǔ)知識(shí);掌握軟件工程的基礎(chǔ)知識(shí),了解軟件過程基本知識(shí)、軟件開發(fā)項(xiàng)目管理的常識(shí);了解常用信息技術(shù)標(biāo)準(zhǔn)、安全性,以及有關(guān)法律、法規(guī)的基本知識(shí);了解信息化、計(jì)算機(jī)應(yīng)用的基礎(chǔ)知識(shí);正確閱讀和理解計(jì)算機(jī)領(lǐng)域的外文材料。
程序員必備技能:
1、熟練所有的開發(fā)工具
做為一名程序員至少熟練掌握兩到三種開發(fā)工具的使用,這是程序員的立身之本,其中C/C++和JAVA是重點(diǎn)推薦的開發(fā)工具,C/C++以其高效率和高度的靈活性成為開發(fā)工具中的利器,很多系統(tǒng)級(jí)的軟件還是用C/C++編寫。而JAVA與WEB很好的結(jié)合是JAVA的優(yōu)勢(shì)。能掌握一種簡便的可視化開發(fā)工具,如VB,PowerBuilder,Delphi,CBuilder,則更好,這些開發(fā)工具減小了開發(fā)難度,并能夠強(qiáng)化程序員對(duì)象模型的概念。需要掌握基本的腳本語言,如shell,perl等,至少能讀懂這些腳本代碼。并能用數(shù)量使用。
2、熟知常用的數(shù)據(jù)庫技能
作為程序員,他們自然有自己的理由:很多應(yīng)用程序都是以數(shù)據(jù)庫的數(shù)據(jù)為中心,而數(shù)據(jù)庫的產(chǎn)品也有不少,其中關(guān)系型數(shù)據(jù)庫仍是主流形式,所以程序員至少熟練掌握一兩種數(shù)據(jù)庫,對(duì)關(guān)系型數(shù)據(jù)庫的關(guān)鍵元素要非常清楚,而且要熟練掌握SQL的基本語法。
雖然很多數(shù)據(jù)庫產(chǎn)品提供了可視化的數(shù)據(jù)庫管理工具,SQL是基礎(chǔ)是通用的數(shù)據(jù)庫操作方法。沒有機(jī)會(huì)接觸商業(yè)數(shù)據(jù)庫系統(tǒng)可以使用免費(fèi)的數(shù)據(jù)庫產(chǎn)品,如mySQL等。
3、了解并可以使用常規(guī)的操作系統(tǒng)
當(dāng)前主流的操作系統(tǒng)是Windows,Linux/Unix,熟練地使用這些操作系統(tǒng)是必須的,但只有這些還遠(yuǎn)遠(yuǎn)不夠。
要想成為一個(gè)真正的編程高手,需要深入了解操作系統(tǒng),了解它的內(nèi)存管理機(jī)制、進(jìn)程/線程調(diào)度、信號(hào)、內(nèi)核對(duì)象、系統(tǒng)調(diào)用、協(xié)議棧實(shí)現(xiàn)等。
Linux作為開發(fā)源碼的操作系統(tǒng),是一個(gè)很好的學(xué)習(xí)平臺(tái),Linux幾乎具備了所有現(xiàn)代操作系統(tǒng)的特征。雖然Windows系統(tǒng)的內(nèi)核實(shí)現(xiàn)機(jī)制的資料較少,但通過互聯(lián)網(wǎng)還是能獲取不少資料。懂得網(wǎng)絡(luò)協(xié)議TCP/IP。
在互聯(lián)網(wǎng)如此普及的今天,如果您還沒有對(duì)互聯(lián)網(wǎng)的支撐協(xié)議TCP/IP協(xié)議棧有很好的掌握,就需要迅速補(bǔ)上這一課,網(wǎng)絡(luò)技術(shù)已改變了軟件運(yùn)行的模式。
從*早的客戶/服務(wù)器結(jié)構(gòu),到今天的WEBServices,再到未來的網(wǎng)格計(jì)算,這一切都離不開以TCP/IP協(xié)議棧為基礎(chǔ)的網(wǎng)絡(luò)協(xié)議支持,深入掌握TCP/IP協(xié)議是非常必要的。
至少,需要了解ISO七層協(xié)議模型,IP/UDP/TCP/HTTP等常用協(xié)議的原理和三次握手機(jī)制。
4、明白DCOM/CORBA/XML/WEBServices存在的意義與使用場景
隨著技術(shù)的發(fā)展,軟件與網(wǎng)絡(luò)的無縫結(jié)合是必然趨勢(shì),軟件系統(tǒng)的位置無關(guān)性是未來計(jì)算模式的重要特征之一,DCOM/CORBA是當(dāng)前兩大主流的分布計(jì)算的中間平臺(tái),DCOM是微軟COM(組件對(duì)象模型)的擴(kuò)展,而CORBA是OMG支持的規(guī)范。
XML/WebServices重要性不言而喻,XML以其結(jié)構(gòu)化的表示方法和超強(qiáng)的表達(dá)能力被喻為互聯(lián)網(wǎng)上的“世界語”,是分布式計(jì)算的基石之一。
5、不要將軟件工程與CMM割裂開來
大型軟件系統(tǒng)的開發(fā)中,工程化的開發(fā)控制取代個(gè)人英雄主義,成為軟件系統(tǒng)成功的保證,一個(gè)編程高手并不一定是一個(gè)**的程序員。
一個(gè)**的程序員是將出色的編程能力和開發(fā)技巧同嚴(yán)格的軟件工程思想有機(jī)結(jié)合,編程只是軟件生命周期中的其中一環(huán),**的程序員應(yīng)該掌握軟件開發(fā)各個(gè)階段的基本技能。如市場分析,需求分析,結(jié)構(gòu)設(shè)計(jì),詳細(xì)設(shè)計(jì)與軟件測(cè)試等。分析是專研的重要項(xiàng)目。
6、需求理解能力要**
程序員要能正確理解任務(wù)單中描述的需求。在這里要明確一點(diǎn),程序員不僅僅要注意到軟件的功能需求,還應(yīng)注意軟件的性能需求。
要能正確評(píng)估自己的模塊對(duì)整個(gè)項(xiàng)目中的影響及潛在的威脅,如果有著兩到三年項(xiàng)目經(jīng)驗(yàn)的熟練程序員對(duì)這一點(diǎn)沒有體會(huì)的話,只能說明他或許是認(rèn)真工作過,而不是有心人。這是重要一項(xiàng)考量。
7、模塊化的思維能力不可缺少
作為**的個(gè)工程師不能局限在當(dāng)前工作,要想想看自己寫的成果是否能夠脫離當(dāng)前系統(tǒng),通過簡單封裝在其他應(yīng)用中直接發(fā)揮作用。
這樣做可以使代碼能重復(fù),減少不必要的勞動(dòng)力浪費(fèi),也能使系統(tǒng)結(jié)構(gòu)越趨合理。模塊化思維是一個(gè)程序員的一項(xiàng)重要衡量指標(biāo)。決定了一個(gè)程序元是否上升為架構(gòu)師的條件。
TEL:15156887767 QQ:584511937
Copyright ? 2021 上海詠熠科技有限責(zé)任公司 All Rights Reserved. | 滬ICP備2022003714號(hào)-1 | XML地圖
公司地址:上海 浦東 川沙