每個(gè)初級程序員都希望有一天能成為一名高級開發(fā)工程師。
當(dāng)程序員想要轉(zhuǎn)向更高需求以及更高層次的角色時(shí),他們的能力也必須隨之提升。但也正因如此,很多人都會(huì)在這種轉(zhuǎn)變中失敗。
程序員們通常認(rèn)為,成為一名高級開發(fā)工程師必定要積累一定年限的經(jīng)驗(yàn)以及十分擅長編程。雖然這些的確是必要因素,但想要成為一名高級開發(fā)工程師還需為之付出更多努力,并在行為上做出轉(zhuǎn)變。
接下來,讓我們來看看導(dǎo)致普通程序員無法成為高級開發(fā)工程師最常見的5種行為習(xí)慣。
無法做出積極的決定
程序員們通常會(huì)將大量的時(shí)間用于業(yè)務(wù)編碼及其解決方案上。然而,工作幾年后,他們開始需要為自己的職業(yè)發(fā)展做出一些更加積極的決定。
成為高級開發(fā)工程師并沒有一條清晰的路徑。你以為大學(xué)畢業(yè)后花幾年時(shí)間成為一名初級開發(fā)者,之后就能自動(dòng)轉(zhuǎn)變?yōu)榻M織中的高級開發(fā)工程師?事情遠(yuǎn)沒有這么簡單。
對程序員來說,向上攀登是需要時(shí)間的。即使你展現(xiàn)出了非凡的技能,但如果你的競爭對手很厲害,那你可能要付出更多的時(shí)間才能成為高級開發(fā)工程師。因此,你需要做出一些具有前瞻性的決策來保持自己的競爭力。
一些程序員會(huì)認(rèn)為關(guān)注員工的成長是管理者的職責(zé),然而這是錯(cuò)誤的想法。管理者可以幫助和支持程序員的職業(yè)決策,但除非程序員自身在努力,不然這個(gè)幫助是徒勞的。
要成為一名高級開發(fā)工程師,你需要依據(jù)經(jīng)驗(yàn)自己評估風(fēng)險(xiǎn),并在機(jī)會(huì)到來時(shí)有所行動(dòng)。如果一直被困在一個(gè)沒有前途的工作中,寄希望于領(lǐng)導(dǎo)關(guān)注并推動(dòng)你前行,這定然會(huì)讓你感到失望。
享受安逸,不愿意做出改變
對那些想要成為高級開發(fā)工程師的程序員來說,持續(xù)待在舒適區(qū)中而不學(xué)習(xí)新東西是極具災(zāi)難性的。作為初級開發(fā)者,他們可能做得不錯(cuò);然而,幾年的停滯不前將會(huì)扼殺他們的動(dòng)力,使他們對自己逐漸失去信心。
許多優(yōu)秀的開發(fā)者一不小心就會(huì)掉進(jìn)舒適的陷阱。
他們最初努力工作以便能更好掌握自己的項(xiàng)目,包括理解應(yīng)用程序,了解代碼的輸入與輸出,用良好的工作質(zhì)量滿足項(xiàng)目需求,并比其他人更快地彌補(bǔ)漏洞。他們的積極性和快速學(xué)習(xí)的能力使他們比同齡人表現(xiàn)得更好,因此他們成為了團(tuán)隊(duì)中最優(yōu)秀的開發(fā)者之一。
但最終,這些程序員被卷入了日常的漩渦之中,開始不再關(guān)注如何構(gòu)建他們的技術(shù)。因?yàn)槟切┤蝿?wù)對他們來說十分簡單,所以他們只需按照流程來完成并交付。他們相信自己的事業(yè)會(huì)順利發(fā)展,那么就沒有必要去改變什么。
這樣的開發(fā)者不再愿意學(xué)習(xí)新的東西,這意味著將自己推入舒適區(qū)。幾年之后,他們發(fā)現(xiàn)自己陷入了一種墨守成規(guī)并失去對長期目標(biāo)關(guān)注的境地。此時(shí),對他們來說做出改變是一個(gè)不小的挑戰(zhàn)。
因此,作為一個(gè)開發(fā)者,不間斷地學(xué)習(xí)是一個(gè)明智的選擇——主動(dòng)迎接挑戰(zhàn)以便始終保持積極的狀態(tài)。如果你想要成為一名高級開發(fā)工程師,就要有意識地持續(xù)努力。
逃避承擔(dān)所有權(quán)和義務(wù)
逃避承擔(dān)所有權(quán)和義務(wù)對于新手程序員來說是一個(gè)典型的錯(cuò)誤,并且大多數(shù)新手程序員在他們以后的職業(yè)生涯中仍然會(huì)犯這個(gè)錯(cuò)誤。
作為一名程序員,你需要掌握你所寫代碼的所有權(quán),需要坦然承認(rèn)自己的錯(cuò)誤并修復(fù)它們,你也必須準(zhǔn)備好在必要時(shí)刻堅(jiān)定自己的選擇。
要成為高級開發(fā)工程師,你必須對整個(gè)項(xiàng)目負(fù)責(zé)。你需要為團(tuán)隊(duì)的問題提出解決方案。你還需要投入問題之中,并主動(dòng)幫忙解決升級問題。
由于懶惰或害怕承擔(dān)后果,大多數(shù)程序員都會(huì)逃避承擔(dān)額外的責(zé)任。懶惰的開發(fā)者想要做最少的工作,但同時(shí)他們又不愿意降低自己對工作的期待值。