如何有效從初階工程師升遷到資深?
2025年2月25日
在前幾期的《高效工程師》主題文中,我們談了 軟體工程師的職涯路徑概覽 、軟體工程師如何在職涯持續成長?、資深工程師的自我檢核清單 等議題。在這期的主題文,我們會拉回一個工程師經常會要面對的問題,那就是升遷 (promotion)。
軟體工程師的本質
在談升遷之前,我們先談談軟體工程師的本質,因為當本質有做好,才有本錢可以談升遷。
相信多數人會同意「軟體工程不只是寫程式」,那軟體工程師究竟是在做什麼呢? 回到本質上來說,軟體工程師是透過解決問題來創造價值;而寫程式是解決問題的一種方式,但不是唯一的方式。技術對軟體工程師來說很重要,但只有技術,往往沒辦法把問題解決好。
除了技術,軟體工程師還需什麼呢?
雖然每間公司的具體定義可能不同,但衡量工程師的指標不外乎可以分成三種類型。除了技術卓越 (technical excellence) 外,領域 (domain) 與團隊 (team) 也會是同時被看重的。如果想要升遷,這三個面向可說缺一不可。
深度技術知識
在往下談領域與團隊前,想特別一提,所謂技術的深度,不只是前端或後端的知識,還需要對整體系統的技術有所掌握,並且做到知道什麼時候該用什麼技術。換句話說,想要能升遷到資深,需要培養出有判斷、選擇技術的能力。
一般來說,前端或後端工程師,對於自身所在的領域技術深造,都沒有太多問題 (在 E+ 中有前端工程與後端工程兩類主題文持續協助讀者們深化相關知識);但是許多工程師會忽略系統面該培養的技術深度。這包含讓系統能夠穩定運作的重要元素,例如測試、部署、監控、事故處理等。在 E+ 當中的《邁向資深的軟體工程須知》 主要會協助讀者們建立起這方面的基礎,如果對這些主題不熟的讀者,務必要花些時間讀該主題文。
領域
身為軟體工程師,只有技術本身很難創造影響力,而要能有效升遷,需要培養領域知識。這是因為當有了領域相關的知識,就能協助判斷方向,能夠知道「為什麼」開發某個東西,以及能夠取捨什麼該做、什麼不該做。
舉例來說,如果是開發電商相關的軟體,會需要有對電商的最基本知識與了解,包含對產業的了解、對消費者需求的了解,以及對電商的消費模式的了解。當有了這些了解,就能夠根據需求去鑽研所需的技術。以電商產業來說,前幾年興起後支付 (BNPL) 的商業模式,工程師需要導入或串接相關的技術,如果有持續關注相關產業動向,就能及早開始研究導入後支付所需的技術。
即使是做基礎建設類型的工程師,也需要對領域知識有所了解。舉例來說,先前在 如何設計一個部署系統 Designing a Code Deployment System 的直播活動中,我們邀請了 Zeabur 團隊來分享。其中講者談到,要打造出對工程師有幫助的部署系統,會需要對工程師們在部署上痛點的理解;要知道能對接什麼技術,因此也會需要知道目前部署相關生態系有哪些不同的可用元件。
這些都是在別的領域的前後端工程師不會碰,但是在部署系統領域的工程師必須知道的,這說明對領域的掌握,在對做基礎建設類型的工程師,一樣不可或缺。因此,不論你在哪個領域,不論是做產品或基礎設施,都推薦一定要對所在的領域有理解,這樣才能發揮更大的影響力。
這一點在 AI 能協助寫程式的時代背景下,又更加重要。先前我們在 什麼是 AI 工程(AI Engineering) 有進一步說明,推薦讀者可以溫習。
團隊
要能夠做到下一階段的事,往往需要團隊中其他人的幫忙。假如是僅一個人就能完成的專案,影響力可能會有限。即使是業界中有十倍生產力的著名工程師,例如 Linuse Torvalds,在 Linux 與 Git 等著名專案也都需要貢獻者參與,才能做出更大的影響力。
要能有效融入團隊、與團隊協作,推薦可以溫習 在新團隊中迅速建立關係並有效合作?高效工程師的團隊合作技巧 以及 軟體工程師如何有效與工程經理協作,快速提升職涯 這系列的內容。
做下一個階段要做的事
在回顧完要升遷成資深工程師前,需要掌握的三個面向後,接著我們來談升遷這個主題中,最重要的觀念之一「做下一個階段要做的事」。先前在 軟體工程師如何在職涯持續成長? 一文有談到,軟體工程師的職涯多半是走「先做到再說」的模式 (英文常聽見的 lagging indicator)。
換句話說,不要等到自己被升到下一個職級,才擴大自己的守備範圍,否則在多數軟體公司,這麼做可能讓你永遠無法邁向下一個職級。
因為軟體公司的升遷往往是反過來的;你需要先展現你有能力做下一個職級的事,才有被法被往下一個職級升遷,而要展示你有能力的最好方法,就是實際去挑戰下一個職級的事,藉此證明自己有能力。
許多公司都會有工程師的升遷標準 (如果自己在的公司沒有,推薦參考 軟體工程師的職涯路徑概覽 ),且多數大同小異。推薦可以主動辨別下一階段要做的是,然後主動跟主管提議說要做,例如說「我有觀察到 XXX 問題,我對解決這個問題很感興趣,想問有沒有機會讓我負責這件事呢?」。
很常見的一個錯誤,是自己沒有先去想可以做什麼,然後直接問主管說「我可以做什麼?」,當用這種方式與主管互動時,意味著自己沒有主動性,因此很可能被主管認為「這個人還沒準備好獨當一面」,這對要升遷到資深是相對不利的。
但要特別注意,在不同類型的公司,「下一階段的事」可能會有所不同。舉例來說,在新創類型的公司,一個人身兼多種角色,能帶來的價值往往更大,這時除了點工程相關的技能,也要對產品等不同職位作的事情有所接觸。又或者在新創公司動的速度快也會更有幫助 (因為還沒什麼使用者,做錯事損失不大,但沒有搶快可能無法立基),但在大公司做的穩會更重要 (不然一個小錯誤可能造成巨額的損失)。
能否清楚掌握自己在的組織,需要哪一種類型的行動 (以上面的例子來說,要去辨別對公司來說,要快還是要穩),會是對升遷來說至關重要的。
閱讀更多
在談完上面這些基本的點,往下我們會進一步談如何透過跟主管的 1:1 協助升遷,以及其他升遷相關的重要心法。 這些點我們在 E+ 成長計畫的主題文都有更詳細談到,推薦感興趣的讀者閱讀。
本文為 E+ 成長計畫的深度內容,截取段落開放免費閱讀。歡迎加入 E+ 成長計畫閱讀完整版本 (點此了解 E+ 的詳細介紹)。