首頁 考試吧論壇 Exam8視線 考試商城 網絡課程 面授課程 模擬考試 實用文檔 繽紛校園 英語學習 | ||
2010考研 | 自學考試 | 成人高考 | 專 升 本 | 法律碩士 | MBA/MPA | 中 科 院 | ||
四六級 | 商務英語 | 公共英語 | 職稱日語 | 職稱英語 | 博思 | 口譯筆譯 | GRE GMAT | 日語 | 托福 | ||
雅思 | 專四專八 | 新概念 | 自考英語 | 零起點英、法、德、日、韓語 | 在職申碩英語 | ||
在職攻碩英語 | 成人英語三級 | ||
等級考試 | 水平考試 | 微軟認證 | 思科認證 | Oracle認證 | Linux認證 | ||
公務員 | 報關員 | 報檢員 | 外銷員 | 司法考試 | 導游考試 | 教師資格 | 國際商務師 | 跟單員 | ||
單證員 | 物流師 | 價格鑒證師 | 銀行從業(yè)資格 | 證券從業(yè)資格 | 人力資源管理師 | 管理咨詢師 | ||
期貨從業(yè)資格 | 社會工作者 | ||
會計職稱 | 注會CPA | 經濟師 | 統(tǒng)計師 | 注冊稅務師 | 評估師 | 精算師 | 高會 | ACCA | 審計師 | ||
法律顧問 | 會計證 | ||
建造師(一級、二級) | 造價師 | 監(jiān)理師 | 安全師 | 咨詢師 | 結構師 | 建筑師 | 安全評價師 | ||
估價師(房地產估價、土地估價) | 設備監(jiān)理師 | 巖土工程師 | 質量資格 | 房地產經紀人 | 造價員 | ||
投資項目管理 | 土地代理人 | 環(huán)保師 | 環(huán)境影響評價 | 物業(yè)管理師 | 城市規(guī)劃師 | 公路監(jiān)理師 | ||
公路造價工程師 | 招標師 | ||
執(zhí)業(yè)護士 | 執(zhí)業(yè)醫(yī)師 | 執(zhí)業(yè)藥師 | 衛(wèi)生資格 |
踏實
偶然在網上看到《由C#風潮想起的-給初學編程者的忠告》一文. 其中一個角度:避免“浮躁”,倡導“踏實”的學習方法,我是很認同的,但總覺該文作者標題“-給初學編程者的忠告”太大,所以在其文列出的一些具體的“操作方法”上我認為可以探討,如同自己在某次公司總結會上就《軟件開發(fā),我們積累的是什么?》為題跟同事聊了半個多小時后,其中一個同事提到希望我能繼續(xù)把這個題目細化,就剛入行的他們具體該如何發(fā)展有更“具操作性”的指引,當時我是跟他們說這只是我在這一行呆了5年多的體會,談“指引”還太遠,只是可以提出來大家思考、討論。
不要過度貶低編碼
不要真的認為"不少大師級的計算機技術研究者是不懂編程的",做軟件開發(fā)編碼是最最基礎的東西,只有踏踏實實的掌握好這個基礎你才有辦法往上走,不管做分析做設計做項目管理你都需要能清楚東西是如何實現(xiàn)的?可不可以實現(xiàn)?否則肯定出現(xiàn)大量的:"設計是設計,編碼是編碼","產品都是代碼人員從頭到尾實現(xiàn)的","究竟需花多少時間,難度有多大,開發(fā)人員說了算","質量/成本/進度全是黑匣子"...現(xiàn)象,如果你是做編碼那編碼就更重要了.所以對于有志從事這個行業(yè)(軟件開發(fā))的個人來說,必須先從"重視編碼"開始.過了這一關才能去考慮做系統(tǒng)分析,做項目管理...
軟件開發(fā)的各個環(huán)節(jié)是相輔相承的,分析有分析的重要,設計有設計的重要,編碼有編碼的重要,測試實施也各有其地位,任何一個環(huán)節(jié)搞不好就如同我們熟悉的木桶理論,"最薄弱的一個環(huán)節(jié)制約著其總容量".
既然編碼重要,那該如何學編碼?
專心學好一門語言
算算自己用過的語言也不少(括弧里為使用該語言寫的比較有代表性的東東),C(dos版的圖像/圖標編輯工具,96年的《電腦報》有介紹),C++(可自定義方塊形狀的方塊游戲,被收錄于99年《軟件》雜志的附送光盤上),匯編(DOS漢字系統(tǒng),97年底完成),PB(學校自動排課/排考模塊,98年),ASP(一套web版的企業(yè)信息系統(tǒng),99年),VB(企業(yè)信息系統(tǒng)的核心組件,99年),delphi(工作流平臺,組件式GIS系統(tǒng)等),Java(Delphi Client + J2EE Server協(xié)同實現(xiàn)),.Net(規(guī)則引擎),PHH...
看起來好象也不少,回過頭來想想自己真正認真學過的語言只有一個,就是“C”, Dos年代的TC2.0,用它寫了大量的小程序,比較系統(tǒng)的了解了編程是怎么一回事,記得那個時候看到什么軟件都要琢磨它是如何實現(xiàn)的?如果讓我來實現(xiàn)該如何做?也模仿了不少東西,雖然多是很表面的模仿但對自己編程思維的鍛煉很有好處.后來用其它語言基本上都只是翻翻幫助,然后找找其Demo代碼來看看,很快就可進入狀態(tài).
語言都是差不多的,重要的是“編碼的思想”,具備了該思想語言就只是工具了,用什么工具實現(xiàn)都差不多,該思想的形成是需要“磨練”的,就是“專心使用一門語言”來磨練(甚至需要有“咬文嚼字的孔已己作風”),然后可“一理通百理通”,不然你只是浮于表面的去學再多的語言都沒有.都不能拿來做真正的開發(fā).都不能了解“編碼”的內涵.
如在今年招聘面試的時候看到太多寫著什么語言都精通(或熟練)的畢業(yè)生,我慣用的方法是給他(她)一張紙一支筆,讓他(她)用自己最了解的語言寫一個算階乘的函數(shù),這個問題你一看肯定說很簡單,好,接著我會往下問,可以有多少種方法來實現(xiàn):循環(huán),遞歸…還有嗎?你能寫出多少種來?(代碼基本結構模式的考察).代碼質量如何? 有沒有考慮錯誤處理(太多人寫的代碼會進入死循環(huán)比如輸入的是負數(shù)) ? int的上限是多少,用long? 如果輸入值比較大,算得出結果嗎,該如何去實現(xiàn)可以計算很大數(shù)的該函數(shù)?...看著他(她)寫出來的代碼一個個問題的問就得了,不管你用什么語言,不管你“精通”多少種語言,我只問這些用什么語言來解決問題都需要的基礎的東西, 就是“編碼的思想”.
在學專一門語言的基礎上新東西當然要跟,不然在這個行業(yè)你是很難“混下去”的,但有這“學專一門”的前提后,你跟起來就輕松了,而不用總是得“追”~
在“!币婚T語言的過程中為解決問題你會發(fā)現(xiàn)“算法”很重要,這就是接下來要說的“基礎”了.
基礎很重要
面試的時候我一般都會問,基礎知識學得如何? 一般重點問的是:《數(shù)據(jù)結構》, 《編譯原理》, 《數(shù)據(jù)庫原理》的內容.至于《由》文提到的:《匯編語言》,《 Windows 程序設計》我是不會問的.這些是可以進一步學習的東西,但對現(xiàn)在的開發(fā)來說不是必須的.《軟件工程》我向來不問,教材理論跟實際差得太遠了~
《數(shù)據(jù)結構》很重要,不懂數(shù)據(jù)結構很多編碼就是“蠻干”,而且往往把“簡單問題復雜化”,甚至復雜到不可能解決.認真學習《數(shù)據(jù)結構》并多做嘗試用你熟悉的語言去實現(xiàn)里面的算法,你會發(fā)覺“世界真奇妙”~不要認為你不會去開發(fā)“編程語言”不需要學習《編譯原理》, 《編譯原理》里面包含了太多開發(fā)軟件的“奇妙”的思想案例,認真體會你肯定會被其解決問題的方法折服,從中你能體會到很多東西,對以后做軟件(不管是設計還是編碼等)大有幫助,里面有很多現(xiàn)存的方法可用在你的項目中,而這些跟《數(shù)據(jù)結構》是互為補充的.在這些基礎上接下來《設計模式》一書你也一定得看看.
很多應用都離不開數(shù)據(jù)庫,最終總得找個地方來“操縱,存儲,分析數(shù)據(jù)”,關于范式,關于鎖,關于SQL,關于笛卡兒那一套你總得了解了解,不然無法入手,這就需要好好學習《數(shù)據(jù)庫原理》了.單純知道幾條SQL語句是遠遠不夠的,如何保證數(shù)據(jù)的完整性,安全性?如何提高效率等等都需要這些基礎的支持~
當然英文也是基礎,看英文資料確實重要,不單是書,還有網絡上的大量資料,論壇…看的時候別害怕就是了,畢竟都是受過高等教育的,英語也學了那么多年起碼都有點底吧,配合這兩個工具:《金山詞霸》及Google.com,不懂的單詞“即指即譯”,但很多名詞或基礎知識不是靠單詞解釋能清楚的,配合搜索引擎查查相關資料看看,記住一點,看到不懂的東西多看幾遍,默記一小會,日積月累你能看懂的東西就多了。
興趣
最后該說說的就是興趣問題,如果你能對它真正感興趣(如果要從事軟件開發(fā)又沒興趣的話趕緊先培養(yǎng)興趣去^_^),對看技術資料就想別人看武俠小說看球賽一樣的話,再配合上面提到的幾點(踏實, 先專后廣, 基礎扎實)相信在這一行多少是可以做點東西出來的~~