2019-06-24 收藏轉(zhuǎn)發(fā)

出處

每個(gè)人開(kāi)發(fā)者都是由初級(jí)一步一步走向高級(jí)工程師。當(dāng)然,不是說(shuō)工作了多少年就能稱為一名合格的高級(jí)軟件工程師。有可能和你一同學(xué)習(xí)的人一兩年的時(shí)間就拉開(kāi)了距離。究其原因,我個(gè)人看法,有以下幾點(diǎn):

好學(xué):別人下班放學(xué)擠地鐵都在學(xué)習(xí),你在上網(wǎng)看視頻玩游戲

天分:這個(gè)很難超越,有些人他天生就屬于這個(gè)行業(yè),對(duì)于技術(shù)一點(diǎn)就通,一悟就會(huì)

環(huán)境:好的開(kāi)發(fā)團(tuán)隊(duì)能讓人飛速進(jìn)步

經(jīng)驗(yàn)是不平等的
自學(xué)5年編程,有可能比不上一個(gè)全職工作一年的人。5年你可能掌握了大量的理論知識(shí),但是如果沒(méi)有實(shí)踐很難學(xué)精。工作中會(huì)碰到各種奇怪的問(wèn)題。還有沒(méi)有和其他人合作,你的代碼沒(méi)有被其他開(kāi)發(fā)者審核過(guò),你就不會(huì)知道代碼存在哪些缺陷,也就很難進(jìn)步。

導(dǎo)師很重要
好的導(dǎo)師能讓你快速成長(zhǎng)進(jìn)步,你可能對(duì)某個(gè)知識(shí)點(diǎn)思考了半天甚至一個(gè)星期都沒(méi)有弄明白。如果有經(jīng)驗(yàn)豐富的人指點(diǎn)就有一種柳暗花明又一村的感覺(jué)。

職稱不是很重要
5人團(tuán)隊(duì)的首席技術(shù)官與50人團(tuán)隊(duì)或500人團(tuán)隊(duì)不同,所做的工作和技能也完全不同?!案呒?jí)”職稱并不代表就是高級(jí)工程師,所以不要在意職稱,能力最重要。

測(cè)試很重要
記住一句話,你寫的代碼是不可靠的。必須測(cè)試,測(cè)試,再測(cè)試。

不要麻木追求新技術(shù)
新技術(shù)很好,但不要隨意將新技術(shù)引進(jìn)到項(xiàng)目當(dāng)中。可以先了解學(xué)習(xí)新技術(shù),然后再看它是否適合應(yīng)用到項(xiàng)目中。

有缺陷是正常的
世界上沒(méi)有任何一個(gè)完美項(xiàng)目。就算再完美的技術(shù)團(tuán)隊(duì)或者技術(shù)非常高超的人,也會(huì)有設(shè)計(jì)漏洞。如果你剛加入公司不要抱怨前同事寫的代碼爛,甚至有種沖動(dòng)想把項(xiàng)目推倒重來(lái)。對(duì)于一個(gè)非常小的項(xiàng)目,如果你有足夠的把握說(shuō)服公司領(lǐng)導(dǎo)層或者和團(tuán)隊(duì)一起討論重新設(shè)計(jì)是不錯(cuò)的選擇。但是,一個(gè)巨大項(xiàng)目想重新開(kāi)始是非常不明智的。第一,無(wú)限增加時(shí)間成本;第二,可能你重新設(shè)計(jì)剛開(kāi)始會(huì)比之前合理些,但隨著時(shí)間推移,你的設(shè)計(jì)也會(huì)有設(shè)計(jì)的非常糟糕的地方。公認(rèn)很好的解決方法是,在開(kāi)發(fā)新需求的時(shí)候三思,盡量把代碼設(shè)計(jì)合理,一旦發(fā)現(xiàn)不合理的代碼馬上重構(gòu)。

代碼質(zhì)量最重要
如果一個(gè)項(xiàng)目除了你還有其他開(kāi)發(fā)同事。那么,就應(yīng)該制定代碼風(fēng)格,一個(gè)項(xiàng)目不同代碼風(fēng)格一個(gè)顯的不專業(yè),造成代碼混亂。另外,不同的風(fēng)格不易理解,項(xiàng)目開(kāi)發(fā)中一大筆時(shí)間是閱讀之前的代碼。同時(shí)也要互相代碼審核,不要把它看做是一種壓力,每個(gè)人都會(huì)犯錯(cuò)誤,互相審核可以降低代碼缺陷。

重構(gòu)需三思
重構(gòu)代碼時(shí)最好先弄清楚相關(guān)代碼會(huì)對(duì)哪些功能產(chǎn)生影響,一塊代碼區(qū)可能和多個(gè)功能相關(guān)聯(lián)。你出于好意,改好了某個(gè)功能缺陷影響到其他功能就得不償失了。個(gè)人建議修改代碼需三思,如果是和你共事同事寫的代碼,最好是由他改寫,或者問(wèn)清楚再改動(dòng)。

技術(shù)債
技術(shù)債的定義是指開(kāi)發(fā)人員為了加速軟件開(kāi)發(fā),在應(yīng)該采用最佳方案時(shí)進(jìn)行了妥協(xié),改用了短期內(nèi)能加速軟件開(kāi)發(fā)的方案,從而在未來(lái)給自己帶來(lái)的額外開(kāi)發(fā)負(fù)擔(dān)。

看起來(lái)好像我們不應(yīng)該背負(fù)任何技術(shù)債。其實(shí)不然,適當(dāng)妥協(xié)有時(shí)是一種不錯(cuò)的選擇。不要理解錯(cuò)我的意思,如果你明知道只要多加思考就能想到更好的技術(shù)方法,而你為了圖方便選擇背負(fù)技術(shù)債就是你的不對(duì)了。當(dāng)今軟件行業(yè)講究快速迭代,時(shí)間就是金錢。如果沒(méi)有找到一個(gè)合適的技術(shù)方案而放棄一個(gè)核心功能,可能會(huì)競(jìng)爭(zhēng)對(duì)手趕超甚至淘汰。

資歷意味著成為最好的程序員
除編程外,高級(jí)工程師必須具備許多其他技能,溝通和項(xiàng)目管理。

不是每個(gè)人都會(huì)在職業(yè)生涯中成為“高級(jí)”。資歷需要多年工作經(jīng)驗(yàn)的累積。然而,多年的經(jīng)驗(yàn)是資歷的必要但不充分的條件。它必須是一種正確的體驗(yàn),在這種體驗(yàn)中,你將正確的課程內(nèi)化,并成功地將這些學(xué)習(xí)應(yīng)用于未來(lái)。有時(shí)候,更大的課程可能需要一年或更長(zhǎng)時(shí)間才能完全顯現(xiàn) - 這就是為什么多年的經(jīng)驗(yàn)仍然很重要,即使你是一個(gè)非常好的程序員。

我們?cè)谀承┓矫嫒蕴幱诔跫?jí)階段。最后很重要,無(wú)論你有多少年工作經(jīng)驗(yàn),仍然有一些你不太了解的地方。承認(rèn)你不知道的是填補(bǔ)這一空白并從更有經(jīng)驗(yàn)的人。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容