求真百科歡迎當事人提供第一手真實資料,洗刷冤屈,終結網路霸凌。

程序員檢視原始碼討論檢視歷史

事實揭露 揭密真相
前往: 導覽搜尋

程序員(Programmer,Computer Programmer或Coder),它可以指在程序設計某個專業領域中的專業人士,或是從事軟件撰寫,程序開發、維護的專業人員。但一般Coder特指進行編寫代碼的編碼員。

隨着時代的發展,對程序員的要求也在變化,需要他們掌握更多的知識與技能,如:UML、單元測試、各種方法論等,以滿足隨時代不斷變化的商業、科技與應用等需求。

必備技能

熟練開發工具

做為一名程序員至少熟練掌握兩到三種開發工具的使用,這是程序員的立身之本,其中C/C++和JAVA是重點推薦的開發工具[1],C/C++以其高效率和高度的靈活性成為開發工具中的利器,很多系統級的軟件還是用C/C++編寫。而JAVA的跨平台和與WEB很好的結合是JAVA的優勢所在,而JAVA即其相關的技術集JAVAOne很可能會成為未來的主流開發工具之一。其次,能掌握一種簡便的可視化開發工具,如VB,PowerBuilder,Delphi,CBuilder,則更好,這些開發工具減小了開發難度,並能夠強化程序員對象模型的概念。另外,需要掌握基本的腳本語言,如shell,perl等,至少能讀懂這些腳本代碼。

熟知數據庫

為什麼數據庫是如此重要?作為程序員,他們自然有自己的理由:很多應用程序都是以數據庫的數據為中心,而數據庫的產品也有不少,其中關係型數據庫仍是主流形式,所以程序員至少熟練掌握一兩種數據庫,對關係型數據庫的關鍵元素要非常清楚,要熟練掌握SQL的基本語法。雖然很多數據庫產品提供了可視化的數據庫管理工具,但SQL是基礎,是通用的數據庫操作方法。如果沒有機會接觸商業數據庫系統,可以使用免費的數據庫產品是一個不錯的選擇,如mySQL,Postgres等。

了解操作系統

當前主流的操作系統是Windows,Linux/Unix,熟練地使用這些操作系統是必須的,但只有這些還遠遠不夠。要想成為一個真正的編程高手,需要深入了解操作系統,了解它的內存管理機制、進程/線程調度、信號、內核對象、系統調用、協議棧實現等。Linux作為開發源碼的操作系統,是一個很好的學習平台,Linux幾乎具備了所有現代操作系統的特徵[2]。雖然Windows系統的內核實現機制的資料較少,但通過互聯網還是能獲取不少資料。懂得網絡協議TCP/IP。

不要將軟件工程與CMM分開

大型軟件系統的開發中,工程化的開發控制取代個人英雄主義,成為軟件系統成功的保證,一個編程高手並不一定是一個優秀的程序員,一個優秀的程序員是將出色的編程能力和開發技巧同嚴格的軟件工程思想有機結合,編程只是軟件生命周期中的其中一環,優秀的程序員應該掌握軟件開發各個階段的基本技能,如市場分析,可行性分析,需求分析,結構設計,詳細設計,軟件測試等。

需求理解能力

程序員要能正確理解任務單中描述的需求。在這裡要明確一點,程序員不僅僅要注意到軟件的功能需求,還應注意軟件的性能需求,要能正確評估自己的模塊對整個項目中的影響及潛在的威脅,如果有着兩到三年項目經驗的熟練程序員對這一點沒有體會的話,只能說明他或許是認真工作過,但是沒有用心工作。

模塊化思維能力

作為一個優秀的程序員,他的思想不能局限在當前的工作任務裡面,要想想看自己寫的模塊是否可以脫離當前系統存在,通過簡單的封裝在其他系統中或其他模塊中直接使用。這樣做可以使代碼能重複利用,減少重複的勞動,也能使系統結構越趨合理。模塊化思維能力的提高是一個程序員的技術水平提高的一項重要指標。

視頻

程序員 相關視頻

最適合做程序員的6類人,有你嗎?
別人眼中的程序員 VS 真實的程序員 

參考文獻

  1. 程序員必備技能與習慣,51CTO博客,2015-09-25
  2. 成為高手必須掌握哪幾種語言,CSDN博客,2014-08-03