在軟體開發領域,高階開發工程師通常是指那些編寫**超過3年的人。這些人可能會被放到領導的位置,但經常會產生非常糟糕的結果。matt briggs是一名高階開發工程師兼scrum管理員。他認為,單純使用年限來劃分開發人員存在問題,兩個同樣具有10年開發經驗的開發人員可能大不相同。近日,他發表了一篇博文,根據開發者所能發揮的作用劃分軟體開發工程師的成長階段。
初級開發工程師
初級開發工程師通常是指那些剛剛結束學生生涯的開發者。他們以為自己什麼都懂,但是面臨問題時卻又一籌莫展。他們不熟悉用到的工具,也不了解當前**庫。因此,他們需要監督,需要大量的培訓和指導,否則可能幾年過去了,他們仍然是初級開發工程師。
一名優秀的初級開發工程師應該能夠快速完成他人分配的工作,並且保證質量。
中級開發工程師
中級開發工程師不像初級開發工程師那樣只專注於**,他們開始通過試驗、文獻和與其他程式設計師的討論尋找構建系統的正確方式,也就是說他們會學習軟體構建理論。
一名優秀的中級開發工程師不需要監督。他們可以自己提出**設計的問題,並在設計討論中發揮重要的作用。他們也是開發團隊的主力。但是,他們在遵循「設計模式」和「領域驅動設計」等理論方法設計系統時,可能會出現過度設計的情況。因此,有必要對他們進行進一步的指導和更高層次的監督。
briggs指出,絕大多數的高階軟體開發工程師和團隊負責人實際上都是中級開發工程師,只是大部分人都沒有意識到這一點。
高階開發工程師
高階開發工程師拋棄了支配中級開發工程師的複雜性,追求簡單至上。他們不再按照知識劃分開發者,而是了解每個人的優勢和不足。在理論運用方面,他們重視「上下文」,而不是一味地追求「正確方式」。他們知道,構建優秀的軟體,唯一的方式是改造理論方法,適應客戶、**庫、團隊、工具和組織的需求,在設計模式、庫、框架和流程之間尋找平衡。
高階開發工程師更多地為別人考慮,了解組織和客戶如何工作,知道他們的價值所在。他們從來不會說「這不是我的工作」。他們的工作是提供問題解決方案,總是考慮他們的工作會為組織和客戶帶來什麼價值,而不是他們會有多大的工作量。
中級開發工程師會鑽研一些令人厭煩的工作,但高階開發工程師會退一步,看看是什麼導致了這樣的工作。他們會評估修復問題根本原因的成本,從而決定是直接修復,還是先讓系統執行起來,後續再修復。
高階開發工程師清楚地知道,他們的主要作用是讓團隊變得更好。同時,他們也深知,領導不是權力,而是授權,不是命令,而是服務。
briggs指出,如果團隊沒有高階開發工程師擔任領導角色,那麼專案注定要失敗。高階開發工程師是唯一有資格選擇技術和平台的人,因此,從專案開始的第一天起就應該有乙個這樣的人。
briggs承認,這種劃分方式過分簡單,卻也可以提供一些有用的資訊。他建議,企業在招聘時要考慮團隊和組織的人才構成。
如何定義和區分高階軟體開發工程師
在軟體開發領域,高階開發工程師通常是指那些編寫 超過 3 年的人。這些人可能會被放到領導的位置,但經常會產生非常糟糕的結果。matt briggs 是一名高階開發工程師兼 scrum 管理員。他認為,單純使用年限來劃分開發人員存在問題,兩個同樣具有 10 年開發經驗的開發人員可能大不相同。近日,他發...
軟體開發工程師「打怪公升級」,如何技術高階?
天生稟賦的人不多,看數學概率正態分佈就知道了,絕大數人都是普通人,需要通過努力學習一步一步往上爬。學習如逆水行舟,不進則退。網際網路偏年輕化的特點,軟體技術也是吃青春的飯碗,類似運動員多少歲會退役一樣,沒有必要大驚小怪。如何規劃職業生涯是每乙個人需要面對的難題?計畫往往趕不上變化,你有你的計畫,世界...
軟體工程和軟體開發流程
人們在開發 運營 維護軟體的過程中有很多技術 做法 習慣和思想體系。軟體工程把這些相關的技術和過程統一到乙個體系中,叫 軟體開發流程 軟體開發流程的目的是為了提高軟體開發 運營 維護的效率,並提高軟體的質量 使用者滿意度 可靠性和軟體的可維護性。program data structure algo...