如何轉職為 DevOps 工程師
DevOps 工程是一個備受稱讚的熱門職業。不管你是剛畢業正在找第一份工作,還是在利用之前的行業經驗的同時尋求學習新技能的機會,本指南都能幫你通過正確的步驟成為 DevOps 工程師。
讓自己沉浸其中
首先學習 DevOps 的基本原理、實踐以及方法。在使用工具之前,先了解 DevOps 背後的「為什麼」。DevOps 工程師的主要目標是在整個軟體開發生命周期(SDLC)中提高速度並保持或提高質量,以提供最大的業務價值。閱讀文章、觀看 YouTube 視頻、參加當地小組聚會或者會議 —— 成為熱情的 DevOps 社區中的一員,在那裡你將從先行者的錯誤和成功中學習。
考慮你的背景
如果你有從事技術工作的經歷,例如軟體開發人員、系統工程師、系統管理員、網路運營工程師或者資料庫管理員,那麼你已經擁有了廣泛的見解和有用的經驗,它們可以幫助你在未來成為 DevOps 工程師。如果你在完成計算機科學或任何其他 STEM(LCTT 譯註:STEM 是 科學 、 技術 、 工程 和 數學 四個學科的首字母縮略字)領域的學業後剛開始職業生涯,那麼你將擁有在這個過渡期間需要的一些基本踏腳石。
DevOps 工程師的角色涵蓋了廣泛的職責。以下是企業最有可能使用他們的三種方向:
- 偏向於開發(Dev)的 DevOps 工程師,在構建應用中扮演軟體開發的角色。他們日常工作的一部分是利用持續集成 / 持續交付(CI/CD)、共享倉庫、雲和容器,但他們不一定負責構建或實施工具。他們了解基礎架構,並且在成熟的環境中,能將自己的代碼推向生產環境。
- 偏向於運維技術(Ops)的 DevOps 工程師,可以與系統工程師或系統管理員相比較。他們了解軟體的開發,但並不會把一天的重心放在構建應用上。相反,他們更有可能支持軟體開發團隊實現手動流程的自動化,並提高人員和技術系統的效率。這可能意味著分解遺留代碼,並用不太繁瑣的自動化腳本來運行相同的命令,或者可能意味著安裝、配置或維護基礎結構和工具。他們確保為任何有需要的團隊安裝可使用的工具。他們也會通過教團隊如何利用 CI / CD 和其他 DevOps 實踐來幫助他們。
- 網站可靠性工程師(SRE),就像解決運維和基礎設施的軟體工程師。SRE 專註於創建可擴展、高可用且可靠的軟體系統。
在理想的世界中,DevOps 工程師將了解以上所有領域;這在成熟的科技公司中很常見。然而,頂級銀行和許多財富 500 強企業的 DevOps 職位通常會偏向開發(Dev)或運營(Ops)。
要學習的技術
DevOps 工程師需要了解各種技術才能有效完成工作。無論你的背景如何,請從作為 DevOps 工程師需要使用和理解的基本技術開始。
操作系統
操作系統是一切運行的地方,擁有相關的基礎知識十分重要。Linux 是你最有可能每天使用的操作系統,儘管有的組織會使用 Windows 操作系統。要開始使用,你可以在家中安裝 Linux,在那裡你可以隨心所欲地中斷,並在此過程中學習。
腳本
接下來,選擇一門語言來學習腳本編程。有很多語言可供選擇,包括 Python、Go、Java、Bash、PowerShell、Ruby 和 C / C++。我建議從 Python 開始,因為它相對容易學習和解釋,是最受歡迎的語言之一。Python 通常是遵循面向對象編程(OOP)的準則編寫的,可用於 Web 開發、軟體開發以及創建桌面 GUI 和業務應用程序。
雲
學習了 Linux 和 Python 之後,我認為下一個該學習的是雲計算。基礎設施不再只是「運維小哥」的事情了,因此你需要接觸雲平台,例如 AWS 雲服務、Azure 或者谷歌雲平台。我會從 AWS 開始,因為它有大量免費學習工具,可以幫助你降低作為開發人員、運維人員,甚至面向業務的部門的任何障礙。事實上,你可能會被它提供的東西所淹沒。考慮從 EC2、S3 和 VPC 開始,然後看看你從其中想學到什麼。
編程語言
如果你對 DevOps 的軟體開發充滿熱情,請繼續提高你的編程技能。DevOps 中的一些優秀和常用的編程語言和你用於腳本編程的相同:Python、Go、Java、Bash、PowerShell、Ruby 和 C / C++。你還應該熟悉 Jenkins 和 Git / Github,你將會在 CI / CD 過程中經常使用到它們。
容器
最後,使用 Docker 和編排平台(如 Kubernetes)等工具開始學習容器化。網上有大量的免費學習資源,大多數城市都有本地的線下小組,你可以在友好的環境中向有經驗的人學習(還有披薩和啤酒哦!)。
其他的呢?
如果你缺乏開發經驗,你依然可以通過對自動化的熱情,提高效率,與他人協作以及改進自己的工作來參與 DevOps。我仍然建議學習上述工具,但重點不要放在編程 / 腳本語言上。了解基礎架構即服務、平台即服務、雲平台和 Linux 會非常有用。你可能會設置工具並學習如何構建具有彈性和容錯能力的系統,並在編寫代碼時利用它們。
找一份 DevOps 的工作
求職過程會有所不同,具體取決於你是否一直從事技術工作,是否正在進入 DevOps 領域,或者是剛開始職業生涯的畢業生。
如果你已經從事技術工作
如果你正在從一個技術領域轉入 DevOps 角色,首先嘗試在你當前的公司尋找機會。你能通過和其他的團隊一起工作來重新掌握技能嗎?嘗試跟隨其他團隊成員,尋求建議,並在不離開當前工作的情況下獲得新技能。如果做不到這一點,你可能需要換另一家公司。如果你能從上面列出的一些實踐、工具和技術中學習,你將能在面試時展示相關知識從而佔據有利位置。關鍵是要誠實,不要擔心失敗。大多數招聘主管都明白你並不知道所有的答案;如果你能展示你一直在學習的東西,並解釋你願意學習更多,你應該有機會獲得 DevOps 的工作。
如果你剛開始職業生涯
申請僱用初級 DevOps 工程師的公司的空缺機會。不幸的是,許多公司表示他們希望尋找更富有經驗的人,並建議你在獲得經驗後再申請該職位。這是「我們需要經驗豐富的人」的典型,令人沮喪的場景,並且似乎沒人願意給你第一次機會。
然而,並不是所有求職經歷都那麼令人沮喪;一些公司專註於培訓和提升剛從大學畢業的學生。例如,我工作的 MThree 會聘請應屆畢業生並且對其進行 8 周的培訓。當完成培訓後,參與者們可以充分了解到整個 SDLC,並充分了解它在財富 500 強公司環境中的運用方式。畢業生被聘為 MThree 的客戶公司的初級 DevOps 工程師 —— MThree 在前 18 - 24 個月內支付全職工資和福利,之後他們將作為直接僱員加入客戶。這是彌合從大學到技術職業的間隙的好方法。
總結
轉職成 DevOps 工程師的方法有很多種。這是一條非常有益的職業路線,可能會讓你保持繁忙和挑戰 — 並增加你的收入潛力。
via: https://opensource.com/article/19/7/how-transition-career-devops-engineer
作者:Conor Delanbanque 選題:lujun9972 譯者:beamrolling 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive