每個人開發(fā)者都是由初級一步一步走向高級工程師。當(dāng)然私痹,不是說工作了多少年就能稱為一名合格的高級軟件工程師踢星。有可能和你一同學(xué)習(xí)的人一兩年的時間就拉開了距離。究其原因表牢,我個人看法窄绒,有以下幾點:
好學(xué):別人下班放學(xué)擠地鐵都在學(xué)習(xí),你在上網(wǎng)看視頻玩游戲
天分:這個很難超越崔兴,有些人他天生就屬于這個行業(yè)彰导,對于技術(shù)一點就通,一悟就會
環(huán)境:好的開發(fā)團隊能讓人飛速進步
經(jīng)驗是不平等的
自學(xué)5年編程敲茄,有可能比不上一個全職工作一年的人位谋。5年你可能掌握了大量的理論知識,但是如果沒有實踐很難學(xué)精堰燎。工作中會碰到各種奇怪的問題掏父。還有沒有和其他人合作,你的代碼沒有被其他開發(fā)者審核過秆剪,你就不會知道代碼存在哪些缺陷赊淑,也就很難進步。
導(dǎo)師很重要
好的導(dǎo)師能讓你快速成長進步鸟款,你可能對某個知識點思考了半天甚至一個星期都沒有弄明白膏燃。如果有經(jīng)驗豐富的人指點就有一種柳暗花明又一村的感覺。
職稱不是很重要
5人團隊的首席技術(shù)官與50人團隊或500人團隊不同何什,所做的工作和技能也完全不同组哩。“高級”職稱并不代表就是高級工程師处渣,所以不要在意職稱伶贰,能力最重要。
測試很重要
記住一句話罐栈,你寫的代碼是不可靠的黍衙。必須測試,測試荠诬,再測試琅翻。
不要麻木追求新技術(shù)
新技術(shù)很好,但不要隨意將新技術(shù)引進到項目當(dāng)中柑贞》阶担可以先了解學(xué)習(xí)新技術(shù),然后再看它是否適合應(yīng)用到項目中钧嘶。
有缺陷是正常的
世界上沒有任何一個完美項目棠众。就算再完美的技術(shù)團隊或者技術(shù)非常高超的人,也會有設(shè)計漏洞有决。如果你剛加入公司不要抱怨前同事寫的代碼爛闸拿,甚至有種沖動想把項目推倒重來空盼。對于一個非常小的項目,如果你有足夠的把握說服公司領(lǐng)導(dǎo)層或者和團隊一起討論重新設(shè)計是不錯的選擇新荤。但是揽趾,一個巨大項目想重新開始是非常不明智的。第一迟隅,無限增加時間成本但骨;第二,可能你重新設(shè)計剛開始會比之前合理些智袭,但隨著時間推移奔缠,你的設(shè)計也會有設(shè)計的非常糟糕的地方。公認很好的解決方法是吼野,在開發(fā)新需求的時候三思校哎,盡量把代碼設(shè)計合理,一旦發(fā)現(xiàn)不合理的代碼馬上重構(gòu)瞳步。
代碼質(zhì)量最重要
如果一個項目除了你還有其他開發(fā)同事闷哆。那么,就應(yīng)該制定代碼風(fēng)格单起,一個項目不同代碼風(fēng)格一個顯的不專業(yè)抱怔,造成代碼混亂。另外嘀倒,不同的風(fēng)格不易理解屈留,項目開發(fā)中一大筆時間是閱讀之前的代碼。同時也要互相代碼審核测蘑,不要把它看做是一種壓力灌危,每個人都會犯錯誤,互相審核可以降低代碼缺陷碳胳。
重構(gòu)需三思
重構(gòu)代碼時最好先弄清楚相關(guān)代碼會對哪些功能產(chǎn)生影響勇蝙,一塊代碼區(qū)可能和多個功能相關(guān)聯(lián)。你出于好意挨约,改好了某個功能缺陷影響到其他功能就得不償失了味混。個人建議修改代碼需三思,如果是和你共事同事寫的代碼诫惭,最好是由他改寫惜傲,或者問清楚再改動。
技術(shù)債
技術(shù)債的定義是指開發(fā)人員為了加速軟件開發(fā)贝攒,在應(yīng)該采用最佳方案時進行了妥協(xié),改用了短期內(nèi)能加速軟件開發(fā)的方案时甚,從而在未來給自己帶來的額外開發(fā)負擔(dān)隘弊。
看起來好像我們不應(yīng)該背負任何技術(shù)債哈踱。其實不然,適當(dāng)妥協(xié)有時是一種不錯的選擇梨熙。不要理解錯我的意思开镣,如果你明知道只要多加思考就能想到更好的技術(shù)方法,而你為了圖方便選擇背負技術(shù)債就是你的不對了咽扇。當(dāng)今軟件行業(yè)講究快速迭代邪财,時間就是金錢。如果沒有找到一個合適的技術(shù)方案而放棄一個核心功能质欲,可能會競爭對手趕超甚至淘汰树埠。
資歷意味著成為最好的程序員
除編程外,高級工程師必須具備許多其他技能嘶伟,溝通和項目管理怎憋。
不是每個人都會在職業(yè)生涯中成為“高級”。資歷需要多年工作經(jīng)驗的累積九昧。然而绊袋,多年的經(jīng)驗是資歷的必要但不充分的條件。它必須是一種正確的體驗铸鹰,在這種體驗中癌别,你將正確的課程內(nèi)化,并成功地將這些學(xué)習(xí)應(yīng)用于未來蹋笼。有時候展姐,更大的課程可能需要一年或更長時間才能完全顯現(xiàn) - 這就是為什么多年的經(jīng)驗仍然很重要,即使你是一個非常好的程序員姓建。
我們在某些方面仍處于初級階段诞仓。最后很重要,無論你有多少年工作經(jīng)驗速兔,仍然有一些你不太了解的地方墅拭。承認你不知道的是填補這一空白并從更有經(jīng)驗的人。