A. 什麼是程序員
程序員是從事程序開發、維護的專業人員。一般將程序員分為程序設計人員和程序編碼人員,但兩者的界限並不非常清楚,特別是在中國。軟體從業人員分為初級程序員、高級程序員、系統分析員,系統架構師,測試工程師六大類。
程序員的崗位職責
1、對項目經理負責,負責軟體項目的詳細設計、編碼和內部測試的組織實施,對小型軟體項目兼任系統分析工作,完成分配項目的實施和技術支持工作。
2、協助項目經理和相關人員同客戶進行溝通,保持良好的客戶關系。
3、參與需求調研、項目可行性分析、技術可行性分析和需求分析。
4、熟悉並熟練掌握交付軟體部開發的軟體項目的相關軟體技術。
5、負責向項目經理及時反饋軟體開發中的情況,並根據實際情況提出改進建議。
6、參與軟體開發和維護過程中重大技術問題的解決,參與軟體首次安裝調試、數據割接、用戶培訓和項目推廣。
7、負責相關技術文檔的擬訂。
【能力3】熟悉多種系統架構。對於程序員來說,無論是在開發MIS、Web解決方案、分布式應用系統、嵌入式軟體、驅動程序系統,也不管是在Windows或UNIX或Linux操作系統之下,編寫控制台程序、原生窗口程序還是.NET程序,透徹理解一種系統架構或開發平台的全部功能,同時了解其他架構的運作機制,是十分必要的。這樣不僅有利於編程工作的轉換,也有助於掌握信息技術發展的一般走向。
【能力4】理解和運用UML/Extrerile Program-ming的能力。現在軟體開發的時限越來越短,軟體產品卻越來越復雜和龐大。為了在較短時間內開發出高質量的軟體產品,許多軟體公司在軟體開發的系統分析和系統設計階段,在大型項目中採用面向對象的UML(統一建模語言),在中小型項目中採用Extreme Programming。程序員雖然不必參與軟體系統的分析與規劃,但是必須學會使用UML/EP模型的方式與系統分析人員、系統設計人員進行溝通與交流。這是在開發團隊中協調工作、實現快速開發的有效手段。
【能力5】使用RAD編程工具的能力。實現快速開發軟體、提高軟體生產率的另一個手段是使用快速應用開發工具(RAD)。程序員要學會使用新一代開發環境所提供的全部功能和工具,學會在一個開發環境中撰寫源程序、以可視化的方式檢查程序代碼的關系和驗證代碼的可靠度,並且在開發環境中與系統分析和設計人員進行溝通;學會在相同的開發環境里進行程序的單元測試與負載測試。程序員通過開發環境參與項目管理、版本管理和軟體產品的商業化包裝,從而提高整個團隊的軟體開發生產率。程序員還應該知道開發環境在幕後為用戶所做的事情,從中學習更高級的編程技術。
【能力6】在編程實踐中正確運用程序質量屬性的能力。軟體工程學的宗旨是採用一整套科學、系統的方法,提高計算機軟體的質量和生產率。優秀的程序員能自覺地運用軟體工程學的技術思想指導程序設計,對可靠性(正確性+健壯性)、效率、易用性、可讀性(可理解性)、可擴展性、可復用性、兼容性、可移植性等軟體質量屬性做到了如指掌,並且努力做到能在編程實踐中運用自如,這是開發高質量軟體的不二法門。