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