在快速發(fā)展的軟件開發(fā)領(lǐng)域,不改進就等同于落后。技術(shù)日新月異,跟上步伐的人會得到豐厚的回報,而跟不上步伐的人很快就會落伍。在本文中,我將概述開發(fā)人員落后的最常見方式以及如何避免它們。
他們(實際上)不接受反饋
毫無疑問,建設性反饋是推動開發(fā)人員在職業(yè)生涯中前進并提升技能水平的主要催化劑。無論是以 Pull Request 反饋、經(jīng)理反饋、團隊反饋的形式,它都可以成為優(yōu)秀開發(fā)人員和優(yōu)秀開發(fā)人員之間的差異制造者。如果開發(fā)人員不能有效地接受反饋,他們就會限制他們的技能和潛力。
你可能會想 “我很擅長接受反饋,我不會獨斷專行,而且我總是對給我反饋的人很好”。雖然這是一件好事,但這不是你應該如何接受反饋。反饋應該重新定義您的編碼和工程方式,至少在某種程度上是這樣。這不是你只在一兩個拉取請求中加入的東西,以安撫任何給你批評的人。
以下是您應該如何接受反饋:
首先,如果您對此有疑問,請?zhí)岢?/span>。如果您不同意反饋或不理解它,請詢問它。你將無法保留你并不真正理解它的信息,或者更糟糕的是,你真的相信它。不要對你的代碼輕描淡寫。
做筆記。寫下這些信息,維護日志或技術(shù)日志,記錄您的學習情況。需要的時候您查看您的筆記并做出更好的技術(shù)決策。
將建議應用到您的代碼中。如果您收到的反饋引起您的共鳴,請繼續(xù)更改您之前編寫的代碼。如果您在某段代碼中收到它,請超越并將其應用于其他代碼。熟能生巧,你會讓代碼庫變得比它開始時更好。
輸出給別人。這個很簡單;教學是最好的學習方式。通過教導他人,您將對所學的課程有更深入的了解,并可能在此基礎(chǔ)上學到更多。
他們不問問題
軟件是一個陌生的領(lǐng)域。許多最有用的知識并不包含在大學講座、書籍或編程教程中。知識實際上存儲在從未寫過書的才華橫溢且經(jīng)驗豐富的開發(fā)人員的頭腦中,他們中的大多數(shù)人寫的都是糟糕的文檔。
因此,太害羞或太驕傲而不敢與他人接觸并提出問題的開發(fā)人員將永遠落后于擁有無限庫存的好奇開發(fā)人員。一個人將在制定行業(yè)標準時學習它們,而另一個人可能會在多年后學習它們。
底線是:如果你不知道,就問。不要擔心諸如 “如果我打擾這個開發(fā)人員怎么辦?” 之類的事情?;蛘?“如果我問,我會看起來很傻嗎?”,因為當那一天到來時你會看起來更愚蠢,你需要那一點信息但沒有。
他們避免困難的問題
使用軟件很容易陷入困境。你可以繼續(xù)做你喜歡做的事情,永遠不要挑戰(zhàn)自己去解決一個真正復雜的問題。我看到開發(fā)人員不斷地選擇簡單的任務,而從來不敢處理困難的任務。困難的問題是你學得最多的問題;您推動自己以不同的方式思考并探索解決這些問題的技術(shù)。如果你一直解決同一個簡單的問題,那么我保證你會落后于開發(fā)人員。
如果你是一個全棧開發(fā)人員,經(jīng)常只接前端任務,那么你猜怎么著?幾年后你將只是一名前端開發(fā)人員。如果您是只處理小而簡單任務的后端開發(fā)人員,那么您很快就會忘記如何進行集成或?qū)崿F(xiàn)復雜的功能。你失去了你不用的東西。
他們從不從事自己的項目
我絕不是說開發(fā)人員應該把工作時間之外的每一刻都花在業(yè)余項目上,但每個開發(fā)人員都應該嘗試創(chuàng)建自己的項目。主要原因是沒有更好的方法來全面了解系統(tǒng)。在大多數(shù)軟件工作中,開發(fā)人員專注于一個或兩個開發(fā)領(lǐng)域,這限制了開發(fā)人員的機會。從頭開始從事一個項目可以填補知識空白,并教會你系統(tǒng)設計、產(chǎn)品管理、集成、身份驗證、devops 等知識。
從事業(yè)余項目的另一個重要原因是將知識付諸實踐。從教程和講師那里學習是一回事,但是在您自己的項目中實施您的學習是完全不同的。當您從教程中學習時,總會有 “正確” 的答案,并且有人會指導您完成它。當你獨自工作時,你必須通過研究和批判性思維為你的案例找到最佳解決方案,這會鞏固你內(nèi)心深處更好的理解。
他們從不改變角色或公司
當你改變你的角色或改變你的公司時,會發(fā)生一些事情:
你會接觸到可以教你新事物的新隊友
您從事的新任務迫使您以不同的方式思考
你使用不同的技術(shù),讓你的能力更廣,并幫助你為未來的機會堆積你的簡歷
我認為這些開關(guān)是學習和改進的巨大動力,可以提高您的編程能力。我將其歸因于通過入職培訓快速學習新的技術(shù)堆棧,并接受一系列新的挑戰(zhàn)來推動您的大腦和編程能力。
他們從不切換編程語言
這可能會誤導很多程序員,尤其是那些堅持認為他們的編程語言是最好的。事實是,學習和練習不同的語言會產(chǎn)生很多價值。歸根結(jié)底,編程語言是一種工具,您應該選擇最適合工作的工具,沒有最好的工具時期。擁有更多工具的開發(fā)人員更具適應性。
你可能喜歡 Golang 而討厭 Javascript,但歸根結(jié)底,Javascript 更適合前端開發(fā)。嘗試用 Golang 編寫前端代碼就像嘗試用扳手打字一樣,它不是完成這項工作的正確工具,盡管它在其他情況下非常有用。同樣,如果你必須編寫一個高度優(yōu)化和高性能的應用程序,你通常應該避免使用 python,盡管它不是一種糟糕的編程語言,但它只是不適合這項工作。
行業(yè)標準和要求經(jīng)常變化。下圖包含隨著時間的推移最流行的編程語言的比較。學習不同的編程語言將使您與行業(yè)一起轉(zhuǎn)變并始終處于需求之中。
歡迎點贊,關(guān)注,轉(zhuǎn)發(fā),Happy Coding.