程式設計師(英文Programmer)是從事程式開發、程式維護的專業人員。一般將程式設計師分為程式設計人員和程式編碼人員,但兩者的界線並不非常清楚,特別是在中國。
軟體從業人員分為初級程式設計師、中階程式設計師、高級程式設計師(現為軟體設計師)、系統分析員,系統架構師,測試工程師六大類。
作一個真正合格的程式設計師,應該具有的品質。
1:團隊精神與協作能力
團隊精神與協作能力是身為程式設計師應具備的最基本的素質。軟體工程已經提了將近三十年了,當今的軟體開發已經不是程式設計了,而是工程。獨行俠可以寫一些程式也能賺錢發財,但是進入研發團隊,從事商業化和產品化的開發任務,就必須具備這種素質。可以毫不誇張的說這種素質是一個程式設計師乃至一個團隊的安身立命之本。
2:文件習慣
文件是一個軟體系統的生命力。一家公司的產品再好、技術含量再高,如果沒有缺乏文檔,知識就沒有繼承,公司還是一個來料加工的軟體工作坊。身為程式碼程式設計師,必須將30%的工作時間寫用於技術文件。沒有文件的程式設計師勢必會被淘汰。
3:規範化的程式碼編寫習慣
知名軟體公司的程式碼的變數命名、註解格式,甚至巢狀中行縮排的長度和函數間的空行數字都有明確規定,良好的編寫習慣,不僅有助於程式碼的移植和糾錯,也有助於不同技術人員之間的協作。一些所謂的高手甚至叫囂高手寫的程式碼一般人看不懂,我只能說他不是合格的程式設計師。
4:需求理解能力
程式設計師要能正確理解任務單中所描述的需求。這裡要明確一點,程式設計師不僅要注意到軟體的功能需求,還應注意軟體的效能需求,要能正確評估自己的模組對整個專案中的影響及潛在的威脅,如果有著兩到三年專案經驗的熟練程式設計師對這一點沒有體會的話,只能說明他或許是認真工作過,但是沒有用心工作。
5:模組化思考能力
身為一個優秀的程式設計師,他的思想不能在局限當前的工作任務裡面,要想看自己寫的模組是否可以脫離目前系統存在,透過簡單的封裝在其他系統或其他模組中直接使用。這樣做可以使程式碼能重複利用,減少重複的勞動,也能是系統結構越趨合理。模組化思考能力的提升是一個程式設計師的技術水準提升的重要指標。
6:測試習慣
測試是軟體工程品質保證的重要環節,但是測試不僅僅是測試工程師的工作,而是每個程式設計師的一種基本職責。程式設計師要認識測試不只是正常的程式除錯,而是要進行有目的有針對性的異常調用測試,這一點要結合需求理解能力。
7:學習和總結的能力
程式設計師是很容易被淘汰的職業,所以要善於學習總結。許多程式設計師喜歡盲目追求一些編碼的小技巧,這樣的技術人員無論學了多少語言,代碼寫起來多熟練,我們只能說他是一名熟練的代碼民工,他永遠不會有質的提高。一個善於學習的程式設計師會經常總結自己的技術水平,對自己的技術層面要有良好的定位,這樣才能有目的地提升自己。這樣才能逐步提高,從程式設計師升級為軟體設計師、系統分析員。
身為高階程式設計師,甚至是設計師而言,除了應該具備上述全部素質之外,還需要具備以下素質:
1、 需求分析能力
2、 整體框架能力
3、流程處理能力
4、模組分解能力
5、整體專案評估能力
###################### #6、 團隊組織管理能力######1,熱情######我曾經遇到許多“職業程式設計師”,他們從事IT是因為覺得這是一種職業,他們只在工作時間編程,除非送去培訓否則他們不會學習新東西,這不是好的程式設計師。我認為一個好的程式設計師總是對程式設計充滿熱情,而且好的開發者會做一些程式設計工作即使這沒有報酬。熱情是優秀程式設計師的重要指標。 ######2,自學好學###程式設計領域始終發展變化著,不出一年有些新技術就變成了老技術,這並不是說好的程式設計師要對所有新技術跟進,但有些卻對學習任何新技術都沒有興趣。他們通常在學校學習了編程,然後工作後單位安排學什麼就學什麼。如果在招募中你聽到「讓我培訓一個星期我就會勝任這個工作」那不要僱用他。實際上,真正優秀的程式設計師始終談論著你所不知道的新技術,向人們解釋為什麼你必須用這個技術,即使沒有聽眾聽得明白,就算他自己也不明白。
3,聰明
聰明包括很多因素,情緒和社會交際只是其中之一。好的程式設計師絕不木訥,他們是最聰明的人,他們中的許多善於交際,健談、興趣廣泛。
4,隱性的經驗
—好的程式設計師通常有自己的私人的一些研究、愛好、項目,而這些是他們不寫在履歷上(通常覺得不值得寫),但表現出來卻可能恰恰是他的潛能、深度和後勁所在。
5,技術多樣性
由於好的程式設計師喜歡學習和涉獵新技術,所以一般來說超過22歲的都熟知很多新技術,而且對多種技術的長短有「強烈」的個人意見/見解,喜好嘗試新鮮技術。
6,資格證書
資格證書並不是識別真正程式設計師的方法,MCSE、SCJP說明不了什麼,它們只是讓別人認識和取得的,頂多代表這個人在某個技術有一定的知識。
註:以上所說的標準並不是絕對的,因為有些優秀的程式設計師確實不符合上述,而有些bad程式設計師卻符合了。但相信這些對大多數真正的程式設計師都適用。
總結而言,優秀的程式設計師通常有一下特點:
對技術充滿熱情
將程式設計當作一種嗜好
如果你允許會滔滔不絕地跟你談論技術
有過個人的開發經歷(與4意思相同)
堅持認為某種技術最好
如果讓他用他認為不好的技術他會非常彆扭
聰明、健談、興趣廣泛
#更多相關知識,請關注 PHP中文網! !
以上是什麼叫程式設計師?的詳細內容。更多資訊請關注PHP中文網其他相關文章!