写点什么

为什么 DevOps 和 SRE 职位这么难招人?

2018 年 10 月 15 日

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 工程师你在求职过程中感觉也是如此吗?

2018 年 10 月 15 日 18:153740
用户头像
张婵 InfoQ 技术编辑

发布了 87 篇内容, 共 45.3 次阅读, 收获喜欢 214 次。

关注

评论 1 条评论

发布
用户头像
这篇文章历久弥新阿,作为一名DevOps从业人员,除非是世界知名公司否则一律不写白板题,面试官问起就直接说其实我不会写程式,其实我第一份工作是纯开发 。毕竟面试而已何苦互相为难,既然公司不懂DevOps我就直接说我不会写程式
2020 年 09 月 30 日 15:35
回复
没有更多了
发现更多内容

深入了解gradle和maven的区别

程序那些事

maven Gradle 程序那些事 构建工具

你真的了解 sync.Mutex吗

Leo叔叔

go mutex Go Concurrency Patterns

马斯克说狗币牛逼,我说idea插件助你盯盘摸鱼

滑板上的老砒霜

比特币 idea插件 Android开发

ZEGO全新语音聊天室方案,2小时复刻 Clubhouse

ZEGO即构

20210209—生活记录

Victor

二月春节不断更

盘点和程序员相关的那些事,让你不再被割韭菜,薅羊毛!

孙叫兽

程序员 程序人生 高薪 话题讨论

LeetCode题解:297. 二叉树的序列化与反序列化,DFS,JavaScript,详细注释

Lee Chen

算法 LeetCode 前端进阶训练营

流媒体传输协议之 RTP(下篇)

阿里云视频云

音视频 流媒体 rtp

Java容器--2021面试题系列教程(附答案解析)--大白话解读--JavaPub版本

JavaPub

Java hashmap 面试题 javapub

你看那个程序员,每年升职加薪,日赚3千

谙忆

/(ㄒoㄒ)/~~晚了

Nydia

产品经理 - 第三周作业

LLL777

5G点亮工业革命前,2021需要持续点亮5G

脑极体

产品训练营 - 第四周 - 作业

邹小胖

产品训练营

5. Python 循环的本质就是一段代码懒得重复写

梦想橡皮擦

Python Python Monad 2月春节不断更 python入门

极客大学·产品训练营·第三章作业(第四周)

二大爷

极客大学 极客大学产品经理训练营 产品训练营

话题讨论 | 如何获得令人心动的前端offer

魔王哪吒

程序员 面试 前端 话题讨论 二月春节不断更

【STM32】0.96寸OLED显示屏(7针SPI协议)软件模拟SPI

AXYZdong

硬件 stm32 2月春节不断更

从“乌鸡”到5G,不仅仅是谐音梗

脑极体

第四章作业

Rui

产品经理训练营笔记 - 业务流程与产品文档(二)

.nil?

产品经理训练营

区分重载和重写,轻松掌握 Java 多态

飞天小牛肉

Java 程序员 面试 后端 2月春节不断更

【得物技术】走进Web3D的世界(1) 画个立方体吧

得物技术

html html5 js WebGL 得物技术

正确面对倦怠感,提升职场战斗力

boshi

职场成长 七日更

话题讨论 | 你是不是一个特别容易被说服的人?

石云升

话题讨论 2月春节不断更

Spring中经典的9种设计模式,一定要记牢

Crud的程序员

spring 程序员 架构 设计模式

HTTPS的安全性从何而来?

金融科技的碎片化思考(中)

曲水流觞TechRill

金融科技

认识 Java 中的队列:Vector、ArrayList、CopyOnWriteArrayList、SynchronizedList

看山

Java 线程安全

极客时间购买课程用例

Geek_a32093

Elasticsearch 精确匹配与全文搜索

escray

elastic 七日更 死磕Elasticsearch 60天通过Elastic认证考试 2月春节不断更

2021年全国大学生计算机系统能力大赛操作系统设计赛 技术报告会

2021年全国大学生计算机系统能力大赛操作系统设计赛 技术报告会

为什么DevOps和SRE职位这么难招人?-InfoQ