在台灣的就業環境,也因為市場規模小又淺碟的關係,大多數網站會動,寫的夠快就好了,會有一些工程師有著錯誤的認知,我工作很久,我應該是資深工程師,因為沒有人告訴他專業是有深度的,而只有做完而以,可能從來也沒被要求過,也不清楚資深工程師到底需具備什麼。
在過去 Junior 到 Senior,只有二分法,很容易就形成一個斷層,當厲害的 Middle Developer,或好不容易訓練起來,看不到晉升機會,就離開了。
我的建議是 Junior 到 Senior,在即有的職級間,應該多一個 Middle Developer (Web Developer II),有個持續的爬昇階梯,而這階梯,可以歷練 Senior 所需要的能力,需要符合這些能力,才有機會獲得晉升。
我參考網友在巴哈分享的文章,我做了調整
新加入軟體業的菜鳥,有基礎紮實的軟體工程知識。
對於交辦下來的需求或是新功能可以穩穩地完成,但是對於程式的性能比較不注重。
不熟悉的領域需要與同組的前輩討論,確定大方向,遇到卡住的程式會需要與其他工程師討論。
有一定經驗的工程師,對於交辦下來的功能或需求會有想法,在此階段偶爾會因追求完美,在這階段容易發生過度設計的狀況, 通常對於一些問題會提出不同的解決方案,會希望與資深同仁,討論其中的優缺點再去擇一解決問題,在自己的部門中可以各種工作任務的安排,且能回答其他較資淺工程師的問題,甚至開始有機會帶領新人(Buddy)進入狀況,或是解決各種生產環境(Production environment) 上的問題,有一定的能力從無到有的開啟小型專案,並解決其中的許多挑戰,關鍵時候仍需與資深工程師討論會尋求幫助。
在部門中的中堅力量,對於任何不熟悉的領域與專案都有辦法在短時間學習並解提供各種解決方案,具備有將不清楚的目標拆解,帶領團隊達成目標,對於技術的選型,有辦法依據時空環境去取捨(Trade off ), ,並有能力自行從各種文件,專案範例、教學、迅速的學習所需要知識並汲取其中的精華來解決各種問題,在技術方面可以引領團隊並做出重大抉擇,影響技術或產品發展方向,在跨部門會議中,可以代表自己的組別出席並做出決定在這個職等也開始有機會成為管理職,帶領團隊推動業務發展做出重 大貢獻。
技術方面,在某些特定領域擁有特別的專長,在上層管理職做出大型專案決定時,會向他們諮詢技術方面的問題。在團隊中有著難以取代的技術與能力,並且是重要產品中的核心技術領導者。管理方面,所帶領的小組在大型團隊中有著不可或缺的功能,能夠明確的指出所帶領小組的未來方向,並引領大家一步一步的達成目標。
Team Leader(小組長)
PM (技術)
P.S. 我們過去團隊大PM 有技術非技術
或許哪天公司夠大
Business Analysis (談需求、商業分析)
Solution Architect
DBA
…
對了,我們還缺全端及前端工程師,歡迎聯繫我看看。