技術海中浮沉,尋找未來地圖

技術海中浮沉,尋找未來地圖

此為曼陀號第六屆工程組第二次月會心得

工作到現在快滿兩年,有時候會跟當初同一個訓練營的朋友聊到職涯問題,大家的狀況不太一樣,但可能或多或少都會遇到下面的問題:

  • 每天上班就是寫程式、改 bug,但總覺得自己沒什麼進步
  • 技術書堆了一堆,卻不知道該從哪本開始讀
  • 看著訓練營同學一個個換工作加薪、進到下一階段,自己卻好像還在原地踏步

工作中感受到停滯,可是不曉得怎麼規劃,跟身旁的人東問西問也得不到好的答案。而這次月會主題是:[專業能力] 技術百百種,該培養什麼?如何執行?月會中討論了相關的職涯問題,並教我們如何規劃未來。除了船長 Jalex 之外,也有邀請到漸強實驗室的 team lead Chris 來跟我們分享。本文將目前我的工作經驗跟月會心得,從盤點自己的能力、設立短期和中期目標、拓展職業發展等方面來說明。

首先來提一下我自己每一季都會做的事情~

盤點自己現在有的能力

在設立職涯目標之前,我認為最重要的是對自己目前的狀態有自覺,要先了解自己目前有什麼技術跟能力,才能夠去思考缺少的部分或需要補強的部分,這些事情離自己很近,不像未來會覺得模糊,很容易可以思考往下一步或修正的方向。

能力評估

以下是我每一季會對自己做的盤點內容:
目前自己在公司累積的技術跟能力是什麼?我解決了公司什麼問題?

💡
工作成果:寫下自己在公司做了什麼功能?這個功能解決了什麼問題?

專業能力:這是什麼技術?你在技術上面提升了什麼能力?

團隊合作:你跟其他成員團隊合作順利嗎?為什麼?是有什麼問題嗎?

寫完之後會對於自己目前有的技術跟能力有一定的了解,也會對自己的技術跟能力產生初步的疑惑,我接下來要學什麼?帶著這個疑惑繼續往下看吧!

面對這些疑惑,我們該如何規劃下一步呢?

初期要想像未來幾年的規劃是非常模糊的,也很難想像會怎麼發展。因此,下面內容將以自己近未來的下一步為考量,著重於短期計畫(3 - 6個月)可以實施的方向做說明。這樣的規劃更容易執行,也能讓我們更快看到成果。

短期目標安排

槓桿時間:有效利用時間,快速職場成長

漸強實驗室的 team lead Chris 提到

強者都懂的善用時間,並找到方法槓桿時間效率

尋求指導

找尋合適的 role model/mentor

  • 當自己不曉得要學習什麼或怎麼成長的時候,請教資深的人提供學習方向建議,可以縮短摸索時間
    • 哪裡可以找到這樣的對象?
      • 你的主管
      • 你的資深同事
      • 技術社群中的熱情分享人
      • 技術部落格歡迎你問他問題的人

如何讓主管能夠更有效的給予你學習方向上的回饋?

當你去問你的主管未來規劃,他也是會先問你「想做什麼?」可是當你回答他:「我也還不太清楚耶」,話題很難繼續,他也很難給出具體意見。因此你要有你的計畫,如果沒有計畫,至少也幫他整理好你自己目前的狀況,你的主管會感謝你的整理,因為他可以更好配合你!

如果你已經有方向跟目標,他可以引導你,而且可以幫助你更多,因為你很明確,主管要用的心力就很少,當然也就更容易推進!船長 Jalex 提到:
公司越大越需要你提供具體的方向或問題,因為資源有限,你自己越清晰你的目標,越能得到資源。

如何提高與主管及同事溝通的效率
製作個人技能表,促進有效反饋
  • 把第一步整理出來的資訊做成技能表,並且試著去挖掘哪裡做不好,再用這張表請跟你協作的同事/主管或外部熱情人士提供意見,有機會發現自己的盲點,得到更棒的作法,或是下一步學習的方向!

優化個人學習策略

提高學習效率

  • 探索更好的學習方式
    • 你的學習方式是最好的嗎?其他同事或學習速度快的人他是怎麼做的?他有什麼工具提升效率?去探索你的資深同事吧!
    • 舉例:建立自我反問和驗證的 SOP
      每個人現在都有在用 GPT,但有的人用 GPT 卻可以得到更好的答案,他是用了什麼 prompt?又或者資深同事在做驗證結果的時候,考量的問題都是很細緻的,他是否有什麼 SOP 自我反問流程是你可以照著做的?

善用工作資源

  • 爭取相關工作任務,邊工作邊學習
    • 當你得到意見,也知道你要做什麼之後,你可以充分利用公司資源,看看公司是否有相關任務,可以爭取要做相關任務,讓你學習你所需要的技能!利用上班時間就能學習是最棒的。

拓展職業發展

  • 突破現有職位限制
    • Chirs 提到:多往下個層級(例如資深工程師)需要的視角去想,不僅僅滿足於完成指派的任務,試著交付超過自己程度的成果,就會有更多機會往下個階段發展的機會
  • 擴大工作範疇
      • 從基礎任務(feature 開發、CRUD) 轉向更具挑戰性的工作(系統架構設計)
      • 將重點從個人貢獻轉向團隊貢獻

案例分享:提升任務完成度的思考方式

以拓展自己技術能力來說,自己在工作上曾被給予這樣的意見:

「在功能完成的交付上,除了以被交付任務的人來思考任務的完成度,也可以思考:如果是「自己主導任務」的情況下,可能需要多考慮 / 確認哪些情境?用這樣的方式做發想」,也是一個可以進行的方向。以下舉例:
假設任務是開發一個簡單的用戶註冊功能。 junior 可能只會考慮:
1. 建立註冊表單
2. 驗證必填字段
3. 保存用戶數據

但如果鼓勵他們「自己主導任務」,他們還可能思考:
1. 密碼安全:如何安全存儲密碼?
2. 用戶體驗:如何處理註冊失敗的情況?
3. 安全性:如何防止自動註冊機器人?
4. 數據完整性:如何處理重複的電子郵件地址?

💡 試試問問 GPT 他如果身為資深軟體工程師,他會考慮什麼問題?


規劃並執行了 3 - 6 個月的成長計劃後,可能會發現自己的技術能力有了顯著提升。但是,即使擁有了這些經驗和能力,在求職過程中還是可能遭遇各種碰壁...

破解迷思: 為什麼優秀的你可能被忽視?

Chris 提到:

職涯的經營須兼顧內在(經驗/能力)與外在(履歷/個人品牌)
  • 初期大家都很在意技術能力,也認為技術能力就是一切,為了獲得很多經驗花費很多時間,確實這些能力跟經驗很重要,也是職業發展的根本。但是外在能力往往是你展示內在實力的入場券。而外在能力是什麼?簡單說,就是讓別人願意多看你一眼的東西。

    例如面試,你的第一道坎是要拿到面試機會,也就是你的外在表現(履歷)過了才會進到面試關看到你的內在(技術能力)。因此內在能力跟外在能力的累積,這兩件事情是需要同時要進行的。
  • 關於累積外在能力,可以再參考上一篇月會文章的「職涯故事累積
短期不夠,我要長得比別人更高!規劃的比別人更遠!(圖文不符)

不知道大家去面試的時候有沒有被問過這個問題:「你未來3年的職涯規劃是什麼?」對於這個問題,我自己一直都是回答得很爛,因為我還想像不到未來 3 年的樣子,只講得出我要變成資深工程師,但是具體要做什麼還講不太出來。針對這樣的困擾,下面將說明月會中介紹的系統化方法,著重於「技術學習」的方向,說明如何規劃未來 1 - 3 年的發展。

中期目標安排

了解短期目標該怎麼做了,可是中長期呢?公司的任務目標跟我不太一樣,打開技術 roadmap 又發現超多超廣都學不完,到底要怎麼聚焦?

設定目標的方法

職涯導向學習

想像你下一個職涯長什麼樣子,用來反推你現在要怎麼學習,這是一個以終為始的過程,你要先知道你的未來,才會知道你要怎麼往那個方向前進!

以終為始:先規劃再行動。 目標 → 規劃 → 執行 → 驗證

從 JD 探索未來:技術的選擇跟培養

  • 搜集多個目標職缺 JD (美國職缺),觀察裡面主要需要的技能/特質是什麼?
  • 蒐集職級技能標準:gitlab, dropbox,看看自己目前所在位置在哪裡,如果要往上,還差什麼軟技能

應用願景設定選擇技術方向

這其中有個重點,你必須先想出未來樣子,再做規劃,但是不要先想「現在做不做得到」,因為發想會受限,現在做不到是很正常的。可以試著想像這是你幫其他人做的規劃,會更容易執行

舉例: agoda 資深後端工程師 JD,以下抽取部分出來說明(因為我在工作上接觸不到 CICD,因此我選了這個來做規劃)

  • 技術面向
    • Implement advanced CI/CD pipelines and robust testing strategies to ensure seamless integration, deployment, and high code quality.​ 
      能夠建立和維護複雜的 CI/CD 流程

技術的部分,到這裡已經看不懂這個是需要什麼了,這個時候就可以使用 GPT 輔助說明實際會需要做到哪些事情

未來回溯:3 年職涯規劃

Jalex 提到:3 年是比較適合的規劃長度,能夠有點想像又不會太過遙遠
另外,把時間維度拉長才不會受到現在狀況限制,可以想像成你在幫另外一個人規劃,才有辦法把這件事做好。呼應前面,先想好故事,再開始去執行。

先想像第三年要達成的成果,再回推現在的狀況,以季度來切分,安排第一年 Q1 到 Q2 的目標,越近的目標要做的事情需要越清晰、具體。

制定具體行動計劃

設定起點

你需要知道現在自己我具備什麼技能?擁有哪些資源?回歸到最上面要做的,盤點自己的能力,以及了解你目前在公司有什麼資源,才能對這個計畫安排後須連結跟推進方向更清晰

使用量化指標來規劃

需要使用量化指標,來驗證自己的成果,而且需要多設立幾個指標,不然很容易計畫失敗!

舉例常用的量化方式:

  • 針對 X 技術/議題,整理 N 個公司遇到的痛點
  • 針對 N 個痛點提出解決方案
  • 閱讀 N 個 X 技術/議題的相關文章,並且寫成技術文章
  • 找出 N 個 X 技術與其替代選擇間的差異,評估每種技術的適用場景和限制,做成比較表

具體例子

以我設立的目標為舉例:

如果真的不曉得怎麼設定目標,GPT 可以做出很好的輔助拆解目標,又或者你可以試試以下面為範例,請 GPT 產生看看內容

💡
第一年目標:基礎知識了解與初步實作

起點:某家軟體公司後端工程師
* 平常只會看 CICD 跑測試有沒有出錯,但沒有特別關注
* 偶爾 CICD 會出現一些額外的錯誤,但都不是我去解 bug

第三年目標:成為 CI/CD 專家

Y1Q1:
學習 CI/CD 的基本概念閱讀 10 篇關於現代 CI/CD 實踐的技術文章
或案例研究。
* 完成至少一個線上課程,如 Udemy 或 Coursera 上課程。
* 學習並總結 3 種主流 CI/CD 工具(如 Jenkins, GitLab CI, GitHub Actions)的特點和使用場景。

Y1Q2:
熟悉工具與環境設定學習並實踐使用 Jenkins、GitLab CI 或 GitHub
Actions 等工具。
* 參與至少一個小型項目,實踐基本的 CI/CD 流程,包括自動化測試
與部署。
* 整理出公司目前 CI/CD 實踐中的 3 個痛點。
* 試著去解公司 CI/CD 出現的 bug 3 個。

Y1Q3: 深入學習自動化測試
Y1Q4: ……

第二年目標:……

定期回顧和持續修正

目標不是要 100% 達成,定期去 review 去知道如何可以更好,並修正目標

拿到自己規劃很開心!但是驗證很重要!必須真的執行並且讓你的目標持續進行,進度快慢沒有關係,重點是需要「持續進行」。

另外,在做的時候就會發現有些狀況跟預期的不同,你的計畫是需要不斷調整的!可以把這個規劃想像成你在公司做任務,如果遇到卡關或者是其他問題,都是可以做修正的,你就是你自己的 PM。

💡 你有了這張完善的規劃表,也可以拿去跟你的主管討論你接下來該怎麼做,或許可以得到更棒的建議或是協助。

💡 覺得缺乏動力執行嗎?去找找志同道合的人一起當問責小夥伴吧!

💡 寫信給未來的自己吧!之前玩過 FutureMe!寫信給 6 個月後的自己,也能達到一些督促自己的效果。寫寫現在自己對未來自己的期許,也問問未來的自己做的如何。可能會意外發現以前的自己想的跟現在的自己完全不一樣噢(?!


QA 案例分享:

技術到底一開始要學得廣還是深?

廣度支撐深度,深度促進廣度

  • Jalex:學習起手式終究都要從廣開始,就像一個金字塔,總要有一定的廣度才能支撐深度。在看得不夠廣之前,你的深通常都不是真的深。深跟廣是相輔相成的,而且會需要反覆迭代,隨著經驗的積累,在廣度和深度之間不斷切換和平衡,所以兩件事都要做!

對於程式碼重構,船長的看法是什麼?

  • Jalex:重構是很難講出價值的事情,除非重構之後對公司對產品更有影響力,不能只是為了更好看懂或者是練習
  • 如果沒有看過品質更好的人寫的 code,可能沒辦法有更好產出,因為自己的思考都在同一個維度
    • 可以嘗試找 open source 的 project 研究他們的程式碼,並研究他們是怎麼在那麼多人貢獻跟迭代後還能維持品質的

我覺得這回到之前談的職涯故事,重構其實也會花費大量時間,如果重構之後沒辦法對團隊帶來持久的影響力,或許這件事情就不是最重要需要做的事情。那什麼時候會需要考慮重構?我觀察我們公司的專案,當舊 code 導致功能真的沒辦法擴充/維護的時候,或者是隨者用戶數量不斷增大,舊 code 在效能上出現問題,我們的工程師才會考慮做重構。

另外我之前去參加過 Ruby on Rails 的 conference,有問過日本講者關於他們都怎麼學習跟開什麼讀書會,他也是大力推薦我看 open source project 讀 code,他們有讀書會主題就是這個,定期分享討論。

關於技術焦慮怎麼辦?

覺得有太多要學,不知道該從哪開始是對目前最好的、害怕未來會被淘汰…

  • Jalex:技術焦慮會跟著你一輩子,不要試著克服,而是跟他相處。我會告訴自己我有計畫,我在前進。呼應前面講的,當自己制定的計畫確實看得到前進,也會比較安心。

又或者在某些時期,壓力真的很大,自己沒有辦法處理的時候,可以做定期諮商

我們政府有開始推 3 次免費心理諮商政策,15 至 45 歲適用。期間是 2024/8/1 到 2025/12/31,適合技術超級焦慮的我們去聊聊緩解心靈

自己也是一天到晚有技術焦慮,沒事就是在想下一步要做什麼,不然就是看書,再不然就是在參加讀書會,或者是在整理技術心得文章。如果我問怎麼解決技術焦慮,我會去運動跟踏青,最近開始嘗試冥想,發現心情會比較平靜,但好像真的沒辦法擺脫…看來真的只能共存了。


後記:這次月會也是收穫滿滿滿,第一篇超級長文就獻給曼陀號了,直接得到實用的未來規劃框架 👏👏 實際月會內容真的超級豐富,還有 workshop 直接給你的規劃建議!只可惜沒辦法全部分享。
另外這次的規劃只有提到技術的部分,但其實「個人特質」跟「公司文化重視特質」都是可以培養的,JD 裡面可以研究的內容真的很多啊。之前看了「原子習慣」這本書,覺得很能應用在這之上,有機會再寫心得分享了~~