1. 程式人生 > >為什麽DevOps和SRE職位這麽難招人?

為什麽DevOps和SRE職位這麽難招人?

inux 團隊合作 解決 行數 動力 com azure 高級 非技術

  編輯 | 張嬋

  有 5 年的編程經驗,必須了解 CI / CD,會用 docker,kubernetes,linux,windows,Azure,GCP,AWS,jenkins,懂 octopus 部署,VSTS 等……

  Reddit 上一位網友有這樣的困惑:

  顯然,在任何領域都沒有足夠優秀的工程師,但是,為什麽 DevOps / SRE 人才特別難找?

  這個問題引發了大家的討論,其中的回答總結起來大致有這些點:

  “DevOps 工程師”:被過度使用的術語

  撇開“DevOps 是一種文化而不是一種角色”這種老生暢談的話不談,DevOps 工程師需要做任何事情:包括本地服務器系統管理,構建工程,發布管理,雲基礎架構管理,內部工具開發,IT 支持,分布式系統工程,文化推廣或幾乎任何與技術有關的事情。DevOps 工程師要掌握的技能範圍如此廣泛,扛著這麽多責任,以致於在為團隊篩選簡歷時對技能和工具的要求實在是太混亂了。

  對於 DevOps 團隊管理者來說,有些人傾向於不用 DevOps 這個詞,但它現在已經很流行了。公司能做的最好的事情就是尋找體面的系統管理員和有開發技能的人員(或有良好的能力 + 很好的態度)。相比起硬技能,很多人更看重態度和學習的意願。只要有一位優秀的高級導師,這些有學習意願的人就可以學到很多東西。額外的收獲是,這個人學習你們的做事方式和最佳實踐,這樣可以避免一個太自我的員工。

  沒有通往 DevOps 的傳統教育途徑

  經驗和背景的多樣性是 DevOps 群體的強大優勢之一,但人才很難在早期被發現。一個優秀的 DevOps 工程師可以來自任何地方:很多 DevOps 工程師沒有正式的計算機專業文憑,有些甚至來自法律或會計等非技術背景。如果有更好的認證 / 學位真正能驗證“DevOps”技能,那將是很好的,但目前的現狀只能是這樣。

  還有一些優秀的候選人具有技術實力和很好的軟技能,但在現在一些比較酷的面試中(如白板面試等)不能很好地展現出來,有人提到最好的方式是“試用”工作:候選人進來與團隊合作,如果他們表現和溝通都良好,就可以留下來了。但這很難實現。

  流行工具相對年輕

  顯然,大家聘請擁有二十年 AWS 經驗的工程師和十年 kubernetes 生產管理經驗的人。但如果對於這些工具每個人的經驗都不到三年,那麽很難確定誰的能力更強。

  是的,所有的工具都很新。所以要尋找聰明,有學習動力的人(有良好的操作技能和一些開發背景的人),現在可能不具備所有的技能,但可以花時間慢慢培養。

  有的人可能只有兩年的經驗,但是他們主動設置了公司整個 Azure 基礎設施,Arm 模板,自動化測試。如果有人表現出了創新的主動性,並且從技術的角度來看會使公司的運作更加順利,就應該給他們機會,給他們 3-6 個月的試用期以證明他們是值得保留的。

  而對於求職者來說,大家普遍提到的有以下這幾點。

  薪酬福利

  招一個可以寫好代碼的開發人員很難。

  想找到懂基礎設施的開發人員?那幾乎不可能。

  想找到懂基礎設施,自動化,部署,網絡,操作系統,數據庫等的開發人員,還不想開出足夠的薪酬?祝你好運。

  一位網友提到他所在地區(丹佛)的優秀 DevOps 工程師每年起薪約為 125,000 美元。高級 DevOps 工程師的收入約為 165K-185K 美元。

  Stack Overflow 2018 年最新的開發者調查結果顯示,在很多國家 DevOps 專家收入最高,美國 DevOps 專家的年薪中位數接近 10 萬美元。看看各種發生故障刪庫跑路的事故就知道,一個高級 DevOps 人員真的值得花錢。

  如果你的 Title 是 devOps 並且你的年薪不到 100k 美元,那麽恭喜你,要麽你是一個發布工程師,要麽是一個系統管理員。

  其次,文化 / 福利 / 工作生活平衡。SRE 需求量很大,即使你能滿足你所在地區的工資需求和經驗需求,公司的文化如何?如果它比我目前的工作環境更糟糕,那應聘者為什麽還要考慮你們?薪酬很重要,但更有經驗的工程師知道錢並不是一切。

  總結來說,這個問題的原因在於 DevOps/SRE 現在很熱門。如果想要招到高水平人才,就要給出比他們現在的工作更誘人的薪酬福利。或者,也可以招一個初級水平的人才慢慢培養。

  全棧神話

  SRE / DevOps 被視為“兼職”工作。即使他們管理了數百個服務和數千個實例 / 容器,他們的技能組中也沒有在 Java 中構建微服務。或者他們不會白板數據結構和二叉樹,因為工作不需要。

  但是公司希望他們能了解一切事情: “必須有 5 年的編程經驗,必須了解 CI / CD,會用 docker,kubernetes,linux,windows,Azure,GCP,AWS,jenkins,懂 octopus 部署,VSTS 等”……

  公司對 DevOps/SRE 角色定位不清楚

  對於這一點,主要問題是公司認為他們需要一個 DevOps 或 SRE 人員來填補需要來自不同背景人員的多個職位空缺。

  招聘 DevOps 很難,因為雇主通常不清楚他們想要什麽樣的 DevOps 人。關於 DevOps,大致可以劃分成這樣的三類:

  偏運維的 DevOps - 系統管理員,具有一些網絡技能,並且可以熟練地使用除 shell / powershell 之外的至少一種語言編寫腳本。他們會部署和自動化 IT 基礎架構的各種組件,並可幫助解決這些組件的問題。他們還可以確定下一個項目的基礎設施要求,並可以設置 CI / CD 管道來傳遞基礎設施工件。

  偏開發的 DevOps - 他們是熟練的開發人員並且了解公司的開發棧。他們可以深入研究構建 / 部署故障並進行故障排除。他們還可以識別資源需求(例如 JVM 設置)和要使用的潛在框架。他們熟悉構建腳本和設置構建,並知道如何添加和利用正在使用或創建的應用程序的性能指標。他們可以支持諸如應用軟件開發最佳實踐之類的事情,並且可以啟動 / 使用現有的 CI / CD 管道來提供軟件工件。

  DevOps 工具專家 - 他們精通 DevOps 管道的管理,可以協助本地開發或其他 IT 成員使用工具。他們能及時了解 IT 行業中 DevOps 工具的最新信息,並可幫助構建和引導 DevOps 管道更改的實現。

  高級系統運維人員可能沒有在 X 雲的 X 年經驗,但他們可能一直在使用基於雲的工具。對於 VMWare,Chef,Docker 等工具有一定的經驗的人都應該能夠很好地過渡到其他虛擬和雲技術。

  缺乏認可

  現實情況是,大多數管理人員並不了解 DevOps 的全部內容。對於純軟件開發人員,他們有一套指標 - 簽入數量,編寫代碼的行數,解決的 JIRA 問題數量等等, 但他們不知道如何衡量 DevOps 人員的水平。保持一切正常運行並確保通過自動化順利部署非常重要,但管理人員不了解這其中的發生方式,也不知道如何衡量。

  也有很多管理人員將 DevOps 視為成本,而不是收入來源。他們將 DevOps 人員當作一次性和可互換的對象,拒絕投資 DevOps 人員平穩工作所需的資源。除了缺乏支持之外,DevOps 人員可能還做著臟活累活:正在嘗試使用的自動化工具有時候到處是 bug,簡直讓人心累。

  從公司管理者的角度來說,無論如何,如果你沒有從你自己的工程人員內部培養出優秀的 DevOps 人員,那麽就該問自己為什麽了。如果你不重視 DevOps,其他人也不會,這樣就會在招人方面困難重重。

  真正要找 DevOps / SRE 的雇主應該回到“誰對生產中斷負責”這個問題。如果答案是 DevOps / SRE 職位,那麽這個雇主的招聘就多了很多挑戰。如果他們說整個產品團隊,那麽至少他們對現實情況的認識是對的,出了問題不會只想找人背鍋,這樣的團隊才更容易找到合適的人才。

  你的團隊的 DevOps/SRE 職位招聘困難嗎?作為 DevOps/SRE 工程師你在求職過程中感覺也是如此嗎?

  本文根據 https://www.reddit.com/r/devops/comments/9bsm75/why_is_it_so_difficult_to_hire_for_devopssre/ 整理

為什麽DevOps和SRE職位這麽難招人?