首頁 > 專家說

程序員要具備什么技能?

來源:新能源網(wǎng)
時間:2024-08-17 12:06:29
熱度:

程序員要具備什么技能?【專家解說】:程序員(英文Programmer)是從事程序開發(fā)、維護(hù)的專業(yè)人員。一般我們將程序員分為程序設(shè)計(jì)人員和程序編碼員,但兩者的界限并不非常清楚,特別是

【專家解說】:程序員(英文Programmer)是從事程序開發(fā)、維護(hù)的專業(yè)人員。一般我們將程序員分為程序設(shè)計(jì)人員和程序編碼員,但兩者的界限并不非常清楚,特別是在中國。 作一個真正合格的程序員,應(yīng)該具有的素質(zhì)。 1:團(tuán)隊(duì)精神和協(xié)作能力 團(tuán)隊(duì)精神和協(xié)作能力是作為一個程序員應(yīng)具備的最基本的素質(zhì)。軟件工程已經(jīng)提了將近三十年了,當(dāng)今的軟件開發(fā)已經(jīng)不是編程了,而是工程。獨(dú)行俠可以寫一些程序也能賺錢發(fā)財,但是進(jìn)入研發(fā)團(tuán)隊(duì),從事商業(yè)化和產(chǎn)品化的開發(fā)任務(wù),就必須具備這種素質(zhì)??梢院敛豢鋸埖恼f這種素質(zhì)是一個程序員乃至一個團(tuán)隊(duì)的安身立命之本。 2:文檔習(xí)慣 文檔是一個軟件系統(tǒng)的生命力。一個公司的產(chǎn)品再好、技術(shù)含量再高,如果沒有缺乏文檔,知識就沒有繼承,公司還是一個來料加工的軟件作坊。作為代碼程序員,必須將30%的工作時間寫用于技術(shù)文檔。沒有文檔的程序員勢必會被淘汰。 3:規(guī)范化的代碼編寫習(xí)慣 知名軟件公司的代碼的變量命名、注釋格式,甚至嵌套中行縮進(jìn)的長度和函數(shù)間的空行數(shù)字都有明確規(guī)定,良好的編寫習(xí)慣,不但有助于代碼的移植和糾錯,也有助于不同技術(shù)人員之間的協(xié)作。 一些所謂的高手甚至叫囂高手寫的代碼一般人看不懂,我只能說他不是一名合格的程序員。 4:需求理解能力 程序員要能正確理解任務(wù)單中描述的需求。在這里要明確一點(diǎn),程序員不僅僅要注意到軟件的功能需求,還應(yīng)注意軟件的性能需求,要能正確評估自己的模塊對整個項(xiàng)目中的影響及潛在的威脅,如果有著兩到三年項(xiàng)目經(jīng)驗(yàn)的熟練程序員對這一點(diǎn)沒有體會的話,只能說明他或許是認(rèn)真工作過,但是沒有用心工作。 5:模塊化思維能力 作為一個優(yōu)秀的程序員,他的思想不能在局限當(dāng)前的工作任務(wù)里面,要想想看自己寫的模塊是否可以脫離當(dāng)前系統(tǒng)存在,通過簡單的封裝在其他系統(tǒng)中或其他模塊中直接使用。這樣做可以使代碼能重復(fù)利用,減少重復(fù)的勞動,也能是系統(tǒng)結(jié)構(gòu)越趨合理。模塊化思維能力的提高是一個程序員的技術(shù)水平提高的一項(xiàng)重要指標(biāo)。 6:測試習(xí)慣 測試是軟件工程質(zhì)量保證的重要環(huán)節(jié),但是測試不僅僅是測試工程師的工作,而是每個程序員的一種基本職責(zé)。程序員要認(rèn)識測試不僅是正常的程序調(diào)試,而要是要進(jìn)行有目的有針對性的異常調(diào)用測試,這一點(diǎn)要結(jié)合需求理解能力。 7:學(xué)習(xí)和總結(jié)的能力 程序員是很容易被淘汰的職業(yè),所以要善于學(xué)習(xí)總結(jié)。許多程序員喜歡盲目追求一些編碼的小技巧,這樣的技術(shù)人員無論學(xué)了多少語言,代碼寫起來多熟練,我們只能說他是一名熟練的代碼民工,他永遠(yuǎn)都不會有質(zhì)的提高。一個善于學(xué)習(xí)的程序員會經(jīng)??偨Y(jié)自己的技術(shù)水平,對自己的技術(shù)層面要有良好的定位,這樣才能有目的地提高自己。這樣才能逐步提高,從程序員升級為軟件設(shè)計(jì)師、系統(tǒng)分析員。 作為高級程序員,除了應(yīng)該具備上述全部素質(zhì)之外,還需要具備以下素質(zhì): 1、 需求分析能力 2、 整體框架能力 3、 流程處理能力 4、 模塊分解能力 5、 整體項(xiàng)目評估能力 6、 團(tuán)隊(duì)組織管理能力 1,激情。 我曾經(jīng)遇到許多“職業(yè)程序員”,他們從事IT是因?yàn)橛X得這是一種職業(yè),他們只在工作時間編程,除非送去培訓(xùn)否則他們不會學(xué)習(xí)新東西,這不是好的程序員。我認(rèn)為一個好的程序員總是對編程充滿激情,而且好的開發(fā)者會做一些編程工作即使這沒有報酬。激情是一個優(yōu)秀程序員的重要指標(biāo)。 2,自學(xué)好學(xué) 編程領(lǐng)域始終發(fā)展變化著,不出一年有些新技術(shù)就變成了老技術(shù),這并不是說好的程序員要對所有新技術(shù)跟進(jìn),但有些卻對學(xué)習(xí)任何新技術(shù)都沒有興趣。他們通常在學(xué)校學(xué)習(xí)了編程,然后工作后單位安排學(xué)什么就學(xué)什么。如果在招聘中你聽到“讓我培訓(xùn)一個星期我就會勝任這個工作”那不要雇傭他。實(shí)際上,真正優(yōu)秀的程序員始終談?wù)撝闼恢赖男录夹g(shù),向人們解釋為什么你必須用這個技術(shù),哪怕沒有聽眾聽得明白,哪怕他自己也不明白。 3,聰明 聰明包括很多因素,情緒和社會交際只是其中之一。好的程序員絕不木訥,他們是最聰明的人,他們中的許多善于交際,健談、興趣廣泛。 4,隱性的經(jīng)驗(yàn) —好的程序員通。常有自己的私人的一些研究、愛好、項(xiàng)目,而這些是他們不寫在簡歷上 (通常覺得不值得寫),但表現(xiàn)出來卻可能恰恰是他的潛能、深度和后勁所在。 5,技術(shù)多樣性 由于好的程序員喜歡學(xué)習(xí)和涉獵新技術(shù),所以一般來說超過22歲的都熟知很多新技術(shù),而且對多種技術(shù)的長短有 “強(qiáng)烈”的個人意見/見解,喜好嘗試新鮮技術(shù)。 6,資格證書 資格證書并不是識別真正程序員的方法,MCSE、SCJP、說明不了什么,它們只是讓別人認(rèn)識和獲取的,頂多代表這個人在某個技術(shù)有一定的知識。 原文作者在文末寫道:以上所說的標(biāo)準(zhǔn)并不是絕對的,因?yàn)橛行﹥?yōu)秀的程序員確實(shí)不符合上述,而有些bad程序員卻符合了。但相信這些對大多數(shù)真正的程序員都適用。 總結(jié)而言,優(yōu)秀的程序員通常有一下特點(diǎn): n 對技術(shù)充滿激情; n 將編程作為一種愛好 n 如果你允許會滔滔不絕地跟你談?wù)摷夹g(shù) n 有過個人的開發(fā)經(jīng)歷(與4意思相同) n 堅(jiān)持認(rèn)為某種技術(shù)最好 n 如果讓他用他認(rèn)為不好的技術(shù)他會非常別扭 n 聰明、健談、興趣廣泛 n 在大學(xué)和工作前就開始接觸程序