需要,但要寫到什麼程度,得看工作的內容。
有的職務以 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 可以怎麼用 AI?
歡迎持續追蹤系列文:DevOps / SRE 學習指南:從職涯探索到實戰技能