#職涯 從 junior 到 senior 再到…?

Recap
我是一位菜鳥主管, 淺淺分享我的想法。 一句話描述 junior 跟 senior 的差異: 「可獨立解決問題」 也就是 junior 的階段可能是: 1. 需要人協助釐清開發需求的細節與資源 2. 需要人協助拆分成獨立的小工作項目 3. 需要人協助指導開發邏輯或架構 4. 需要人 review 產出的品質與適用性 5. 需要人指導如何驗證自己的產出 6. 需要人指導如何與其他部門合作 反之 senior 就可以獨立解決以上問題。 (不要再相信靠年資成為 senior 了) 獨立作業我覺得是 senior 的基本條件, 如果要再更深入的評估 senior 的技能樹, 普遍來說可能會是這些內容: 1. 具有 design pattern、SOLID 實作能力 2. 熟悉多記憶體、執行緒、安全性、網路架構等 3. 時間/空間複雜度的考量 4. 熟悉多種設計框架 5. 程式測試模型的建置與驗證 6. 自動化部署與流程優化 但是我認為這些是以工程師角度來看, 正確但並不全面, 評估 senior 不能只有一種面向, 上述那些通常可納入下面的 1, 2 項。 以我自己的分類來看可以有: 1. 技術能力: 技術深度/廣度、程式品質、除錯能力 2. 架構組織能力: 系統分析與設計、系統框架、設計模式、安全性 3. 自我管理能力: 責任感、壓力適應、價值決策、行動力,學習力 4. 任務管理能力: 任務拆分、工作包優先序安排、專案管理、風險管理、成本控制 5. 溝通能力: 反饋、內外部協調、內外部合作、知識管理、解決分歧 6. 領導能力: 文化建立、團隊價值提升、產出品質/量的提升、流程規劃與改善、導師角色 7. 遠瞻性: 業務敏銳度、提出新的工作模式/流程及優化、新的產品定位與潛在價值、未來核心技術的資源投入 通常 junior 我們專注在他的技術能力, 越往上爬會越注重影響力跟協調、管理能力, 也因為 senior 有不同的評估面向, 進而會開始延伸不同職涯方向。 例如: 1. 團隊領導面: 協助提升團隊產出價值並排除各種降低產出的因素,與其他部門溝通協作,也持續引導組員不斷提升自我,簡單來說,就是輔助/老師的角色。 2. 產品/專案管理面: 運用自身技術,專注在提升產品競爭力,也更專注在用戶面,此角色能更有力的去引領產品的走向。也就是跨領域的深入結合跟應用。 3. 技術專精: 更深入的技術專研,成為工程師之龍。Design Pattern、SOLID 信手拈來,熟知各種框架的優缺及原理,亦可依情況設計出新的開發框架,也能在低耦合的情況下優化底層架構與效能,更優秀的還能把內部知識轉化為外部知識,就算工程師之龍不在了也能讓能力持續發酵。 簡單來說大概就是上面這些, senior 的發展每間公司都不一樣, 好一點的公司內部會提供評估審核, 以及不同的發展管道, 反之就是明明不適合, 上層還是把你壓到那個位置去。 而且人是活的, 發展也不是只有上面那些, 只要你想你願意, 所有的風景都在更前面的道路。 我建議在提升自我技術能力以外, 也要去評估自己的人格特質, 然後決定未來要往哪種方面去發展。 當你發現公司已經沒有值得學習的存在時, 就該去找尋有學習的對象的地方, 這樣才能不斷的成長。 以上是好聽的屁話, 因為我也是為了錢被綁死在屎缺上😂 真正決定命運的有兩個因素: 1. 果斷的行動力 2. 正確的選擇
LikeWow
87
14 comments