程序員跟其他的職業(yè)一樣,有的看上去像,有的混水摸魚。那么什么樣才能算是真下的程序員呢?個(gè)人認(rèn)為應(yīng)該具備以下條件:
1、 有良好的邏輯思維
程序設(shè)計(jì)是一個(gè)復(fù)雜的智力活動(dòng),要考慮到方方面面的細(xì)節(jié);先做什么,后做什么,要預(yù)防什么。優(yōu)秀的程序都有很強(qiáng)的邏輯性。
2、 有良好的數(shù)學(xué)基礎(chǔ)
計(jì)算機(jī)是基于數(shù)學(xué)原理建造出來的;編程語言是符號(hào),邏輯和關(guān)系的結(jié)合。很多課程與數(shù)學(xué)息息相關(guān),如編譯原理,圖形學(xué),算法等等。數(shù)據(jù)結(jié)構(gòu)和算法就是數(shù)學(xué)在編程語言上的一種實(shí)現(xiàn)。
3、 有較強(qiáng)的分析能力
程序或者軟件都是為了解決實(shí)際生活中的問題而做的。因此,軟件開發(fā)的一個(gè)很重要的方面就是分析實(shí)際問題,把實(shí)際問題轉(zhuǎn)化成為計(jì)算機(jī)語言可以解決的問題。這很類似于數(shù)學(xué)建模,但它比數(shù)學(xué)建模更徹底,因?yàn)檫€要把建立出來的數(shù)學(xué)模型用程序語言解決。小到具體的某個(gè)算法要分析,大到需求分析。特別是在調(diào)試,在解 BUG 的時(shí)候更要有較強(qiáng)的分析能力,否則很難定位問題。
4、 較好的審美和思想境界
一個(gè)好的程序就是一件藝術(shù)品。要想有好的作品必須有好的審美。出色的軟件源于良的設(shè)計(jì);良好的設(shè)計(jì)源于偉大的設(shè)計(jì)思想;偉大的設(shè)計(jì)思想源于設(shè)計(jì)者的思想境界。
5、 擁有良好的底層理論基礎(chǔ)
盡管你可能不直接與底層打交道,盡管你可能是站在浪尖上。但是任何的語言或是技術(shù)都是建立在底層之上的。那些如操作系統(tǒng),組成原理,編譯原理等等是無處不在的。了解這些可以讓你對(duì)你的知識(shí)體系有一個(gè)全新的認(rèn)識(shí)。
6、 足夠的通用技能
通用技能就是指獨(dú)立于任何一門語言和技術(shù),每個(gè)人都會(huì)用的一些東西。如編碼規(guī)范,代碼風(fēng)格,編程技巧,文檔注釋,設(shè)計(jì)架構(gòu),數(shù)據(jù)結(jié)構(gòu),算法和調(diào)試技巧等等。關(guān)于這方面有很多的著作可以參考,如《代碼大全》,《程序設(shè)計(jì)實(shí)踐》等等。
7、 精湛的專業(yè)技能
前面提到過,軟件是為了解決實(shí)際生活中的問題而開發(fā)的,如果不能解決問題,那么無論它的架構(gòu)如何的好,它的程序質(zhì)量如何的高也沒有太大的意義。有些軟件是為了解決數(shù)據(jù)庫,網(wǎng)絡(luò),圖形,多媒體,嵌入式或移動(dòng)平臺(tái)等方面的問題,這就需要對(duì)這些方面的技術(shù)有比較深入的掌握。除此之外,即使是為終端用戶開發(fā)的軟件,也必定會(huì)用到這些技術(shù)。
-
程序員
+關(guān)注
關(guān)注
4文章
948瀏覽量
29736
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論