一、 分享第一條經(jīng)驗:“學(xué)歷代表過去、能力代表現(xiàn)在、學(xué)習(xí)力代表未來。”
其實這是一個來自國外教育領(lǐng)域的一個研究結(jié)果。相信工作過幾年、十幾年的朋友對這個道理有些體會吧。
但我相信這一點也很重要:“重要的道理明白太晚將抱憾終生!”所以放在每一條,讓剛剛畢業(yè)的朋友們早點看到哈!
二、
一定要確定自己的發(fā)展方向,并為此目的制定可行的計劃。
不要說什么,“我剛畢業(yè),還不知道將來可能做什么?”,“跟著感覺走,先做做看”。因為,這樣的觀點會通過你的潛意識去暗示你的行為無所事事、碌碌無為。
一直做技術(shù),將來成為專家級人物?向管理方向走,成為職業(yè)經(jīng)理人?先熟悉行業(yè)和領(lǐng)域,將來自立門戶?還是先在行業(yè)里面混混,過幾年轉(zhuǎn)行做點別的?這很重要,它將決定你近幾年、十年內(nèi)“做什么事情才是在做正確的事情!”。
三、
軟件開發(fā)團(tuán)隊中,技術(shù)不是萬能的,但沒有技術(shù)是萬萬不能的!
在技術(shù)型團(tuán)隊中,技術(shù)與人品同等重要,當(dāng)然長相也比較重要哈,尤其在MM比較多的團(tuán)隊中。在軟件項目團(tuán)隊中,技術(shù)水平是受人重視和尊重的重要砝碼。無論你是做管理、系統(tǒng)分析、設(shè)計、編碼,還是產(chǎn)品管理、測試、文檔、實施、維護(hù),多少你都要有技術(shù)基礎(chǔ)。
算我孤陋寡聞,我還真沒有親眼看到過一個外行帶領(lǐng)一個軟件開發(fā)團(tuán)隊成功地完成過軟件開發(fā)項目,哪怕就一個,也沒有看到。倒是曾經(jīng)看到過一個“高學(xué)歷的牛人”(非技術(shù)型)帶一堆人做完過一個項目,項目交付的第二天,項目組成員扔下一句“再也受不了啦!”四分五裂、各奔東西。那個項目的“成功度”大家可想而知了。四、
詳細(xì)制定自己軟件開發(fā)專業(yè)知識學(xué)習(xí)計劃,并注意及時修正和調(diào)整(軟件開發(fā)技術(shù)變化實在太快)。
請牢記:“如果一個軟件開發(fā)人員在1、2年內(nèi)都沒有更新過自己的知識,那么,其實他已經(jīng)不再屬于這個行業(yè)了。”
不要告訴自己沒有時間。來自時間管理領(lǐng)域的著名的“三八原則”告誡我們:另外的那8小時如何使用將決定你的人生成敗!本人自畢業(yè)以來,平均每天實際學(xué)習(xí)時間超過2小時。
五、
書籍是人類進(jìn)步的階梯,對軟件開發(fā)人員尤其如此。
書籍是學(xué)習(xí)知識的最有效途徑,不要過多地指望在工作中能遇到“世外高人”,并不厭其煩地教你。
對于花錢買書,我個人經(jīng)驗是:千萬別買國內(nèi)那幫人出的書!我買的那些家伙出的書,100%全部后悔了,無一本例外。更氣憤的是,這些書在二手市場的地攤上都很難賣掉。“擁有書籍并不表示擁有知識;擁有知識并不表示擁有技能;擁有技能并不表示擁有文化;擁有文化并不表示擁有智慧。”只有將書本變成的自己智慧,才算是真正擁有了它。
六
不要僅局限于對某項技術(shù)的表面使用上,哪怕你只是偶爾用一、二次。“對任何事物不究就里”是任何行業(yè)的工程師所不應(yīng)該具備的素質(zhì)。
開發(fā)Windows應(yīng)用程序,看看Windows程序的設(shè)計、加載、執(zhí)行原理,分析一下PE文件格式,試試用SDK開發(fā)從頭開發(fā)一個Windows應(yīng)用程序;用VC++、
Delphi、Java、.Net開發(fā)應(yīng)用程序,花時間去研究一下MFC、VCL、J2EE、.Net它們框架設(shè)計或者源碼;除了會用J2EE、
JBoss、Spring、Hibernate等等優(yōu)秀的開源產(chǎn)品或者框架,抽空看看大師們是如何抽象、分析、設(shè)計和實現(xiàn)那些類似問題的通用解決方案的。
試著這樣做做,你以后的工作將會少遇到一些讓你不明就里、一頭霧水的問題,因為,很多東西你“知其然且知其所以然”!
七
在一種語言上編程,但別為其束縛了思想。
“代碼大全”中說:“深入一門語言編程,不要浮于表面”。深入一門語言開發(fā)還遠(yuǎn)遠(yuǎn)不足,任何編程語言的存在都有其自身的理由,所以也沒有哪門語言是“包治百病”的“靈丹妙藥”。編程語言對開發(fā)人員解決具體問題的思路和方式的影響與束縛的例子俯拾皆是。
我的經(jīng)驗是:用面對對象工具開發(fā)某些關(guān)鍵模塊時,為什么不可以借鑒C、C51、匯編的模塊化封裝方式?用傳統(tǒng)的桌面開發(fā)工具(目前主要有VC++、Delphi)進(jìn)行系統(tǒng)體統(tǒng)結(jié)構(gòu)設(shè)計時,為什么不可以參考來自Java社區(qū)的IoC、AOP設(shè)計思想,甚至借鑒像Spring、Hibernate、JBoss等等優(yōu)秀的開源框架?在進(jìn)行類似于實時通信、數(shù)據(jù)采集等功能的設(shè)計、實現(xiàn)時,為什么不可以引用來自實時系統(tǒng)、嵌入式系統(tǒng)的優(yōu)秀的體系框架與模式?為什么一切都必須以個人、團(tuán)隊在當(dāng)然開發(fā)語言上的傳統(tǒng)或者經(jīng)驗來解決問題???“他山之石、可以攻玉”。
八
眾所周知,對軟件開發(fā)人員而言,有、無經(jīng)驗的一個顯著區(qū)別是:無經(jīng)驗者完成任何任務(wù)時都從頭開始,而有經(jīng)驗者往往通過重組自己的可復(fù)用模塊、類庫來解決問題(其實這個結(jié)論不應(yīng)該被局限在軟件開發(fā)領(lǐng)域、可以延伸到很多方面)。這并不是說,所有可復(fù)用的東西都必須自己實現(xiàn),別人成熟的通過測試的成果也可以收集、整理、集成到自己的知識庫中。但是,最好還是自己實現(xiàn),這樣沒有知識產(chǎn)權(quán)、版權(quán)等問題,關(guān)鍵是自己實現(xiàn)后能真正掌握這個知識點,擁有這個技能。
養(yǎng)成總結(jié)與反思的習(xí)慣,并有意識地提煉日常工作成果,形成自己的個人源碼庫、解決某類問題的通用系統(tǒng)體系結(jié)構(gòu)、甚至進(jìn)化為框架。
九
工程師的內(nèi)涵是:以工程師的眼光觀察、分析事物和世界。
一個合格的軟件工程師,是真正理解了軟件產(chǎn)品的本質(zhì)及軟件產(chǎn)品研發(fā)的思想精髓的人(個人觀點、歡迎探討)。
掌握軟件開發(fā)語言、應(yīng)用語言工具解決工作中的具體問題、完成目標(biāo)任務(wù)是軟件工程師的主要工作,但從軟件工程師這個角度來看,這只是外在的東西,并非重要的、本質(zhì)的工作。學(xué)習(xí)、掌握軟件產(chǎn)品開發(fā)理論知識、軟件開發(fā)方法論,并在實踐中理解、應(yīng)用軟件產(chǎn)品的分析、設(shè)計、實現(xiàn)思想來解決具體的軟件產(chǎn)品研發(fā)問題,才是真正的軟件工程師的工作。站在成熟理論與可靠方法論的高度思考、分析、解決問題,并在具體實踐中驗證和修正這些思想與方式,最終形成自己的理論體系和實用方法論。
十、
書到用時方恨少,不要將自己的知識面僅僅局限于技術(shù)方面。
盡量參加開源項目的開發(fā)、或者與朋友共同研制一些自己的產(chǎn)品,千萬不要因為沒有錢賺而不做。網(wǎng)絡(luò)早已不再只是“虛擬世界”,網(wǎng)上有很多的開源項目、合作開發(fā)項目、外包項目,這都是涉獵工作以外的知識的絕好機(jī)會,并且能夠結(jié)識更廣的人緣。不要因為工作是做ERP,就不去學(xué)習(xí)和了解嵌入式、實時、通信、網(wǎng)絡(luò)等方面的技術(shù),反過來也是一樣。如果當(dāng)別人拿著合同找你合作,你卻這也不會,那也不熟時,你將后悔莫及。
posted on 2010-05-20 10:29
ACong 閱讀(286)
評論(2) 編輯 收藏 引用