如果剛畢業,就多花幾年積累經驗,不可能靠一門絕技吃遍天下,不要指望java 賺錢多還是c++ or .NET 賺錢多。太早。 積累經驗為主。積累設計,架構,測試,交流,管理,情商等多方面的經驗。然后再根據以后n年的積累做出決定。理想的情況是一專,多能。必須有一樣精通的,但是要知道,所謂的高手決不是只會一項,到了他們的級別,什么都一樣,看的是學習能力和推理能力。
所以(yi),先靜(jing)下心來(lai)積累經驗。
1、一定要確定自己的發展方向,并為此目的制定可行的計劃。不要(yao)說什么,“我剛畢(bi)業(ye),還不知(zhi)道將來可能(neng)做(zuo)(zuo)什么?”,“跟著(zhu)感覺走,先(xian)做(zuo)(zuo)做(zuo)(zuo)看”。因為(wei)(wei),這(zhe)樣(yang)的(de)觀點會通過你的(de)潛意識(shi)去暗(an)示你的(de)行為(wei)(wei)無所事(shi)事(shi)、碌碌無為(wei)(wei)。一(yi)直做(zuo)(zuo)技術,將來成為(wei)(wei)專(zhuan)家級人物?向管理(li)方向走,成為(wei)(wei)職業(ye)經理(li)人?先(xian)熟(shu)悉行業(ye)和領域,將來自立(li)門戶?還是(shi)先(xian)在行業(ye)里面混混,過幾(ji)年轉行做(zuo)(zuo)點別(bie)的(de)?這(zhe)很(hen)重要(yao),它將決定你近幾(ji)年、十年內“做(zuo)(zuo)什么事(shi)情才是(shi)在做(zuo)(zuo)正確的(de)事(shi)情!”。
2、軟件開發團隊中,技術不是萬能的,但沒有技術是萬萬不能的!在技術型團隊(dui)中(zhong),技術與(yu)人(ren)(ren)品(pin)同等重(zhong)(zhong)(zhong)要(yao),當然長(chang)相也比(bi)較重(zhong)(zhong)(zhong)要(yao)哈,尤其在MM比(bi)較多的團隊(dui)中(zhong)。在軟件項(xiang)(xiang)目團隊(dui)中(zhong),技術水(shui)平是受人(ren)(ren)重(zhong)(zhong)(zhong)視(shi)和尊(zun)重(zhong)(zhong)(zhong)的重(zhong)(zhong)(zhong)要(yao)砝碼(ma)。無論(lun)你(ni)是做管理、系統分析、設計(ji)、編碼(ma),還是產品(pin)管理、測試、文(wen)檔(dang)、實施、維(wei)護,多少你(ni)都(dou)要(yao)有(you)技術基礎。算(suan)我孤陋寡聞,我還真(zhen)沒有(you)親眼看(kan)到過(guo)(guo)一(yi)個(ge)外行帶領一(yi)個(ge)軟件開發團隊(dui)成(cheng)功地完成(cheng)過(guo)(guo)軟件開發項(xiang)(xiang)目,哪(na)怕就(jiu)一(yi)個(ge),也沒有(you)看(kan)到。倒是曾(ceng)經看(kan)到過(guo)(guo)一(yi)個(ge)“高學歷的牛(niu)人(ren)(ren)”(非技術型)帶一(yi)堆(dui)人(ren)(ren)做完過(guo)(guo)一(yi)個(ge)項(xiang)(xiang)目,項(xiang)(xiang)目交付的第二(er)天,項(xiang)(xiang)目組成(cheng)員扔下一(yi)句“再也受不了(le)啦!”四分五裂(lie)、各奔(ben)東西(xi)。那個(ge)項(xiang)(xiang)目的“成(cheng)功度(du)”大家可想而知了(le)。
3、詳細制定自己軟件開發專業知識學習計劃,并注意及時修正和調整(軟件開發技術變化實在太快)。請牢記(ji):“如(ru)果一(yi)個軟(ruan)件開發人(ren)員(yuan)在1、2年內都沒(mei)有更新過自己的(de)知識,那么,其實他已經不(bu)再(zai)屬于這(zhe)個行業了。”不(bu)要(yao)告訴自己沒(mei)有時(shi)間(jian)。來(lai)自時(shi)間(jian)管理(li)領域的(de)著(zhu)名的(de)“三(san)八原(yuan)則”告誡我們:另外(wai)的(de)那8小時(shi)如(ru)何(he)使用將決定你(ni)的(de)人(ren)生(sheng)成敗!
4、書籍是人類進步的階梯,對軟件開發人員尤其如此。書(shu)籍是學(xue)習知識(shi)的最有(you)效途徑,不(bu)要過多地指望在工作中(zhong)能遇(yu)到(dao)“世外高人”,并不(bu)厭(yan)其煩地教你。擁(yong)(yong)有(you)書(shu)籍并不(bu)表(biao)(biao)示擁(yong)(yong)有(you)知識(shi);擁(yong)(yong)有(you)知識(shi)并不(bu)表(biao)(biao)示擁(yong)(yong)有(you)技能;擁(yong)(yong)有(you)技能并不(bu)表(biao)(biao)示擁(yong)(yong)有(you)文化;擁(yong)(yong)有(you)文化并不(bu)表(biao)(biao)示擁(yong)(yong)有(you)智慧。”只有(you)將(jiang)書(shu)本變(bian)成的自己智慧,才算是真正擁(yong)(yong)有(you)了它。
5、不要僅局限于對某項技術的表面使用上,哪怕你只是偶爾用一、二次。“對任何事物不究(jiu)就里”是任何行(xing)業的(de)工程(cheng)師所不應(ying)(ying)該具備(bei)的(de)素質(zhi)。開(kai)發Windows應(ying)(ying)用程(cheng)序(xu),看(kan)看(kan)Windows程(cheng)序(xu)的(de)設計(ji)、加載、執行(xing)原(yuan)理,分析一(yi)下PE文件格式,試(shi)試(shi)用SDK開(kai)發從(cong)頭開(kai)發一(yi)個Windows應(ying)(ying)用程(cheng)序(xu);用VC++、 Delphi、Java、.Net開(kai)發應(ying)(ying)用程(cheng)序(xu),花(hua)時間去(qu)研(yan)究(jiu)一(yi)下MFC、VCL、J2EE、.Net它們框(kuang)架設計(ji)或者源碼;除了會(hui)用J2EE、 JBoss、Spring、Hibernate等等優秀的(de)開(kai)源產品或者框(kuang)架,抽空看(kan)看(kan)大師們是如何抽象、分析、設計(ji)和實現那(nei)些類似問題的(de)通(tong)用解(jie)決方案的(de)。試(shi)著(zhu)這樣做做,你(ni)以后(hou)的(de)工作將會(hui)少(shao)遇到(dao)一(yi)些讓你(ni)不明就里、一(yi)頭霧(wu)水的(de)問題,因為,很多東(dong)西你(ni)“知(zhi)其(qi)然且知(zhi)其(qi)所以然”!
6、在一種語言上編程,但別為其束縛了思想。“代(dai)碼大全(quan)”中說:“深(shen)(shen)入(ru)一(yi)門語(yu)(yu)言(yan)(yan)編(bian)程,不(bu)要浮于(yu)表面(mian)(mian)”。深(shen)(shen)入(ru)一(yi)門語(yu)(yu)言(yan)(yan)開(kai)發(fa)還遠遠不(bu)足,任何編(bian)程語(yu)(yu)言(yan)(yan)的(de)(de)(de)存在都(dou)有其自(zi)(zi)身的(de)(de)(de)理由,所以(yi)也沒(mei)有哪門語(yu)(yu)言(yan)(yan)是“包治百病”的(de)(de)(de)“靈丹妙藥(yao)”。編(bian)程語(yu)(yu)言(yan)(yan)對開(kai)發(fa)人員解決具體(ti)問(wen)題的(de)(de)(de)思路和方式(shi)(shi)的(de)(de)(de)影響(xiang)與束縛(fu)的(de)(de)(de)例(li)子俯拾皆是。我的(de)(de)(de)經驗是:用面(mian)(mian)對對象工(gong)具開(kai)發(fa)某些關鍵模(mo)塊時,為(wei)什(shen)么(me)不(bu)可(ke)以(yi)借鑒(jian)C、C51、匯(hui)編(bian)的(de)(de)(de)模(mo)塊化封裝方式(shi)(shi)?用傳(chuan)統(tong)(tong)(tong)的(de)(de)(de)桌面(mian)(mian)開(kai)發(fa)工(gong)具(目前主要有VC++、Delphi)進行系(xi)統(tong)(tong)(tong)體(ti)統(tong)(tong)(tong)結構設(she)計時,為(wei)什(shen)么(me)不(bu)可(ke)以(yi)參考來自(zi)(zi)Java社區(qu)的(de)(de)(de)IoC、AOP設(she)計思想,甚至借鑒(jian)像Spring、Hibernate、JBoss等(deng)等(deng)優(you)秀的(de)(de)(de)開(kai)源框(kuang)架?在進行類似于(yu)實(shi)(shi)時通信、數據采(cai)集等(deng)功能的(de)(de)(de)設(she)計、實(shi)(shi)現時,為(wei)什(shen)么(me)不(bu)可(ke)以(yi)引用來自(zi)(zi)實(shi)(shi)時系(xi)統(tong)(tong)(tong)、嵌入(ru)式(shi)(shi)系(xi)統(tong)(tong)(tong)的(de)(de)(de)優(you)秀的(de)(de)(de)體(ti)系(xi)框(kuang)架與模(mo)式(shi)(shi)?為(wei)什(shen)么(me)一(yi)切(qie)都(dou)必須以(yi)個(ge)人、團隊在當(dang)然開(kai)發(fa)語(yu)(yu)言(yan)(yan)上的(de)(de)(de)傳(chuan)統(tong)(tong)(tong)或者經驗來解決問(wen)題???“他山之石(shi)、可(ke)以(yi)攻(gong)玉”。
7、養成總結與反思的習慣,并有意識地提煉日常工作成果,形成自己的個人源碼庫、解決某類問題的通用系統體系結構、甚至進化為框架。眾(zhong)所周知(zhi),對軟件開(kai)發人員而言(yan),有(you)、無經(jing)(jing)驗的一個顯(xian)著(zhu)區別是:無經(jing)(jing)驗者(zhe)完成任何任務時都從頭開(kai)始,而有(you)經(jing)(jing)驗者(zhe)往往通過(guo)重組自(zi)己(ji)(ji)(ji)的可(ke)復(fu)用(yong)模塊、類(lei)庫來(lai)解決問題(其實這(zhe)(zhe)個結論不應該被局限在軟件開(kai)發領域、可(ke)以延伸到很多方面)。這(zhe)(zhe)并(bing)不是說,所有(you)可(ke)復(fu)用(yong)的東西都必須(xu)自(zi)己(ji)(ji)(ji)實現,別人成熟的通過(guo)測試的成果也可(ke)以收集、整理、集成到自(zi)己(ji)(ji)(ji)的知(zhi)識庫中。但是,最好還是自(zi)己(ji)(ji)(ji)實現,這(zhe)(zhe)樣沒有(you)知(zhi)識產權、版權等問題,關(guan)鍵(jian)是自(zi)己(ji)(ji)(ji)實現后能真正掌握這(zhe)(zhe)個知(zhi)識點(dian),擁有(you)這(zhe)(zhe)個技能。