成功的軟件工程師共有的10個習慣和技能

又看到一篇關於方法論的文章,觀點仍是不錯的。翻譯出來,分享給你們。若是有一項啓發了你,那恭喜你。如下爲正文內容:程序員

就像沒有兩片相同的雪花同樣,程序員也各有不一樣。每一片雪花都是由不一樣原子以獨特的結構構成。一樣,對於程序員來講不管學習的途徑如何類似,在開發技能和能力上都會有所不一樣。微信

即便具備不一樣天資水平,可以達到行業頂峯或被公認的成功人士一般都是以習慣和技能做爲堅實的基礎。這也使他們能夠更長久地接近最大效率,並在較長的時間持續得到更高質量的輸出。函數

多年參與軟件項目和管理人員的過程當中,如下特質在成功人士中脫穎而出。這些技能和習慣不只能夠提升產出的效率和質量,還能夠幫助任何人達到更高的水平。工具

1.尋找有效管理時間的方法

最好的軟件工程師既要編寫代碼,又要做爲本身的時間管理者,從而保持較高的效率。學習

大多數軟件工程師須要獨自完成某些艱鉅的開發任務,它們每每須要深刻的思考和規劃。這也意味着被幹擾和注意力分散的可能性很高。測試

優秀的工程師瞭解如何避免這些干擾,如何在有效區間中最大化時間,從而產生最大輸出和極限效率。編碼

PS:像「番茄工做法」和「四象限工做法」都是不錯的時間管理法,可根據本身的須要和習慣來運用。spa

2.遵照編碼標準

你應該始終以一致的風格來編寫代碼。翻譯

若是你所在的團隊有一個標準能夠遵循,那就太好了。若是沒有,那麼你應該創建本身的標準。遵循標準提供了一套行事準則,隨着時間的流逝會提升輸出的效率和一致性。設計

我的標準還能夠幫助你識別曾經寫的代碼,當須要排查、修改或重構代碼時提供有效的幫助。當你忘記曾經寫的代碼時,統一的編碼風格也能夠爲你提供熟悉的感受,從而提高回顧代碼的效率。

PS:規範化是批量化生產的基礎。統一的規範,統一的編碼風格,即便忘記了當初的業務邏輯,也能夠快速梳理。

3.儘早且常常與團隊和老闆溝通

世界是互聯的,沒有一個工程師是在真空中工做。

任何正在進行的項目,總會有利益相關者。優秀的軟件工程師會意識到這一點的重要性,並努力確保每一個利益相關者(不管相關程度如何)的知情權,並可以快速瞭解開發的最新情況。

溝通是優秀團隊合做的基礎,而最好的工程師始終會努力使每一個人都持續得到最新進展。

PS:說溝通是最大的生產力一點不爲過,關鍵是還能修正錯誤的認知,產生新的靈感,固然前提是有效溝通。

4.尋找學習的榜樣

總有更多的東西須要學習。

不管多麼擅長某種語言或方法,總會有某些新的事物在某刻出現。做爲軟件工程師,成長的最佳方法之一就是跟隨聰明人的腳步,由於他們已經在前面鋪好了路。

這並不須要構建特定的師生關係。團隊中的成員、博客做者、領導以及開源項目均可覺得本身的職業生涯提供知識和價值的來源。核心目標就是永不中止地學習。

PS:曾經一直感慨職場中缺乏能夠學習的榜樣。後來發現,讀書、讀博客、讀源代碼等也是在向榜樣學習。

5.儘早且常常的核查

目前代碼的版本控制已經沒有什麼限制了,易用且只需花不多精力便可完成操做。因此,盡情的使用吧。

由於沒有備份而失去工做,一點都不冤。現有的工具使備份的成本變得微不足道,將其做爲工做中優先級較高的事項來處理吧。

不少軟件都會自動進行備份,出錯的可能性極小,但不是沒有可能。養成常常備份和檢查的習慣是保持持續進步和高效的重要手段。

PS:曾經寫了上百頁的文檔,忽然軟件崩潰了,本身也差很少崩潰了,還好最後找回來了大部分的內容。必備技能:Ctrl + S。

6.平衡工做與生活

工做永無止境,企業只會壓榨出你最後的一點價值。

沉浸於一個大項目是很容易發生的事,若是你讓這件事發生,它會耗盡你全部的精力。但大腦須要休息和刺激,而不是經過電腦屏幕、鍵盤和更多的咖啡來保持較高的效率。

週末的存在是有緣由的。花一點時間去散步、看一場演出或遛遛狗。當你回來的時,工做就在那裏,你能夠經過平衡工做和我的生活來得到更高的平均產出。

PS:啥都不說了,勞逸結合。若是還在996,就得動點腦筋了,畢竟掙錢是爲了更好的生活,更健康的生活。

7.持續進行我的項目

任何人都不可能在各個領域保持處於前沿水平。

即便你正在從事着最前沿的工做,仍然有許多沒有探索或學習的前沿技術。

我的學習和獨立項目是繼續學習新領域的關鍵,而這些領域多是正常的8-5工做制中所不能涵蓋的。經過我的項目可使你跟上其餘技術領域的發展並與其創建關聯性,創造學習的機會。

PS:以項目實戰引領學習節奏。

8.學會準確預估

工做是按日期和時間表進行的。

不管你的開發方法有多敏捷,總會在某刻出現一個問題:「何時能準備好?」

經過了解本身的工做習慣以及單位時間的產出,能夠更輕鬆地獲得一個準確的答案。訣竅是要在正式加入團隊以前就瞭解到這一點。瞭解本身的能力和侷限性可讓你更自信更準確地回答這個問題。

9.註解代碼

隨着時間的推移,你會逐漸遺忘爲何用這種方式來實現這個函數。

將來的某一天,回顧舊代碼時,須要花費一樣的精力來理解代碼是你仍是其餘人寫的。註解代碼提供了一種方式,使任何人(包括你本身)均可以快速瞭解上下文內容,從而能夠排查、維護或修改軟件。

當使用註解成爲一種習慣,不只能夠跨越時間的保留當初設計的初衷,並且還能夠得到比閱讀代碼更好、更快的理解和處理複雜業務邏輯的優點。

PS:永遠不要相信你的記憶力。多篇文章中都提到文檔和註解的做用。一個月後看本身的代碼與看別人的代碼基本上沒啥區別。

10.學習如何對本身的工做進行質量檢查

沒有人比編寫軟件的人更瞭解軟件的優點和侷限性。

在將新特性和功能交付他人review以前,執行本身的質量檢查(QA)是編寫穩定、完整軟件的寶貴工具。

學習和實踐測試驅動開發(TDD)等技能,並瞭解如何有效地對本身的代碼進行360度審查,尋找邊界狀況,將使你在輸出質量方面遠遠超過其餘人。無論這個過程看起來多麼無聊或耗時,學習如何有效地進行質量檢查將使你成爲一個更好的軟件工程師。

PS:只能說自測是一種美德。

做爲軟件工程師,越早養成成功的習慣和技能,你的職業將會越成功。記住要繼續閱讀和學習,永不放棄!


<center>程序新視界:精彩和成長都不容錯過</center>

程序新視界-微信公衆號

相關文章
相關標籤/搜索