首頁 > 專家說

程序員要具備什么技能?

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

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

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