轉(zhuǎn)帖|其它|編輯:王香|2017-04-19 11:05:24.000|閱讀 185 次
概述:作為程序員,工作時(shí)間和經(jīng)驗(yàn)尤為寶貴,單從工資來(lái)講,一個(gè)新人程序員和老司機(jī)有著明顯的差距,那么新人程序員如何才能盡快脫穎而出,一步步超越自己,下面為大家分享三點(diǎn)受用的經(jīng)驗(yàn)。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
下面逐一分析這三點(diǎn):
遇事追蹤溯源,不害怕改已有的代碼
新人通常會(huì)從新加一個(gè)相似的功能或者修bug開始逐步熟悉原有的系統(tǒng),這時(shí)無(wú)論原有的代碼寫的怎么樣,都應(yīng)仔細(xì)的思考每段相關(guān)代碼的作用和對(duì)應(yīng)的需求,努力做到追蹤溯源,掌握它們的來(lái)龍去脈,這時(shí)再做task就會(huì)游刃有余,在做相似功能時(shí),你知道哪些地方已經(jīng)實(shí)現(xiàn)可以復(fù)用,哪些地方因?yàn)?新加的代碼應(yīng)該做些重構(gòu)。
修bug時(shí),你可以從根本原因出發(fā),解決問(wèn)題,而不是在出現(xiàn)問(wèn)題的地方修修補(bǔ)補(bǔ);更重要的是你不會(huì)打怵修改原有的代碼而躡手躡腳。當(dāng)然一旦發(fā)現(xiàn)要修改大段的原有代碼或者設(shè)計(jì),還是要主動(dòng)和老員工先確認(rèn)下思路是否可行,是否有遺漏的地方再開始。但不出意外,你會(huì)一下子就給別人留下一個(gè)好的第一印象,因?yàn)槟銢](méi)有在機(jī)械的完成任務(wù),而是先做了深入思考。
寫到這里不禁想起,自己剛工作時(shí)改了一個(gè)bug,當(dāng)時(shí)的做法是在創(chuàng)建一個(gè)文件的代碼之后3行再把這個(gè)文件刪了,只加了一行代碼就修好了,發(fā)給老員工review時(shí)還在竊喜自己只改一行代碼就解決問(wèn)題了,結(jié)果老員工一句話就把我問(wèn)傻了,前面的那個(gè)文件為什么要?jiǎng)?chuàng)建呀?我當(dāng)然不知道了,因?yàn)楫?dāng)時(shí)我想原有的代碼我不熟悉就最好不動(dòng)。于是,那一刻我得到了工作生涯第一個(gè)重要的建議,應(yīng)該找到根本原因(root cause)后再修改代碼。這時(shí)你不僅可以做好手中的任務(wù),還能進(jìn)一步思考問(wèn)題是不是代碼設(shè)計(jì)不合理造成的,同時(shí)不會(huì)怕改已有的代碼。
在保證編碼正確的前提下,要足夠快
新人在做第一個(gè)任務(wù)時(shí)都想留下好印象的,首先要做的就是一定要保證修改是正確的,這里不僅局限于正常情況下功能正確,還應(yīng)考慮邊界條件,錯(cuò)誤處理情況等等,最后再提交代碼時(shí)要最終確認(rèn)一下單元測(cè)試過(guò)不過(guò),提交代碼后再注意下Jenkins bulid過(guò)不過(guò)。這一切都是為了防止出現(xiàn)以下情況:
別以為這些都些小事,它直接關(guān)乎別人對(duì)你的評(píng)價(jià)。不犯低級(jí)錯(cuò)誤,建立起嚴(yán)謹(jǐn)?shù)挠∠螅欠浅S兄谀阍谛颅h(huán)境下脫穎而出的。
試想一下,你持續(xù)超出別人的預(yù)期,并保質(zhì)保量的完成了task,哪個(gè)領(lǐng)導(dǎo)和同事會(huì)不喜歡你呢?千萬(wàn)不要狹隘的覺(jué)得自己做的快了要多做事,何苦呀。也許短期內(nèi)你多做了一些原本沒(méi)分配給你的任務(wù),但你在別人心中逐步建立起嚴(yán)謹(jǐn)高效的印象,從長(zhǎng)期來(lái)看將給你帶來(lái)更多的機(jī)遇(本人就是因此受益)。
主動(dòng)承接他人不愿意做的或者沒(méi)做的事
逆向思考下,人家為什么招你進(jìn)來(lái)?相信絕大多數(shù)情況是事情多做不過(guò)來(lái),缺人了。事情多了一定有老員工不愿意做,或者因?yàn)楦鞣N原因沒(méi)做的事。作為新人,做了別人不愿意做的事可以緩和他人的壓力;做了別人沒(méi)做的事,將為團(tuán)隊(duì)增加產(chǎn)出,如果這件事還是一個(gè)技術(shù)難題,那不是正好可以讓別人眼前一亮,證明自己的實(shí)力嗎?
其實(shí)關(guān)于這一點(diǎn),在做的時(shí)候要進(jìn)一步深入思考。別人為什么不愿意做或者沒(méi)做某些事?是因?yàn)槿狈ο嚓P(guān)知識(shí)而沒(méi)有做?還是因?yàn)闆](méi)有自動(dòng)化每次手動(dòng)操作既耗時(shí)又容易出錯(cuò)?是因?yàn)閮?yōu)先級(jí)不高?還是因?yàn)橥度氘a(chǎn)出比不高?是因?yàn)榇a結(jié)構(gòu)不合理導(dǎo)致無(wú)法快速加上?還是因?yàn)樾枨蟛幻鞔_?是不是團(tuán)隊(duì)里的人因?yàn)樗?維定式錯(cuò)誤估計(jì)了問(wèn)題?是不是可以從其他的角度解決這個(gè)問(wèn)題?要深入思考后,才能從根源入手,從而正確的解決問(wèn)題。切記不要機(jī)械的完成任務(wù),要努力讓你的加入使團(tuán)隊(duì)變的更好。
自己在第二份工作的開始階段,就發(fā)現(xiàn)團(tuán)隊(duì)還沒(méi)有使用持續(xù)集成的工具在統(tǒng)一的環(huán)境下交付測(cè)試,測(cè)試還在通過(guò)訪問(wèn)開發(fā)機(jī)器上的網(wǎng)站驗(yàn)證功能,結(jié)果開發(fā)之間互相break情況經(jīng)常發(fā)生,項(xiàng)目質(zhì)量也無(wú)法保證。詢問(wèn)后才知道,大家也很希望改進(jìn)現(xiàn)狀,只是因?yàn)橐恍┰驔](méi)法得到系統(tǒng)組的支持,組內(nèi)也沒(méi)人來(lái)搭建持續(xù)集成的環(huán)境。
于是我利用一開始相對(duì)輕松的時(shí)間,使用teamcity搭建出持續(xù)集成的環(huán)境,一時(shí)間大家都紛紛叫好,加上自己又接連解決了項(xiàng)目中一些棘手同時(shí)沒(méi)人做的問(wèn)題,一下子就樹立了可靠的形象和在團(tuán)隊(duì)里技術(shù)主力的地位,慢慢的即使是公司中其他組沒(méi)合作的過(guò)的人也對(duì)我評(píng)價(jià)很高。我自己琢磨出的原因是團(tuán)隊(duì)里缺能干活的人,但更缺能讓團(tuán)隊(duì)變好的人。
其實(shí)巧的是,如何使用teamcity搭建持續(xù)集成環(huán)境是我在第一份工作離職交接時(shí)主動(dòng)做的最后一個(gè)task,因?yàn)楫?dāng)時(shí)有個(gè)小項(xiàng)目是我獨(dú)立負(fù)責(zé)的,我想在交接時(shí)讓項(xiàng)目更正規(guī)些,就主動(dòng)提出這個(gè)想法,雖然在離職的前天晚上還在加班調(diào)試,當(dāng)天上午還在和同事討論一些細(xì)節(jié),但就是這主動(dòng)多做學(xué)會(huì)的技能成了我在第二份工作里出色開端的重要一環(huán)。
以上內(nèi)容是一位老司機(jī)結(jié)合自己的實(shí)際情況和貼身經(jīng)歷,為大家給出的適用性較強(qiáng)三點(diǎn)建議,作為程序新人的你,不妨試試看,當(dāng)然實(shí)踐并不像說(shuō)得這么輕巧,但是脫穎而出本來(lái)就是少部分優(yōu)秀的人才能做到的事情。
相關(guān)閱讀
本文轉(zhuǎn)自:軟件開發(fā)學(xué)習(xí)資訊
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn