呵。
要看你想往哪方面的程序方向發(fā)展了?,F(xiàn)在程序員也分很多種的啊。
有WEB程序員,嵌入式程序員,有C/S程序員。我就給你一份.net程序員的規(guī)劃吧!呵。
希望對你有幫助!一份.Net的學(xué)習(xí)規(guī)劃 一、研究方向 智能信息處理實(shí)驗(yàn)室.Net小組的主要研究方向是“.Net平臺下軟件開發(fā)技術(shù)及相關(guān)應(yīng)用”,其研究內(nèi)容包括.Net框架、.Net語言、面向?qū)ο蟮脑O(shè)計(jì)、軟件工程學(xué)方法以及以上理論在實(shí)際中的應(yīng)用。小組將以.Net為開發(fā)平臺,著眼于軟件體系結(jié)構(gòu),特別是面向?qū)ο蟮能浖O(shè)計(jì)方法,學(xué)習(xí)軟件模塊化、系統(tǒng)解耦合和設(shè)計(jì)模式等相關(guān)的理論知識,并結(jié)合實(shí)驗(yàn)室“Web語義”、“工作流”等已有的課題點(diǎn),討論以上技術(shù)在實(shí)際生產(chǎn)中的應(yīng)用。
在更高層次上,小組將系統(tǒng)的學(xué)習(xí)目前較為常見的軟件工程學(xué)方法,包括瀑布模式、螺旋模式和敏捷模式等。并在項(xiàng)目中嘗試采用這些方法,分析這些模式的特點(diǎn)和適用范圍,使小組成員掌握基本的軟件項(xiàng)目管理能力。
二、研究階段 對于.Net下軟件的開發(fā)的研究分為以下四個階段:第一階段:.Net開發(fā)環(huán)境的掌握和相關(guān)開發(fā)技術(shù)的學(xué)習(xí)。這一階段主要是掌握一門.Net語言(推薦C#);掌握.Net開發(fā)的基本技能,包括熟悉.Net框架中的核心類、用于數(shù)據(jù)訪問的ADO.Net和用于Web應(yīng)用的Asp.Net等;掌握Web開發(fā)的相關(guān)技術(shù),包括數(shù)據(jù)庫、HTML、JavaScript、CSS和服務(wù)器的配置等;熟悉Visual Studio .Net、Visual Source Safe等開發(fā)工具。
該階段完成后小組成員將有能力閱讀.Net系統(tǒng)的代碼,并在已有的基礎(chǔ)上進(jìn)行改善的能力。第二階段:掌握基本的面向?qū)ο笤O(shè)計(jì)。
在這一階段,小組成將繼續(xù)學(xué)習(xí).Net框架的相關(guān)知識,了解包括反射、XML、ORM和Ajax等較為深入的內(nèi)容。同時,應(yīng)該注重對相關(guān)原理的理解,包括IL語言、Asp.Net運(yùn)行時和Http協(xié)議等。
在軟件結(jié)構(gòu)體系方面,小組成員開始學(xué)習(xí)使用面向?qū)ο蟮姆椒ㄟM(jìn)行思考,使用繼承、引用和多態(tài)等面向?qū)ο蟮乃悸穪砻枋鱿到y(tǒng)的設(shè)計(jì),掌握UML等系統(tǒng)設(shè)計(jì)工具。這一階段將加大實(shí)踐的比例,使小組通過開發(fā)實(shí)際項(xiàng)目,掌握相關(guān)的技術(shù)和面向?qū)ο笤O(shè)計(jì)能力。
在這一階段,隨著項(xiàng)目實(shí)踐的展開,小組成員開始接觸軟件工程學(xué)方法,了解不同的開發(fā)模式,掌握團(tuán)隊(duì)協(xié)作能力和相關(guān)協(xié)作工具的使用。第三個階段:掌握初步系統(tǒng)架構(gòu)設(shè)計(jì)。
在這一階段,系統(tǒng)地實(shí)現(xiàn)已經(jīng)不是重點(diǎn),而該是如何設(shè)計(jì)出一個良好的系統(tǒng)結(jié)構(gòu)。這要求深入的理解面向?qū)ο蟮乃枷耄⑶揖哂幸欢ǖ拈_發(fā)經(jīng)驗(yàn)。
在這一階段,小組將學(xué)習(xí)軟件構(gòu)架的相關(guān)知識,包括系統(tǒng)的模塊化、模塊間解耦合、面向?qū)ο蟮脑O(shè)計(jì)原則、設(shè)計(jì)模式、測試和重構(gòu)等,并且學(xué)習(xí)使用這些知識對不同的系統(tǒng)進(jìn)行設(shè)計(jì),掌握各種模式的特點(diǎn)和使用范圍,從而對于給定的系統(tǒng)要求能夠設(shè)計(jì)出較為完善的架構(gòu)。第四階段:掌握完善系統(tǒng)架構(gòu)設(shè)計(jì)。
這一階段著眼于如何對系統(tǒng)的需求進(jìn)行深入的理解,以及此基礎(chǔ)上,設(shè)計(jì)出完善的系統(tǒng)架構(gòu)。完善的系統(tǒng)架構(gòu)應(yīng)該重視并準(zhǔn)確的反映系統(tǒng)的業(yè)務(wù)邏輯,并考慮需求變化的應(yīng)對,兼顧系統(tǒng)的靈活性、健壯性、復(fù)雜度、開發(fā)效率和運(yùn)行效率等諸多方面。
小組成員在這一階段將學(xué)習(xí)大量現(xiàn)有的優(yōu)秀系統(tǒng)設(shè)計(jì),并結(jié)合實(shí)驗(yàn)室相關(guān)項(xiàng)目,充分理解不同系統(tǒng)所應(yīng)該采用的構(gòu)架模式,并盡量能夠擁有自己獨(dú)到的設(shè)計(jì)見解和設(shè)計(jì)風(fēng)格。附:參考書目1,第一階段:a) 《C#高級編程》b) 《Asp.Net高級編程》c) 《HTML&XHTML權(quán)威指南》d) 《JavaScript權(quán)威指南》e) 《數(shù)據(jù)系統(tǒng)概論》2,第二階段:a) 《.Net Framework高級編程》b) 《Asp.Net 技術(shù)內(nèi)幕》c) 《C# XML高級編程》d) 《JavaScript高級編程》e) 《Ajax基礎(chǔ)教程》f) 《代碼大全2》g) 《面向?qū)ο箝_發(fā)實(shí)踐之路——C#版》h) UML書籍一本3,第三階段:a) 《重構(gòu)——改善既有代碼的設(shè)計(jì)》b) 《敏捷軟件開發(fā)——原則、模式及實(shí)踐》c) 《Head First Design Patterns》d) 《設(shè)計(jì)模式——可復(fù)用的面向?qū)ο笤O(shè)計(jì)》4,第四階段:a) 《企業(yè)應(yīng)用構(gòu)架模式》b) 《測試驅(qū)動開發(fā)》c) 《程序員修煉之道》。
程序員的考試要求:掌握數(shù)制及其轉(zhuǎn)換、數(shù)據(jù)的機(jī)內(nèi)表示、算術(shù)和邏輯運(yùn)算,以及相關(guān)的應(yīng)用數(shù)學(xué)基礎(chǔ)知識;理解計(jì)算機(jī)的組成以及各主要部件的性能指標(biāo);掌握操作系統(tǒng)、程序設(shè)計(jì)語言的基礎(chǔ)知識;熟練掌握計(jì)算機(jī)常用辦公軟件的基本操作方法;熟練掌握基本數(shù)據(jù)結(jié)構(gòu)和常用算法;熟練掌握C程序設(shè)計(jì)語言,以及C++、Java、Visual
Basic中一種程序設(shè)計(jì)語言;熟悉數(shù)據(jù)庫、網(wǎng)絡(luò)和多媒體的基礎(chǔ)知識;掌握軟件工程的基礎(chǔ)知識,了解軟件過程基本知識、軟件開發(fā)項(xiàng)目管理的常識;了解常用信息技術(shù)標(biāo)準(zhǔn)、安全性,以及有關(guān)法律、法規(guī)的基本知識。
如果你是學(xué)生,或者如果你有充足的時間。我建議你仔細(xì)的掌握下面的知識。我的建議是針對那些希望在IT技術(shù)上有所成就的初學(xué)者。同時我還列出了一些書目,這些書應(yīng)該都還可以在書店買到。說實(shí)在的,我在讀其他人的文章時最大的心愿就是希望作者列出一個書單。
大學(xué)英語——不要覺得好笑。我極力推薦這門課程是因?yàn)闆]有專業(yè)文檔的閱讀能力是不可想象的。中文的翻譯往往在猴年馬月才會出來,而現(xiàn)在的許多出版社干脆就直接把E文印刷上去。學(xué)習(xí)的方法是強(qiáng)迫自己看原版的教材,開始會看不懂,用多了自然熟練。吃得苦下得狠心絕對是任何行業(yè)都需要的品質(zhì)。
計(jì)算機(jī)體系結(jié)構(gòu)和匯編語言——關(guān)于體系結(jié)構(gòu)的書遍地都是,而且也大同小異,倒是匯編有一本非常好的書?!?0x86匯編語言程序設(shè)計(jì)教程》(清華大學(xué)出版社,黑色封面,楊季文著)。你需要著重學(xué)習(xí)386后保護(hù)模式的程序設(shè)計(jì)。否則你在學(xué)習(xí)現(xiàn)代操作系統(tǒng)底層的一些東西的時候會覺得是在看天書。
計(jì)算機(jī)操作系統(tǒng)原理——我們的開發(fā)總是在特定的操作系統(tǒng)上進(jìn)行,如果不是,只有一種可能:你在自己實(shí)現(xiàn)一個操作系統(tǒng)。無論如何,操作系統(tǒng)原理是必讀的。這就象我們?yōu)橐粋€芯片制作外圍設(shè)備時,芯片基本的工作時序是必需了解的。這一類書也很多,我沒有發(fā)現(xiàn)哪一本書非常出眾。只是覺得在看完了這些書后如果有空就應(yīng)該看看《Inside Windows 2000》(微軟出版社,我看的是E文版的,中文的書名想必是Windows 2000 技術(shù)內(nèi)幕之類吧)。
數(shù)據(jù)結(jié)構(gòu)和算法——這門課程能夠決定一個人程序設(shè)計(jì)水平的高低,是一門核心課程。我首選的是清華版的(朱戰(zhàn)立,劉天時)。很多人喜歡買C#版的,但我覺得沒有必要。C#的語法讓算法實(shí)現(xiàn)過程變得復(fù)雜多了,而且許多老師喜歡用模塊這一東西讓算法變得更復(fù)雜。倒是在學(xué)完了C版的書以后再來瀏覽一下C#的版的書是最好的。
軟件工程——這門課程是越到后來就越發(fā)現(xiàn)它的重要,雖然剛開始看時就象看馬哲一樣不知所云。我的建議是看《實(shí)用軟件工程》(黃色,清華)。不要花太多的時間去記條條框框,看不懂就跳過去。在每次自己完成了一個軟件設(shè)計(jì)任務(wù)(不管是練習(xí)還是工作)以后再來回顧回顧,每次都會有收獲。
Windows 程序設(shè)計(jì)——《北京大學(xué)出版社,Petzold著》我建議任何企圖設(shè)計(jì)Windows 程序的人在學(xué)習(xí)VC以前仔細(xì)的學(xué)完它。而且前面的那本《Inside Windows 2000》也最好放到這本書的后面讀。
在這本書中,沒有C++,沒有GUI,沒有控件。有的就是如何用原始的C語言來完成Windows 程序設(shè)計(jì)。在學(xué)完了它以后,你才會發(fā)現(xiàn)VC其實(shí)是很容易學(xué)的。千萬不要在沒有看完這本書以前提前學(xué)習(xí)VC,你最好碰都不要碰。我知道的許多名校甚至都已經(jīng)用它作為教材進(jìn)行授課。可見其重要。
上面的幾門課程我認(rèn)為是必學(xué)的重要課程(如果你想做Windows 程序員)。
對于其它的課程有這樣簡單的選擇方法:如果你是計(jì)算機(jī)系的,請學(xué)好你所有的專業(yè)基礎(chǔ)課。如果不是,請參照計(jì)算機(jī)系的課程表。如果你發(fā)現(xiàn)自己看一本書時無法看下去了,請翻到書的最后,看看它的參考文獻(xiàn),找到它們并學(xué)習(xí)它們,再回頭看這本書。如果一本書的書名中帶有“原理”兩個字,你一定不要去記憶它其中的細(xì)節(jié),你應(yīng)該以一天至少50頁的速度掌握其要領(lǐng)。盡可能多的在計(jì)算機(jī)上實(shí)踐一種理論或者算法。
你還可以在CSDN上閱讀到許多書評。這些書評能夠幫助你決定讀什么樣的書。
根據(jù)軟考程序員職稱的考試內(nèi)容,我們可以得出,程序員需要具備以下的知識。
但這些只是基礎(chǔ),還要不斷擴(kuò)展。 計(jì)算機(jī)硬件基礎(chǔ)知識。
計(jì)算機(jī)科學(xué)基礎(chǔ)。1.1數(shù)制及其轉(zhuǎn)換。
二進(jìn)制、十進(jìn)制和十六進(jìn)制等常用數(shù)制及其相互轉(zhuǎn)換。1.2數(shù)據(jù)的表示。
數(shù)的表示(原碼、反碼、補(bǔ)碼表示,整數(shù)和實(shí)數(shù)的機(jī)內(nèi)表示方法,精度和溢出)。校驗(yàn)方法和校驗(yàn)碼(奇偶校驗(yàn)碼、海明校驗(yàn)碼)。
1.3算術(shù)運(yùn)算和邏輯運(yùn)算。計(jì)算機(jī)中二進(jìn)制數(shù)的運(yùn)算方法。
邏輯代數(shù)的基本運(yùn)算和邏輯表達(dá)式的化簡。1.5常用數(shù)據(jù)結(jié)構(gòu)。
數(shù)組(表態(tài)數(shù)組、動態(tài)數(shù)組)、線性表、鏈表(單向鏈表、雙向鏈表、循環(huán)鏈表)、隊(duì)列、棧、樹(二叉樹、查找樹)、圖的定義、存儲和操作1.6 常用算法。算法與數(shù)據(jù)結(jié)構(gòu)的關(guān)系,算法效率,算法設(shè)計(jì),算法描述(流程圖、偽代碼、決策表)2. 計(jì)算機(jī)系統(tǒng)基礎(chǔ)知識。
2.1計(jì)算機(jī)基礎(chǔ)知識。2.1.1計(jì)算機(jī)系統(tǒng)的組成,硬件系統(tǒng)、系統(tǒng)及層次結(jié)構(gòu)。
2.1.3 中央處理器CPU。運(yùn)算器和控制器的組成,常用的寄存器、指令系統(tǒng)、尋址方式、指令執(zhí)行控處理機(jī)性能。
2.1.4 主存和輔存。存儲器系統(tǒng)。
存儲介質(zhì)(半導(dǎo)體、硬盤、光盤、閃存、軟盤、磁帶等)。主存儲器的組成、性能及基本原理。
Cache的概念、虛擬存儲的概念。輔存設(shè)備的類型、特性、性能和容量計(jì)算。
2.1.5 I/O接口、I/O設(shè)備和通信設(shè)備。I/O接口(總線、DMA、通道、SCSI、并行口、RS232C、USB、IEEE1394)。
I/O設(shè)備的類型和特性(鍵盤、鼠標(biāo)、顯示器、打印機(jī)、掃描儀、攝像頭,以及各種輔存設(shè)備)。I/O設(shè)備控制方式(中斷控制、DMA)。
通信設(shè)備的類型和特性(Modem、集線器、交換機(jī)、中繼器、路由器、網(wǎng)橋、網(wǎng)關(guān))及其連接方法和連接介質(zhì)(串行連接、并行連接,傳輸介質(zhì)的類型和特性)。2.2 基礎(chǔ)知識。
2.2.1 操作系統(tǒng)基礎(chǔ)知識。操作系統(tǒng)的類型和功能。
操作系統(tǒng)的內(nèi)核(中斷控制)和進(jìn)程概念。處理機(jī)管理、存儲管理、設(shè)備管理、文件管理、作業(yè)管理、漢字處理。
2.2.2 程序設(shè)計(jì)語言和語言處理程序基礎(chǔ)知識。匯編、編譯、解釋系統(tǒng)的基礎(chǔ)知識。
過程(函數(shù))調(diào)用。2.3 網(wǎng)絡(luò)基礎(chǔ)知識。
網(wǎng)絡(luò)的功能、分類、組成和拓?fù)浣Y(jié)構(gòu)。網(wǎng)絡(luò)體系結(jié)構(gòu)與協(xié)議(OSI/RM,TCP/IP)。
2.4 數(shù)據(jù)庫基礎(chǔ)知識。數(shù)據(jù)模型,ER圖。
數(shù)據(jù)操作(關(guān)系運(yùn)算)。數(shù)據(jù)庫語言(SQL)。
2.5 多媒體基礎(chǔ)知識。多媒體基礎(chǔ)概念,常用多媒體設(shè)備性能特征,常用多媒體文件格式類型。
3.開發(fā)和運(yùn)行維護(hù)基礎(chǔ)知識。3.2 需求分析、需求定義及基礎(chǔ)知識。
結(jié)構(gòu)化分析概念(數(shù)據(jù)流圖(DFD)、實(shí)體關(guān)系圖(ER))。面向?qū)ο笤O(shè)計(jì)、結(jié)構(gòu)化設(shè)計(jì)基礎(chǔ)知識。
模擬設(shè)計(jì)、代碼設(shè)計(jì)、人機(jī)界面設(shè)計(jì)要點(diǎn)。3.3 程序設(shè)計(jì)基礎(chǔ)知識。
結(jié)構(gòu)設(shè)計(jì)程序設(shè)計(jì),程序流程圖,NS圖,PAD圖。程序設(shè)計(jì)風(fēng)格。
面向?qū)ο笤O(shè)計(jì)基礎(chǔ)知識、可視化程序設(shè)計(jì)基礎(chǔ)知識。3.4 程序測試基礎(chǔ)知識。
黑盒測試、白盒測試、灰盒測試基礎(chǔ)知識。4. 安全性基礎(chǔ)知識。
安全性基本概念。加密與解密基礎(chǔ)知識。
5. 標(biāo)準(zhǔn)化基礎(chǔ)知識標(biāo)準(zhǔn)化基本概念6. 信息化基本知識。有關(guān)的法律、法規(guī)要點(diǎn)。
7. 計(jì)算機(jī)專業(yè)英語??荚嚳颇?:程序設(shè)計(jì)。
1. 內(nèi)部設(shè)計(jì)1.1 理解外部設(shè)計(jì)。1.3 物理數(shù)據(jù)設(shè)計(jì)。
確定數(shù)據(jù)組織方式、存儲介質(zhì),設(shè)計(jì)記錄格式和處理方式。2. 程序設(shè)計(jì)。
2.1 模擬劃分(原則、方法、標(biāo)準(zhǔn))。3. 程序?qū)崿F(xiàn)。
3.1 編程。編程方法和標(biāo)準(zhǔn)。
程序設(shè)計(jì)語言的使用。4.程序設(shè)計(jì)語言(C語言為必選,其他語言可以任選一種)。
4.1 C程序設(shè)計(jì)語言(ANSI C標(biāo)準(zhǔn))。程序結(jié)構(gòu),語法,數(shù)據(jù)類型說明,可執(zhí)行語句,函數(shù)調(diào)用,標(biāo)準(zhǔn)庫函數(shù),指針。
4.2 C++程序設(shè)計(jì)語言(ANSI C++標(biāo)準(zhǔn))。C++和面向?qū)ο蟪绦蛟O(shè)計(jì),語法和程序結(jié)構(gòu),類、成員、構(gòu)造函數(shù)、析構(gòu)函數(shù)、模板、繼承、多態(tài)。
4.3 Java程序設(shè)計(jì)(Java 2)。語言機(jī)制(程序結(jié)構(gòu)和語法,類、成員、構(gòu)造函數(shù)、析構(gòu)函數(shù)、繼承、接口)。
4.4 Visual Basic程序設(shè)計(jì)(Visual Basic 6.0)。用戶界面設(shè)計(jì)。
數(shù)學(xué)基礎(chǔ)(高中夠了) 英語基礎(chǔ)(初中夠了) 計(jì)算機(jī)常識 操作系統(tǒng):windows dos Lilx 原理(不是簡單的復(fù)制粘貼"原理") 計(jì)算機(jī)語言:匯編和C/C 軟件方向 或 java網(wǎng)絡(luò)方向之一 再加上其他語言如Pascal或Visual Basic。
軟件工程`知識產(chǎn)權(quán)`安全知識`計(jì)算機(jī)原理`數(shù)據(jù)庫`多媒體常識`這都是軟件設(shè)計(jì)師的考綱(上午題)此證由國家人事部發(fā),比重點(diǎn)本科證值錢(注意:等級上比不上,但在現(xiàn)在的現(xiàn)實(shí)社會足以)。 若是普通程序員,至少在深圳人才市場看來都是直接T(踢),除非你是高級程序員。
建議去參考一下北大青鳥集團(tuán)的培訓(xùn),有基礎(chǔ)的一年半即可拿到此證(呵呵~有基礎(chǔ)~但是中國還是不多)。祝你成功。
程序員(英文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ā)財(cái),但是進(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ā)者會做一些編程工作即使這沒有報(bào)酬。
激情是一個優(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ù)真正的程序員都適用??偨Y(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é)。
別人寫的一篇關(guān)于初學(xué)電腦的心得文章,可以給你一些參考。
零基礎(chǔ)如何學(xué)習(xí)編程 心得筆記 自學(xué)編程2年來,加過n多群,泡過n多論壇,接觸過心懷激情的編程新人,遇到過沉著冷靜的技術(shù)大?!幊?,吸引了一批又一批的熱血青年,或許是為了理想,或許是心中的愛好,不斷有新人的加入,也不斷有人從編程中退出。編程的入場入口只有一個,出場的出口卻很多。
自學(xué)編程的新人,有很大一部分卡在了入門上,對此,我想寫下對編程入門的一些拙見,權(quán)當(dāng)拋磚引玉,或?qū)蝈e,還望同學(xué)們自己鑒定。 1.零基礎(chǔ),打算自學(xué)編程,應(yīng)具備哪些的知識? 答: 對于入門階段,對知識水平的要求并不算高,或者說很低,大家都應(yīng)該聽說過xxx小學(xué)生編程如何如何這般這般怎么樣之類的話題,這里,我們不談長期發(fā)展,只談如何入門。
首先,我覺得你應(yīng)該具備計(jì)算機(jī)的基本操作能力,如果說你連新建一個文件夾或者說從網(wǎng)上下載資料都不會,那么你應(yīng)該先買本《windows xx從入門到提高》看,然后再考慮編程這件事,如果你覺得對計(jì)算機(jī)的基本操作已經(jīng)熟練后,請繼續(xù)向下看。 2.學(xué)編程應(yīng)具備哪些條件? 答: 第一:硬件保證,首先你應(yīng)該具備一臺電腦,不管是筆記本還是臺式,也不管性能高低,性能對前期學(xué)習(xí)編程幾乎無任何影響,就入門來看,操作系統(tǒng)還是首選windwos。
第二:有xx語言的入門本書,紙做的,具體xx語言是哪種語言,后面我們再討論這個問題。雖說現(xiàn)在鋪天蓋地的都是電子書了(保留這句話的確定性),到處是掃描版,還高清呢,但我還是推薦看紙做的書,好處有兩點(diǎn),其一是便于攜帶,可以隨時翻閱;其二是避免眼疲勞,我不信你一直晚盯著顯示器看電子書眼睛不會酸;還有一點(diǎn),尊重圖書作者的版權(quán)。
第三:時間保證,如果你每天都有一大堆事等著你去處理,先去處理那些事吧,處理完后把剩余時間劃出一整塊的給編程,進(jìn)行隨時可能被打斷的學(xué)習(xí),在編程這塊,我不認(rèn)為這是在用功學(xué)習(xí),零碎時間去背單詞?應(yīng)該是個不錯的選擇。 3.你確定要學(xué)編程? 答: 這個問題看起來有點(diǎn)多余,但為什么要提出這個問題?要知道,編程不是一朝一夕的事,如果你只是一時的沖動,或者僅僅是要完成心目中的某個小工具,并沒有長期寫程序的打算,這樣的話,編程不學(xué)也罷,畢竟編程從入門到能獨(dú)立寫軟件會有很長的一段路要走,中途一旦放棄就前功盡棄,并且已經(jīng)浪費(fèi)了你大把的寶貴時間,實(shí)在是得不償失。
不過,你盡管吐槽說是這是你的業(yè)余愛好,有個愛好也挺好,那么,繼續(xù)往下看吧。 4.如何才能入門? 答: 到底怎樣才能入門?其實(shí),只要你有毅力,慢慢折騰個一年半載,肯定能入門,但寫這篇文章的目的就是為了把這個周期縮短些,不是嗎?所以,下面我就以個人的觀點(diǎn)來談?wù)勗趺床拍芨斓娜腴T,這里先籠統(tǒng)的介紹下,對于每點(diǎn),后面單獨(dú)介紹。
–1>.去了解計(jì)算機(jī)的基本組成,計(jì)算機(jī)的發(fā)展史和編程的發(fā)展史,看起來和編程沒什么關(guān)系,潛在的影響還是十分大的; –2>.選擇一門簡單的語言作為入門語嚴(yán); –3>.學(xué)會使用搜索引擎; –4>.知道如何看書; –5>.要”像”個高手; –6.>應(yīng)具備的學(xué)習(xí)態(tài)度; 4.1:了解這些歷史的意義: 了解一些編程的實(shí)質(zhì)遠(yuǎn)比知道如何編程更有意義,不要在編程是怎么回事的情況下就去學(xué)習(xí)編程,這樣對你的學(xué)習(xí)是十分不利的,作為一個編程愛好者,知道計(jì)算機(jī)的工作原理,這應(yīng)該是一件再正常不過的事,你難道不想去知道嗎? 4.2>.選擇入門語言: 這個問題在入門階段一直是爭議十分大的問題,n多語言,n多推薦,到最后搞到新手一會聽說這種語言適合新手,于是學(xué)習(xí)這種語言,一會又有人說xx語言是垃圾、弱爆了,學(xué)了也沒用,之類的話,開始推薦你xxx語言,于是新手們又開始學(xué)習(xí)這種語言,搞到最后,什么語言都沒搞懂,時間大把大把的流失,熱情消耗殆盡。要解決這個問題,首先要明白一個根本問題,怎樣挑選適合入門的編程語言?我推薦從難度這個角度來考慮,這門語言必須簡單易學(xué),有趣,而且要有一定的熱度,有熱度才能有更多的人一起交流討論,翻開編程語言列表,發(fā)現(xiàn)有100多種編程語言,而且這個數(shù)還是在不斷增加的,這里我們一起來看下2012年5月份的編程語言排行榜,能進(jìn)排行榜前20的,首先在熱度上都已經(jīng)差不多了,現(xiàn)在要做的就是從排行榜里找到一門簡單有趣的語言。
2012年5月編程語言排行 對于上述的語言,這里不可能一個個詳細(xì)介紹,篇幅有限,最主要的是,這些語言的介紹只需要你打開搜索引擎(百度?谷歌?還是其他?隨便你嘍。),輸入這項(xiàng)語言的名字,搜索一下,就能看到他的詳細(xì)介紹了,如果你說你不會搜索,那么,請返回第一個問題,一般來說,如果你去論壇提問什么語言適合入門,得到最多的結(jié)果應(yīng)該是C語言,沒錯,就是上述排行榜排行第一的那個,強(qiáng)烈推薦C語言入門的同學(xué)如果看到這篇文章可能會很想吐槽,因?yàn)檫@里筆者要推薦的不是C語言,筆者認(rèn)為,Python語言對于零基礎(chǔ)更適合入門,很多人推薦C語言原因我猜測可能有兩個,一是全國大部分的高校的編程課C語言是都有開設(shè)的,也可以說是學(xué)習(xí)過C語言的用戶基數(shù)大,第二是C語言自身的強(qiáng)大,。
聲明:本網(wǎng)站尊重并保護(hù)知識產(chǎn)權(quán),根據(jù)《信息網(wǎng)絡(luò)傳播權(quán)保護(hù)條例》,如果我們轉(zhuǎn)載的作品侵犯了您的權(quán)利,請?jiān)谝粋€月內(nèi)通知我們,我們會及時刪除。
蜀ICP備2020033479號-4 Copyright ? 2016 學(xué)習(xí)鳥. 頁面生成時間:3.655秒