簡介:
程序員(英文Programmer)是從事程序開發、維護的專業人員。壹般將程序員分為程序設計人員和程序編碼人員,但兩者的界限並不非常清楚,特別是在中國。軟件從業人員分為初級程序員、高級程序員、系統分析員,系統架構師,測試工程師五大類。
崗位職責:
1、對項目經理負責,負責軟件項目的詳細設計、編碼和內部測試的組織實施,對小型軟件項目兼任系統分析工作,完成分配項目的實施和技術支持工作。
2、協助項目經理和相關人員同客戶進行溝通,保持良好的客戶關系。
3、參與需求調研、項目可行性分析、技術可行性分析和需求分析。
4、熟悉並熟練掌握交付軟件部開發的軟件項目的相關軟件技術。
5、負責向項目經理及時反饋軟件開發中的情況,並根據實際情況提出改進建議。
6、參與軟件開發和維護過程中重大技術問題的解決,參與軟件首次安裝調試、數據割接、用戶培訓和項目推廣。
7、負責相關技術文檔的擬訂。
8、負責對業務領域內的技術發展動態進行分析研究。
職業認證:
考試介紹:
軟考程序員考試屬於計算機軟件水平考試(簡稱軟考)中的壹個初級計算機職稱考試。對於軟考程序員考試並無學歷及資歷條件限制,更無論年齡、專業與資歷。壹年可報考軟考程序員考試兩次,但壹次考試只能報考壹種資格,因此報考了程序員考試則無法再報考軟考其他級別或科目的考試。同時軟考程序員考試采用筆試形式,考試實行全國統壹大綱、統壹試題、統壹時間、統壹標準、統壹證書的考試方式。
通過國家統壹組織的考試,資格考試分為:程序員級(原初級程序員)、軟件設計師(原高級程序員)以及更高水準的:信息系統項目管理師、系統分析師(原系統分析員)、系統架構設計師、網絡規劃設計師、系統規劃與管理師。
考試目標:
通過本考試的合格人員能根據軟件開發項目管理和軟件工程的要求,按照程序設計規格說明書編制並調試程序,寫出程序的相應文檔,產生符合標準規範的、實現設計要求的、能正確可靠運行的程序;具有助理工程師(或技術員)的實際工作能力和業務水平。
1、CVEQC認證持有者已經通過了中國職業教育資格認證指導中心組織的培訓和相應的考試,具有相應的專業技能和知識。
2、CVEQC證書可作為勞動者崗前培訓、在職培訓、提高培訓、繼續教育的培訓認證;也是勞動者“先培訓、後就業,先培訓、後上崗”的憑證。
3、CVEQC證書是中國職業教育資格認證指導中心頒發的專業技能證書。標有證書序列號、證書編號、培訓者及證書持有者身份證號碼,並蓋有全國職業教育管理委員會、中國職業教育資格認證指導中心的證書專用章。
4、 證書證明參加培訓及證書持有者具有系統地接受崗位技能培訓的經歷,證書在全國範圍內有效。
二、報考條件:凡遵守中華人民***和國憲法和各項法律,恪守職業道德,具有壹定計算機技術應用能力的人員,均可根據本人情況報名參加相應專業類別、級別的考試。[1]
考試要求:
(1)掌握數據及其轉換、數據的機內表示、算術和邏輯運算,以及相關的應用數學基礎知識;
(2)理解計算機的組成以及各主要部件的性能指標;
(3)掌握操作系統、程序設計語言的基礎知識;
(4)熟練掌握計算機常用辦公軟件的基本操作方法;
(5)熟練掌握基本數據結構和常用算法;
(6)熟練掌握C程序設計語言,以及C++、Java、Visual Basic中的壹種程序設計語言;
(7)熟悉數據庫、網絡和多媒體的基礎知識;
(8)掌握軟件工程的基礎知識,了解軟件過程基本知識、軟件開發項目管理的常識;
(9)了解常用信息技術標準、安全性,以及有關法律、法規的基本知識;
(10)了解信息化、計算機應用的基礎知識;
(11)正確閱讀和理解計算機領域的簡單英文資料。
相關書籍:
很多程序員響應,他們在推薦時也寫下自己的評語。 以前就有國內網友介紹這個程序員書單,不過都是推薦數 Top 9的書。
其實除了前9本之外,推薦數前30左右的書籍都算經典,筆者整理編譯這個問答貼,同時摘譯部分推薦人的評語。
下面就按照各本書的推薦數排列。
1、《代碼大全》 史蒂夫·邁克康奈爾
2、《程序員修煉之道》
3、《計算機程序的構造和解釋》
4、《算法導論》
5、《重構:改善既有代碼的設計》
6、《設計模式》
7、《人月神話》
8、《計算機程序設計藝術》
9、《編譯原理》(龍書)
崗位分類:
世界上第壹位程序員是英國著名詩人拜倫的女兒AdaLovelace,曾設計了巴貝奇分析機上解伯努利方程的壹個程序。她甚至還建立了循環和子程序的概念。由於其在程序設計上的開創性工作,AdaLovelace被稱為世界上第壹位程序員。美國國防部開發的ADA語言就是為紀念這位世界上的第壹位程序員而命名的。
計算機科學發展到今天(21世紀初期),程序員從事的人群很多,分工也不相同,從大的方面可以分為以下幾類:asp程序員、jsp程序員、delphi程序員、php程序員、powerbuilder程序員、C程序員、linux程序員、net程序員、vb程序員、java程序員、javascript程序員、C++程序員、Python程序員、android程序員、iOS程序員。
職業要求:
壹般的程序員都有四年的在專業領域的學習,需要壹個在程序領域的學士學位獲得者,不論是數學方面的還是工程方面的都是可以的。
大約有20%的人在這壹領域的計算機科學和工程學擁有更高的學位。還有很小壹部分程序員是自學的,盡管壹些專業性的學校或者綜合大學可以提供,但是也需要壹些別的途徑來提供相關的人才。盡管學歷是比較重要的,但是公司經常把重點放在應聘者的工作經驗上,很多剛從大學畢業的大學生雖然有引人註目的學位證書,但是他們找不到工作是因為他們缺乏經驗。壹個程序員雖然沒有正規的學歷,但是如果壹個人擁有程序設計的深厚知識背景或者豐富的工作經驗的話,那麽他的機會要比有學歷的應屆畢業生大得多。所以要盡量抓住有用的工作和實習機會,這樣的話在畢業後妳就會發現,多實習讓妳有更多的經驗,在找工作的時候就有更多的機會。
對於職業程序員,另外壹個重要的方面就是,程序員需要不斷提升自己的業務技術,他的技術必須壹直保持在壹個較高的水平,並且要不斷發展,程序員也要尋找貿易的機會,要參加研討會,在周刊上發表文章和接受職業教育,這些使程序員在自己的領域中分級或者不斷並排前進。
素質要求:
團隊精神和協作能力:
團隊精神和協作能力是作為壹個程序員應具備的最基本的素質。軟件工程已經提了將近三十年了,當今的軟件開發已經不是編程了,而是工程。獨行俠可以寫壹些程序也能賺錢發財,但是進入研發團隊,從事商業化和產品化的開發任務,就必須具備這種素質。可以毫不誇張的說這種素質是壹個程序員乃至壹個團隊的安身立命之本。
文檔習慣:
文檔是壹個軟件系統的生命力。壹個公司的產品再好、技術含量再高,如果缺乏文檔,知識就沒有繼承,公司還是壹個來料加工的軟件作坊。作為代碼程序員,必須將30%的工作時間用於寫技術文檔。沒有文檔的程序員勢必會被淘汰。
規範化的代碼編寫習慣:
知名軟件公司的代碼的變量命名、註釋格式,甚至嵌套中行縮進的長度和函數間的空行數字都有明確規定,良好的編寫習慣,不但有助於代碼的移植和糾錯,也有助於不同技術人員之間的協作。
測試習慣:
測試是軟件工程質量保證的重要環節,但是測試不僅僅是測試工程師的工作,而是每個程序員的壹種基本職責。程序員要認識測試不僅是正常的程序調試,而要是要進行有目的有針對性的異常調用測試,這壹點要結合需求理解能力。
學習和總結的能力:
程序員是很容易被淘汰的職業,所以要善於學習總結。許多程序員喜歡盲目追求壹些編碼的小技巧,這樣的技術人員無論學了多少語言,代碼寫起來多熟練,只能說他是壹名熟練的代碼民工(碼農),他永遠都不會有質的提高。壹個善於學習的程序員會經常總結自己的技術水平,對自己的技術層面要有良好的定位,這樣才能有目的地提高自己。這樣才能逐步提高,從程序員升級為軟件設計師、系統分析員。
擁有強烈的好奇心:
什麽才是壹個程序員的終極武器呢,那就是強烈的好奇心和學習精神。沒有比強烈的好奇心和學習精神更好的武器了,它是程序員們永攀高峰的源泉和動力所在。
日常工作:
確認通過審查方案的目標,輸入數據,分析師,監事,和客戶的輸出要求的項目要求。
安排項目要求在編程序列分析要求;準備工作流程圖和使用計算機知識的能力,題材,編程語言和邏輯圖。
編碼工作流程的信息轉換成計算機語言的項目要求。
通過輸入編碼信息的計算機程序。
確認程序操作進行測試,修改程序序列和/或代碼。
準備寫操作指令供用戶參考。
保持歷史記錄,通過記錄方案的制定和修訂。
維護客戶的信心和保護保密的業務。
技能/資格:壹般的編程技巧,分析信息,解決問題,軟件算法設計,軟件性能優化,註重細節,軟件設計,軟件調試,軟件開發基礎,軟件文檔,軟件測試。程序員其實分為很多種,大家開發的語言可能不盡相同,但是都是有他們的***同點。