99%的成功軟件工程師會練習這10個習慣和技能
工程師就像雪花,沒有兩個是一樣的。
曾經(jīng)形成的每一個雪花都是由不同原子以獨特的結(jié)構(gòu)構(gòu)成的。 這與軟件工程師相似,無論學習路徑如何相似,在開發(fā)技能和能力上都不會有兩個相同。
但是,即使具有不同的才能水平,但能夠升至頂峰并被認為是最成功的人都是為習慣和技能奠定堅實基礎(chǔ)的人。 這使他們可以更長久地接近峰值效率,并在較長的時間內(nèi)始終獲得更高的質(zhì)量輸出。
多年來,在參加軟件工程項目和管理其他人員的過程中,以下特征在獲得此頭銜的最成功人士中脫穎而出。 這些是技能和習慣的集合,可以提高產(chǎn)出的效率和質(zhì)量,并可以幫助任何人達到更高的水平。
1.尋找有效管理自己時間的方法
比較好的軟件工程師既要編寫代碼,又要擔任自己時間的管理者,以保持效率。
大多數(shù)軟件工程師只能獨自完成難以完成的開發(fā)任務(wù),這些開發(fā)任務(wù)需要一些深入的思考和計劃才能取得令人滿意的結(jié)果。 這意味著分散注意力和失去注意力的可能性很高。
優(yōu)秀的工程師了解如何避免這些干擾,以及如何在產(chǎn)生最大輸出并最接近峰值效率的"區(qū)域"中最大化其時間。
2.遵守編碼標準
您應(yīng)該始終以邏輯一致的方式構(gòu)造代碼。
如果您所在的團隊有一個共同的標準可以遵循,那就太好了。 如果沒有,那么您應(yīng)該建立自己的個人標準。 遵循標準提供了一個框架,該框架可以隨著時間的流逝提高輸出的效率和一致性。
個人標準還可以幫助您確定您過去編寫的代碼部分,并且在需要時幫助您在需要檢查,更改或重構(gòu)時重新學習該特定代碼。 這很重要,因為您將在足夠的時間后忘記自己的代碼的復(fù)雜性。 在回顧您以前的編碼項目時,擁有熟悉的閱讀風格將有助于加快重新學習的速度。
3.盡早且經(jīng)常與團隊和老板溝通狀態(tài)
世界是一個相互聯(lián)系的地方,沒有工程師在真空中工作。
在任何正在進行的開發(fā)中,總會有其他人被視為利益相關(guān)者。 優(yōu)秀的軟件工程師會意識到這一點,并努力確保每個利益相關(guān)者(無論相關(guān)程度如何)都能夠及時了解最新情況,并及時了解開發(fā)的最新情況。
溝通是良好團隊合作的基礎(chǔ),而比較好的工程師始終會努力工作,以使每個人都保持最新狀態(tài)。
4.尋找其他人以學習
總會有更多的東西要學習。
不管一種語言或方法多么出色,總會有某些新事物在某個時候出現(xiàn)。 成長為軟件工程師的最佳方法之一就是跟隨聰明的人的腳步,他們?yōu)槲磥礓伷搅说缆贰?/p>
這并不總是需要成為導師-受訓者類型的關(guān)系。 您團隊中的其他人,博客作者,經(jīng)理和開源項目都可以為您自己的職業(yè)生涯提供知識和價值。 這里的目標是永不停止學習。
5.盡早檢查事物
現(xiàn)代版本控制實質(zhì)上是無限的,易于使用的,并且只需很少的精力即可完成。 所以用吧!
失去工作沒有更多借口,因為它沒有得到備份。 現(xiàn)有的工具足夠使這項工作變得微不足道-如果您將其作為日常工作流程中的優(yōu)先事項。
許多現(xiàn)代程序會自動保存并不斷備份內(nèi)容。 今天,要失去比以往任何時候都大的工作更加困難,但仍有可能。 養(yǎng)成經(jīng)常儲蓄和經(jīng)常檢查事物的習慣對于保持持續(xù)的進步和高效率很重要。
6.平衡工作與個人生活
工作永無止境,企業(yè)將永遠能夠拿出超出您所能承受的能力。
專注于一個大項目太容易了。 如果您愿意的話,可能會很費力。 但是,人的大腦除了需要電腦屏幕,鍵盤和更多的咖啡外,還需要休息和刺激,以保持很高的工作水平。
周末存在是有原因的。 花時間去散步,看戲或walk狗。 當您回來時,工作就在那里了,并且您將能夠通過均衡的工作和個人生活方法,平均獲得更高的產(chǎn)出。
7.繼續(xù)創(chuàng)建個人項目
任何人都不可能跟上各個方面的快速技術(shù)發(fā)展步伐。
即使您正在辦公室中從事最前沿的工作,仍然有許多您沒有探索或?qū)W習的技術(shù)前沿。
個人學習和獨立項目是在一般的8到5工作所不能涵蓋的領(lǐng)域中繼續(xù)教育的關(guān)鍵方面。 這樣可以使您在與其他許多技術(shù)領(lǐng)域保持同步并保持相關(guān)性,而這些方面本來是您沒有機會學習的。
8.學習準確估計自己的努力
業(yè)務(wù)按日期和時間表運行。
無論您的開發(fā)方法多么敏捷,在某個時候都會問到一個問題:"什么時候準備好?"
通過了解自己的工作習慣以及實際可以完成的每單位時間多少輸出量,可以更輕松地用一個準確的答案解決這個問題。 訣竅是要在正式團隊面前就職之前達到這種理解點。 了解自己的能力和局限性可以使您對該問題有更加自信和準確的答案。
9.記錄您的代碼
隨著時間的流逝,您以這種方式編寫該函數(shù)的原因的記憶將逐漸消失。
將來會有一天,回顧舊代碼需要花費相同的精力來理解您還是其他人編寫了它。 對您的代碼進行文檔記錄提供了一種使即時上下文可供所有人(包括您本人)使用的一種方式,該人將隨后審查,維護或修改該軟件。
使文檔成為一種習慣,不僅可以保留一段時間內(nèi)的意圖和意義,而且還可以比僅通過代碼來更好,更快地可視化并處理復(fù)雜的問題。
10.學習如何對自己的工作進行質(zhì)量檢查
沒有人比編寫軟件的人更了解軟件的優(yōu)點和局限性。
在將新特性和功能交給他人進行審核之前,執(zhí)行您自己的質(zhì)量檢查將是生產(chǎn)穩(wěn)定,完整的軟件的寶貴工具。
學習和練習諸如測試驅(qū)動開發(fā)(TDD)之類的技能,以及了解如何有效地對自己的代碼進行360度審閱以尋找邊緣案例,這將使您在輸出質(zhì)量方面首屈一指。 無論過程看起來多么無聊或耗時,學習如何有效地進行質(zhì)量檢查將使您成為一名更好的軟件工程師。
作為軟件工程師,您越早養(yǎng)成成功的習慣和技能,您的職業(yè)就會越成功。 記住要繼續(xù)閱讀和學習,永不放棄! 謝謝閱讀!
最初于2020年2月19日發(fā)布在kevinwanke.com上。凱文(Kevin)的博客側(cè)重于為新工程師和工程經(jīng)理提供建議。






















