DevOps / SRE 需不需要會寫程式?

需要,但要寫到什麼程度,得看工作的內容。

有的職務以 Script 和自動化為主,有的則會開發內部工具或平台。

從日常自動化開始

至少建議學 Shell Script、Python,或其他一門程式語言。

工作裡會遇到 API、File Processing、JSON、Log Parsing、Automation、CLI、CI/CD,需要能用程式把這些事情接起來。

再往下做,就會需要 Modular Code、Testing、Error Handling,以及 API、SDK、Git、Package Management 等能力。

程式要能維護,不能只求這次跑得動。

高階 SRE 也可能大量開發 Internal Tools、Automation Platform、Operators、Controllers、Deployment Systems 和 Monitoring Systems。

Google 的 SRE 定義本身就很強調 Software Engineering;Google 甚至把 SRE 的 operational work 設下 50% 上限,要求大量時間投入工程專案與自動化。

和 RD 寫的東西差在哪?

SRE 需要程式能力,但不代表「你必須像 RD 一樣每天寫商業邏輯。」

RD 的 Coding Focus 常放在 Feature、Business Logic、API、Domain Model;SRE 則更常用在 Automation、Tooling、Infrastructure、Reliability、Observability、Deployment 與 Platform。

如果剛開始學,不必先去刷 500 題演算法。可以從 Shell、Python、HTTP API、JSON / YAML、Git、Testing、Debugging 練起,先讓自己能處理工作中的自動化與除錯需求。

碎碎念(經驗談)

程式能力這一塊,其實有下面幾個面向:
– DevOps/SRE職務需求的Script必須看得懂。
– 公司RD開發使用的程式語言,必須理解它的編譯、啟動方式等。
– 容器化的映像檔構建與運作方式能夠理解、規劃。

因為現在這個AI時代大多都請AI協助產生程式碼,但是不代表能夠「無腦」的把AI產生的東西用上,所以「看得懂」是首要重點!

也就是說,不以語言的限制所需要會的程式基礎能力是最少必須具備的,再來是「非程式碼」面向的一些概念也需要理解。

 

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

前一篇:DevOps / SRE 需要會什麼?

後一篇:DevOps / SRE 可以怎麼用 AI?

歡迎持續追蹤系列文:DevOps / SRE 學習指南:從職涯探索到實戰技能

發表留言