想轉職資訊領域?除了軟體工程師,你還可以考慮 DevOps / SRE!

如果你正在考慮轉職資訊領域,搜尋職缺時大概很容易看到各式各樣的工程師名稱。

開發工程師類

  • 軟體工程師(Software Engineer)
  • 前端工程師(Frontend Engineer)
  • 後端工程師(Backend Engineer)
  • 全端工程師(Full-stack Engineer)
  • Android/iOS 工程師(Mobile App Engineer)

系統與平台工程師類

  • 雲端工程師(Cloud Engineer)
  • DevOps 工程師(DevOps Engineer)
  • SRE(Site Reliability Engineer)
  • 平台工程師(Platform Engineer)
  • 還有許多其他職稱……

問題是:這麼多職稱,到底哪一個適合自己?而 DevOps/SRE 又是一個很容易讓人誤會的領域。

有人認為它就是維運,有人認為它就是雲端;有人認為只要會 Docker、Kubernetes 就可以,也有人覺得:「DevOps 是不是就是幫 RD 部署程式?」其實都只講到一部分。

DevOps 的核心比較接近讓軟體交付與運行變得更可靠、更快速、更可重複;SRE 則更強調以工程方法處理正式環境(Production)的可靠性與營運問題。Google 對 SRE 的經典描述,就是讓 Software Engineer 用工程方法來設計 Operations。

第一個問題:我適不適合 DevOps/SRE?

可以先從幾個問題思考:

  • 你是不是喜歡研究「系統為什麼這樣運作」?
  • 遇到問題時,你是先重開服務,還是會想知道根本原因(Root Cause)?
  • 你會不會對作業系統(Linux/Windows)、網路(Network)、資料庫(Database)、雲端(Cloud)、容器(Container)、自動化(Automation)產生興趣?
  • 你是不是喜歡把原本需要人工做的事情自動化?

如果答案大多是「會」,DevOps/SRE 就值得放進你的職涯考量。

第二個問題:轉 DevOps 一定要先當 RD/會寫程式嗎?

不一定。但完全沒有開發概念,通常會讓學習曲線比較陡。

因為 DevOps/SRE 工作經常需要理解:

  • 程式碼(Code)怎麼編譯(Build)。
  • 應用程式(Application)怎麼啟動。
  • 服務(Service)怎麼互相呼叫。
  • 資料庫(Database)怎麼連線。
  • 容器(Container)怎麼運作。
  • 系統部署(Deployment)怎麼發生。

所以 DevOps/SRE 不見得要求你成為專業 Application Developer(應用程式/軟體開發者),但理解軟體生命週期非常重要。

第三個問題:DevOps 是不是比 RD 好?

不應該用「哪一個比較好」來看,它們解決的是不同問題。

RD 偏向:「怎麼把產品功能做出來?」

DevOps/SRE 偏向:「怎麼讓這個產品可靠地被 Build、Deploy、Operate、Observe?」

真正值得思考的是:你的興趣比較偏向「做功能」,還是「讓整個系統運作得更好」?

因此,DevOps/SRE 不應該被當成「寫程式寫不下去之後的備案」;它本身就是一條完整的工程職涯。

如果你正在轉職 IT,DevOps/SRE 值得研究,但更重要的是先了解:你究竟喜不喜歡這種工作。

碎碎念(經驗談)

在這個 AI 寫程式愈來愈快、愈來愈好的時代,初階工程師面對 AI 的競爭壓力不小,資深工程師也都在使用 AI 寫 Code。如果想轉職開發類工程師,我個人感覺現在並不是一條很好走的路。

但是在全民 AI 寫 Code 的時代,許多人會利用 AI 產生系統,卻不見得熟悉後續的流程:編譯、測試、部署、上線等。

尤其企業關鍵的系統,在正式環境中通常不可能不經把關就把所有流程完全交給 AI。因此我個人認為,DevOps/SRE 在未來可能會是更受重視的角色。不過,實際職缺需求仍然會隨企業、地區和市場而不同。

當然,如果你本身就不是開發工程師,但是會使用 AI 來開發系統,也希望 AI 開發完成的系統可以上線給許多人使用,那麼就更應該了解 DevOps/SRE 這個領域了。

本文為個人職涯觀察與經驗分享,不代表所有企業的招聘標準或未來市場一定如此。

發表留言