1. 程式人生 > >你是哪個級別?(工程師級別劃分)

你是哪個級別?(工程師級別劃分)

工程師的劃分

  1. 初級工程師(實習生)
  2. 中級工程師(普通員工,小組長)
  3. 高階工程師(CTO,技術研發領頭人)

初級工程師

和入門級別基本上可以等同,他們一般都是剛出校門,或者麼有實際的開發經驗。
少於兩年的工作經驗,他們會被分配複雜度較低的工作,例如,一個專案中的小模組。或者驗證性demo
他們掌握的知識是他們以為他們掌握的10%,甚至更低。通常他們沒有經歷過一個完整的專案週期,知識面也比較少,所以給予新需求的時候,不知所措,往往使用比較粗暴的方式來解決。
技巧方面,缺乏高效的除錯方式和問題追蹤方法,出現問題的時候,查詢問題比較慢,缺乏自己的思考。問題解決方式依然考慮比較狹隘,只是解決眼前的問題,而不考慮系統關聯性,以及對其他模組的影響。
程式碼規範方面
比較隨性,不太懂得正確命名的方式,異常捕獲處理等程式碼規範很少遵守,邏輯混亂,經常在一個方法裡面編寫很多邏輯,很少考慮程式碼整潔和效能方面。

中級工程師

目前大部分工程師都是這個階段,他們的工作經驗一般是在兩年以上,甚至有的在一輩子都是這個水平。在交給他們相對常規的任務的時候,不用花費太多時間在跟進他們的工作質量和工作效率問題,大部分都能夠及時完成。
他們通常不負責高水平的設計共走和高度複雜的任務,通常可以勝任設計一個應用的部分的模組。他們擅長維護性的工作或者是他們擅長的那部分領域。他們通常不會從應用的整體性的角度來考慮問題,或者在高階工程師的幫助下來參與整體性架構的工作。他們通常可以把故障診斷和除錯工作做的很好,但是對於複雜度比較高的也會花費比較多的精力和時間。他們往往還沒有足夠的經驗能夠準確指出這些問題發生的真正原因。但是他們通常都有自己的解決途徑和方法,而不是求助於他人來幫忙。
他們至少有一次參與到整個工程的研發和設計,並且看到了整個工程中存在的設計問題,將來也會不斷學習如何避免這一類的問題。
在需求方面,他們往往會接受現有的需求設計,哪怕是存在明顯的問題或者缺陷。
他們已經瞭解到哪些知識他們是缺乏的,並且開始重點學習那些知識。他們是程式設計的主力軍,他們貢獻百分之八十到百分之九十的常規程式碼,以及10%的非常複雜的業務程式碼。

高階工程師

他們是他們所選擇領域的專家。他們通常被賦予非常艱鉅的任務(很少有人知道如何解決),還有就是設計專案整體架構的能力,
他們經常獨立工作,因為他們通常一個人的時候工作效率很高,並且能夠快速高效的完成任務。
他們的另外一個工作就是指導初級和中級工程師。
對於遇到同樣的問題,他們往往知道先去查詢哪些模組,高階工程師在公司以外也是導師,他們往往具有十年以上的經驗。他們知道在截止日期之前,正常交付專案。他們精通至少一門語言,並且在多個語言上達到專家級別。他們經歷過很多熱門新型技術的出現和沒落,所以在新技術使用上面更加謹慎。他們瞭解自己的工作是輸出給使用者想要的產品,而不只是娛樂的工具,他們往往是公司部門的挑剔者,他們對於產品的需求往往有自己獨到的見解,並且會影響到產品的最終設計方案。
他們往往比絕大部分人更加了解自己公司的產品,他們知道他們需要更多的程式設計知識,以及所需要的業務領域的知識,
在需求方面,他們可以把有問題的需求反駁回去,並且可以用非專業的語言解釋給外行人聽。