如何思考職涯規劃?成為軟體工程師後的3大職涯路徑

ALPHA Camp 相信,轉職後才是職涯起飛和大量學習的起點。12 月份 AC 充電站實體活動,邀請到三位 AC 助教和校友社群裡的軟體工程師,分享他們從非本科轉職工程師後,各自選擇不同職涯路徑的經驗及學習方法。

幫助大家理解,軟體工程師在職涯發展上,有哪些路徑可以選擇和經營!

活動講者介紹

陳柏融 (pjchender) – Jubo 智齡科技軟體工程師、ALPHA Camp 講師

心理所畢,現任 Jubo 智齡科技軟體工程師,曾於 UXTesting, Inc. 擔任前端工程師,同時擔任 ALPHA Camp 講師,熟悉 React、Vue 前端框架以及 Chrome Extension 開發。

Liyi – Shopline 資深軟體工程師、ALPHA Camp 校友&講師

經濟系畢,在 ALPHA Camp 的幫助下轉職工程師並一頭踏入新創圈的世界。喜歡做產品、帶領團隊一起快速成長。擅長後端,但偶爾也客串前端。現任 Shopline 資深工程師。

宋鈞皓 (Jack Sung) – 有無外送營運長、ALPHA Camp 校友&資深助教

現任有無外送營運長,曾任產品經理、前端工程師,同時是 ALPHA Camp 校友&資深助教 。熟悉 Node.Js、MongoDB,擅長資料分析、產品開發、軟體開發流程、行銷流程自動化。

成為軟體工程師後,如何持續學習成長開創職涯可能性

工程師的宿命是不斷學習。在職涯中如何精進自我,開拓更多可能性?講者分享 2 個學習方法,可以從「寫技術筆記,主動學習」、「換位思考,提升思考的層次與角度」做起:

寫技術筆記,從被動學習到主動學習

軟體工程師寫技術筆記有什麼好處?

詮釋何謂工程師的刻意學習、「從寫筆記到出了一本技術書」的 PJ 分享自學遇到的痛點:觀看線上教學影片,是學習網路開發很常見的方式。但由於看影片屬於「被動學習」,他發現看完後會覺得印象不深,學習不夠踏實。

因此 PJ 建議,可以透過寫技術筆記、部落格,幫助自己主動學習。當碰到問題,主動去查資料解決、梳理觀念,印象會更加深刻。

寫技術筆記不難,但難的是如何持之以恆?PJ 認為堅持的關鍵是「增加樂趣、減少阻力」

  • 減少阻力:當工作越來越忙,會越難抽出時間寫文章。這時他採取的作法為,針對重要議題再將文章寫得完整,其他議題則是純筆記,以減少寫文耗費的時間
  • 增加樂趣:樂趣能帶來寫文章的動力。PJ 分享他會將所學到的 CSS、JavaScript 技能,用在調整、客製化部落格樣式,另外他也會觀摩其他人的部落格,彼此交流排版及美感話題,因而認識新朋友

他最後建議大家:「為自己寫筆記」。寫筆記的方式有很多種,不論是透過寫部落格文章、錄製 Podcast、拍影片等方式來記錄都可以。每個人的學習方式不同,不一定要去複製別人的模式,重點要找到自己習慣學習的方式。

延伸閱讀:技術寫作六步驟:讓工程師撰寫流暢的技術部落格

換位思考,提升自己思考的層次與角度

作為 Junior 工程師,如何在工作中快速累積經驗,往資深工程師邁進?

Liyi 建議,Junior 工程師可以從分別從「公司專案」、「觀察資深者」出發,站在管理者的角度,延伸學習更多技術與思考邏輯:

  • 從公司專案出發,站在更高角度看專案架構及商業邏輯:Liyi 分享在電商新創的工作經驗,當參與大規模專案時,Junior 工程師會被指派開發小功能、修 Bug 等。這時他完成份內任務後,會去觀察整個專案:包含佈署流程、產業商業邏輯等。從頭去了解電商產業,如何引導使用登入、加入購物車到最後實際結帳。試著讓自己參與更多,迅速累積專案經驗
  • 多去觀察資深工程師及主管,反思自己能做到什麼程度:除了從專案中延伸學習外,Liyi 也建議,可以多去觀察資深工程師、主管,他們在做什麼?例如資深工程師可能會負責從頭規畫整個功能、甚至整個專案。接著同樣換位思考,去反思:如果是自己會怎麼做?有什麼是自己現在可以開始做的?

軟體工程師如何選擇職涯發展路徑?3 大職涯路徑

當工作上手、成為資深開發者後,工程師職涯的下一步該如何抉擇?成為主管、PM,工作內容會有什麼變化?講者分享他們各自選擇的不同職涯路徑:

從前端工程師到全端開發者

從前端工程師到全端開發者的 PJ 分享,他在「專精前端」vs「廣泛接觸全端」兩個職涯選項中確實猶豫過:應該要前端一條路走到底?還是多去學習後端的技能?

PJ 抉擇過程中聽取了許多人的意見,但最後他回頭問自己,到底想要什麼?得到答案是:「想了解更多 Web 相關知識與技能,想要有能力從想法到實際打造產品。」因此最後選擇成為全端開發者。

從軟體工程師到技術主管

從軟體工程師到技術主管的 Liyi 分享,成為 Senior 工程師後,他思考過兩條職涯發展路徑:繼續鑽研技術(成為 SA 系統架構師),或當主管。

他同樣會在工作時觀察這兩個職位都在做什麼,SA 系統架構師專注解決系統上的問題,選擇使用哪些新技術;主管則負責讓團隊內運作順暢、協調跟其他團隊的合作流程等。

最後,Liyi 在公司擴張後,選擇成為主管,期望在公司開發專案中去參與更多部分,除了技術外,也能提升更多面向的能力。

從工程師到 PM,再到營運長

從工程師到 PM,再到營運長的 Jack 分享,轉職工程師前他是企管系畢業,很早就有成為高階主管的目標。

他談到在擔任前端工程師時,會利用程式技能,主動幫行銷部門處理行銷自動化流程的需求,也因為有熱心助人的特質,後來他被邀請轉當產品 PM。

Jack 認為工程師轉 PM 的優勢是,他會更耐心和工程團隊解釋,為什麼要開發這個功能,讓工程團隊一起參與討論、想更好的解決方法,雖然團隊決策的過程比較花時間,卻帶來更多成就感。

後來營運長職缺出現,Jack 的表現被看見,晉升為營運長。他分享營運長的工作,每周都需要報告財務狀況、不斷開會,相比工程師主要只需跟程式打交道,工作複雜許多。

延伸閱讀:AC 最資深的 Jack 助教—從挫敗中學習,在分享中成長

軟體工程師如何決定轉換職涯的時機點

講者分享了軟體工程師的三大職涯發展路徑,但決定背後的考量是什麼?又該如何思考轉換職涯的時機點?講者從「待遇」、「成長空間」、「初衷與目標」來剖析:

考量點一:待遇

薪資是轉換職涯的考量點之一。Jack 分享以他們公司的標準,工程團隊與非工程團隊的薪資差異,工程團隊大概是 1.5 倍。如果從工程師轉到 PM,由於每家公司對 PM 定義不太一樣,薪資差異範圍也大,因此建議先打聽好薪資範圍。

考量點二:成長空間

「工程師的價值就是自己的能力,要不斷提升能力,才能提升職涯價值。」

Liyi建議要去思考在現階段的位置,是否還有成長空間。如果發現工作內容重複固定,不太需要用到新知識、技能就能解決問題,就要去尋找公司是否有下一階段或其他角色,讓自己有空間繼續成長。若沒有,可能就要考慮其他方向。

考量點三:初衷與目標

轉換職涯的最重要考量點,是如何更接近自己的初衷與目標。Jack 表示,對他而言,程式只是一項工具,並沒有把程式當作整個職涯的走向,而是解決問題的手段跟方法。

因此,如同前述分享 PJ 與 Jack 的職涯選擇,要去問自己:想要成為什麼樣的工程師?想要持續鑽研專精的技術?想廣泛學習各種技能?想要領導團隊、提升溝通表達能力?如此職涯路才能走得堅定長久。

延伸閱讀:軟體工程師薪水多高?台灣網路IT業薪資行情

活動提問

針對活動現場對於軟體工程師職涯、學習方法的提問,講者進行回答:

Q1:遇到不懂的問題,如何拆解、吸收知識,最後整理成技術筆記?

PJ 認為可以分成兩階段來學習:

  1. 初期基礎知識尚未建立、連 Github 都不會用時,可以先利用線上影音資源來學習,透過影片教學了解介面如何操作,建立完整的學習 Roadmap 
  2. 當基礎建立、看得懂官方文件後,以 JavaScript 或前端學習為例,可以透過 Google 搜尋「關鍵字 + mdn」,或查看他人寫的文章來學習。養成看官方文件的習慣是工程師很重要的能力

Q2:剛畢業、剛轉職軟體工程師,面試大規模公司時如何表現自己?

Liyi 分享,雖然大規模公司待遇比較好,但對工程師的能力要求也較高, 所以剛開始不一定有辦法挑戰中大型公司。建議可以先從現有選項去選擇,比如他一開始在中小型公司工作時,會花蠻多時間去看 Library 或 Rails 框架的原始碼,或去學習資料庫、後端框架佈署,把基礎知識與技能慢慢補起來。

前後端有很多技術都是通用的,因此建議循序漸進地學習,累積幾年工作經驗後,有機會可以再轉換環境。

延伸閱讀:轉職Q&A:工程師面試該準備的問題與答案

Q3:擔任工程師後發現自己不太適合,應該轉 PM 嗎?

Jack 認為,首先要認清自己到底喜不喜歡開發,若喜歡就要把技術能力精進好。但如果發現自己不那麼喜歡花時間鑽研技術,那麼轉 PM 是個好方向,因為 PM 擁有技術背景是優勢,有助於縮短工程團隊的溝通時間跟成本。

延伸閱讀:軟體PM產品經理的5大核心能力,需要會寫程式嗎?

Q4:工作中提早完成指派任務後,該把時間用來繼續開發還是學習?

PJ 分為 Input 與 Output 來探討。對他來說,每天工作多數時間都是 Output,如果沒有新的 Input 進來就會慢慢枯竭。

因此他認為有持續的 Input 很重要。假設公司專案比較不忙,他會去看跟專案有關的技術或文章,如何應用到現有專案,讓自己持續學習新知。

Liyi 補充,由於公司專案開發都會設定 deadline,如果提早做完,他會在上班時間,再往後看後面專案會用到的技術。如果馬上接下一個功能,不一定會讓後面專案開發效率更快,因此可以自己進行評估。

Q5:如何扮演一個好的團隊角色?

Jack 認為,一個好的團隊成員,能做到在時限內完成被交辦事項。而更可貴的是,願意更進一步去跟主管或 PM 討論自己的想法,表示他願意去幫不同角色思考。

Liyi 及 PJ 則認為「遇到問題能夠即時表達溝通」很重要,如此才能避免影響開發進度。

結語

轉職軟體工程師只是起點,在職涯中仍需持續學習成長,才能開創更多的職涯可能性。工作時,可以從現有專案去延伸學習、去換位思考資深同事及主管的工作決策及思考邏輯,迅速累積經驗。工作以外,可以培養寫技術筆記的習慣,幫自己主動學習加深印象。

當工作上手後,可以從「成長空間、待遇、目標」等考量因素,去思考職涯的下一步,不論是成為資深開發者、PM 或管理職,重要的是捫心自問:是否更接近自己設定的職涯目標。

三分鐘小測驗,找到自己開啟軟體工程師職涯的入口