站点可靠性工程师

图标
构建器图标
图标
剪贴板图标
图标
拼图图标
相关职位:SRE 工程师、DevOps 工程师(SRE)、系统可靠性工程师、运维工程师(SRE)、基础设施工程师(SRE)、站点运维工程师、生产环境工程师(SRE)、平台工程师(SRE)、站点可用性工程师、可靠性工程师

焦点

类似书名

SRE 工程师、DevOps 工程师(SRE)、系统可靠性工程师、运维工程师(SRE)、基础设施工程师(SRE)、站点运维工程师、生产环境工程师(SRE)、平台工程师(SRE)、站点可用性工程师、可靠性工程师

职位描述

在 DevOps 诞生之前,谷歌曾面临一个难题却不知如何解决。当时该公司运营着大型网站,但需要进一步优化并扩大其规模。其解决方案是什么?谷歌指派了一支软件工程师团队来攻克这一难题,而他们的努力奠定了站点可靠性工程(SRE)的基础。如今,这家软件巨头将 SRE 定义为“将运维视为软件问题时所获得的结果”。
 
SRE 实践成效显著,被其他大型企业广泛采用,并随着时间的推移不断完善和扩展,最终形成了一个与当今 DevOps 具有许多共同特征,但又存在若干重要区别的职业领域。虽然两者都处于开发与运维之间,但 SRE 更侧重于自动化。事实上,谷歌曾将工程师的宗旨描述为“通过自动化让自己失业”。 
 
不同组织对 SRE 的实践方式各不相同,也可能将其称为生产工程或基础设施工程。 无论名称如何,归根结底,工程师的职责是作为团队一员,持续致力于提升网站可靠性、运用事件管理关键绩效指标(KPI)、编写代码、构建服务并实现手动流程的自动化。由于网站全天 24 小时不间断运行,SRE 通常需要轮值待命,以便在需要时随时响应。 

“未来工作”最新动态

 具有自主能力的AI工具能够实现CI/CD管道的自动化,并实时监控系统。DevOps专业人员如今更侧重于可靠性策略、事件响应以及协调基于AI的工作流。人为监督和系统思维依然至关重要。

职业生涯中的回报之处
  • 从全局角度把握项目
  • 在团队之间发挥关键的桥梁作用 
  • 优化流程,助力提升组织利润
  • 丰厚的经济补偿
内幕消息
岗位职责

工作时间表

SRE 是一个薪酬丰厚的职业领域,因此要获得相应的薪资,就必须投入全职工作时间!正如 ParkMyCloud 所解释的那样,站点可靠性本质上等同于业务可用性。换句话说,站点可靠性工程师的职责就是将代价高昂的停机时间降至最低。这可能意味着需要在非工作时间工作,或者保持待命状态,以便快速响应问题。 


主要职责

  • 开发或改进与运营和支持相关的软件
  • 流程优化与自动化
  • 确保发布工程实践的一致性
  • 处理并最大限度减少支持问题升级 
  • 记录并整理新学到的信息以便日后参考,例如通过编写操作手册。防止可共享知识出现“孤岛”或被囤积
  • 故障排除
  • 开展事件复盘(也称为事后分析、回顾或根本原因分析),以查明问题发生的原因,同时避免归咎于人 

其他职责

  • 负责值班,处理故障排查及其他事件响应事宜
  • 确保遵守组织规程 
  • 在软件开发生命周期中创建待办事项清单,以解决问题并防范未来出现类似问题
工作所需技能

软技能
 

  • 能够促进团队之间的协作
  • 分析性问题解决
  • 注重细节
  • 客户服务 
  • 共情
  • 灵活性
  • 以目标为导向
  • 条理清晰;时间管理能力强
  • 善于探究且充满好奇心
  • 领导力和管理技能
  • 客观性
  • 以流程为导向
  • 质量保证理念
  • 出色的沟通能力

技术技能

SRE 必须具备与以下内容相关的多项技能:

  • 构建自动化工具
  • 构建配置语言
  • 编译器
  • 数据库
  • 分布式系统设计
  • 与系统管理、开发、配置管理、集成测试相关的领域知识
  • 源代码的一般管理
  • 安装人员
  • 人际网络
  • 操作系统
  • 包管理器
  • 安全
  • 软件工程
不同类型的组织
  • 计算机系统设计公司
  • 企业/公司
  • 政府/军事机构
  • 医疗保健 
  • 高等教育机构
  • 媒体与娱乐
期望与牺牲

如果一个组织拥有的网站重要到需要配备网站可靠性工程师(SRE),那么人们对该职位的期望自然会很高。据Netguru称,聘请SRE的四大主要原因包括:最大限度地减少停机时间、预判并缓解风险、加快开发速度,以及通过这些及其他已实施的流程来节省成本。 显然,站点可靠性工程师的工作量非常繁重,在努力应对这些工作任务的同时,他们还必须紧跟IT领域的最新变化。 
 
一旦出现问题,工作时间往往会大幅延长,更不用说轮班值守的情况了……这意味着即使你下班了,从技术上讲你仍然在岗。事件响应时间可能很短,而各家雇主在补偿加班工作方面的做法各不相同。有些公司可能会给予带薪休假,有些可能会支付额外报酬,还有些可能只会说一声“非常感谢”,除此之外别无其他。 

当前趋势

对于许多处于成长阶段的企业而言,SRE 仍是一个相对较新的概念。因此,当前的一个趋势是,企业仍在摸索如何最好地管理这一领域。推动站点可靠性工程(SRE)发展的主要因素是事件处理,这表明企业已经厌倦了忙于“救火”,希望能够更好地掌控局面。 
 
当然,这虽然减轻了管理层的压力,却将压力转嫁到了 SRE 身上。反过来,这又要求雇主想方设法维护这些承受压力的员工的身心健康,以确保团队能够以最高效率运作。虽然不同公司在这一点上的表现各不相同,但当前的趋势是:企业越来越认识到,关爱那些为业务奔波忙碌的员工具有重要价值!

从事这一职业的人年轻时喜欢做些什么……

“站点可靠性工程师”(SRE)这一名称为我们提供了一些关于该领域从业者特质的线索。他们热衷于网站开发,这种兴趣大多是在SRE们年轻时就已培养起来的。他们负责确保网站“可靠”,即一切功能都能在应有的时间按预期运行。因此,从业者自身也应具备可靠性,而这一特质往往也是在早年间磨练出来的。 
 
这类人通常守时、有条不紊,且学业成绩往往优异。事实上,无论从事何种类型的工程工作,通常都需要具备较强的学术能力,尤其是数学和科学方面的能力,这自不待言。不过,该领域的一个有趣之处在于,其中涉及的软技能非常多。

一名SRE需要善于与人打交道,能够自如地与团队协作,并能促进不同团队之间的合作。 因此,他们可能曾在学校担任过领导职务,或者仅仅是因为家里兄弟姐妹众多,早已习惯应对复杂的人际关系!SRE是效率专家,经过专业训练,能够通过研究问题并基于研究结果制定解决方案,从而寻找优化方法。这需要兼具创造性和分析性的思维方式,仿佛大脑的左右半球正在协同工作。许多SRE可能都是左右开弓,或者擅长演奏乐器。 

所需的教育和培训
  • 系统可靠性工程师需具备学士学位,计算机科学或相关专业者优先
  • 成为一名SRE并没有固定的途径。有些从业者是通过实习入行的;还有些人可能会参加培训营,随后在从事其他IT工作的同时提升技能,并自行练习其他技能。
    • 丰富的工作经验是大多数雇主的关键要求(许多 SRE 员工最初是在 DevOps、系统管理员、开发人员或软件工程师等岗位上工作的)
  • 旨在帮助学员熟悉 Java、Python、Ruby 或 C++,以及 Linux、Kubernetes 和 MySQL 的课程
  • 旨在培养英语、写作、口语、团队合作和领导力等软技能的课程
  • 可选认证包括:
    • 美国质量协会(ASQ)可靠性工程师认证
    • DevOps Institute 的 SRE 基础认证 
    • CompTIA 的 Linux+ 认证
  • 通过参加以下课程进行自主学习:
    • edX - DevOps 与站点可靠性工程导论
    • Lynda(来自 LinkedIn)—— DevOps 基础:站点可靠性工程
    • Udemy——可靠性工程入门
    • Coursera - 网站可靠性工程:可靠性测量与管理
      • 请注意,Pluralsight 也提供了同一门课程
选择项目时应关注的要点
  • 要成为一名成功的站点可靠性工程师,你需要掌握的大部分知识其实都是在大学课程之外学到的!
  • 最好选择开设上述领域课程的项目
  • 阅读教师简介,了解他们的专业领域和背景
  • 有哪些类型的学生社团和组织?许多软技能和技术技能,通过与同龄人的充分互动才能最有效地掌握
  • 确保该学校已获得认证
  • 寻找那些公布毕业生就业数据且拥有良好往绩的项目
  • 权衡报名参加在线课程的利弊。校园内的互动对培养软技能大有裨益,因此有时混合式课程会更有利。
高中和大学期间的活动
  • 如前所述,成为一名SRE并没有唯一的途径,因此不妨规划几条备选方案
  • 查看你心仪公司的招聘信息。留意职位对工作经验和学历的要求,然后据此规划一条通往该职位的职业发展路径。
  • 在高中阶段,应尽可能多选修IT选修课,以此打下坚实的基础
  • 尽可能多地进行实践技能训练!选修与上文“教育与培训”部分所列内容相关的课程
  • 别忘了练习写作。技术写作固然重要,但你还需要把复杂的主题用通俗易懂的语言表达出来。
  • SRE 需要具备良好的团队合作能力和领导能力。这些往往是容易被忽视的素质,但未来你将被期望具备这些能力,因此要尽早寻找方法来培养它们。
  • 没有什么比拥有一位经验丰富的导师更重要的了,所以不妨向校友或教师寻求建议 
  • 教导他人。教导能为双方带来新的学习体验
  • 在 Quora、Reddit、Dev.to 及其他网站上阅读并参与讨论
  • 当你的技能足够娴熟时,不妨在Upwork上积累一些有偿工作经验
  • 在Indeed上寻找实习机会,或者询问你所在的大学项目是否有相关机会
  • 在IT相关社团中担任领导角色,建立一个由同龄人和合作伙伴组成的广泛人脉网络!
典型路线图
Gladeo 站点可靠性路线图
如何找到第一份工作
  • 快告诉大家!现在大多数工作机会都是通过人脉关系找到的
  • 参加TripleByte 的 DevOps 筛选测试。如果通过测试,您将有机会与他们合作网络中的雇主进行面试。
  • 请在Indeed、Monster、USAJobs、ZipRecruiter、LinkedIn和Glassdoor上查找职位空缺
  • 了解雇主看重什么!Usenix 提供了一份可下载的 PDF 文件,其中列出了招聘 SRE 的内行建议
  • 有些雇主会对SRE进行内部培训,因此你可以先从某个岗位做起,同时制定计划在公司内部逐步晋升
  • 找一份实习。虽然报酬未必很高,但这能帮你打开职场大门,而且往往能转化为全职工作。
  • 关于招聘会的实际效用,目前尚无定论,但行业专属招聘会无疑能让你了解有哪些就业机会,并提供与从业者交流的机会
  • 把简历整理好。Job Hero 提供了一些很棒的站点可靠性工程师简历模板,你可以从中汲取灵感。
  • 请一位专业的简历撰写人(或编辑)来润色你的简历,使其达到最佳效果。但请记住,每份简历都要根据你申请的具体职位进行量身定制。
  • 深入研究 GitHub 上庞大的资源和面试题数据库!
如何步步高升
  • 这很大程度上取决于组织的规模。有些公司实行内部晋升;有些公司则可能更倾向于外部招聘。应尽早与你的直属上司就晋升机会进行沟通
  • 要积极主动。不断自我提升,参加培训课程,持续学习。当出现新的技术趋势时,尽可能全面地了解它,并成为该领域的专家。
  • 展现对公司的忠诚,成为值得信赖、不可或缺的宝贵人才,从而获得更多职责。通过言行表明你已做好晋升的准备
  • 切记要重视软技能。即使技术能力再强的员工,如果与他人相处不融洽,也很难获得晋升。
  • 展现领导风范。彰显你的能力与领导潜力。一名SRE必须能够以协作但果断(必要时要坚定)的方式指导他人。
  • 证明你是值得信赖的。要守时,如果处于待命状态,要迅速响应事件,认真完成工作,并设法避免今后出现类似问题。 
B计划

站点可靠性工程(SRE)是一个充满挑战且责任重大的职业领域。然而,进入这一领域的道路并不总是那么一帆风顺。许多人最初是从其他领域起步的,有时最终也会留在那些领域。一些“备选方案”的职业选择包括:

  • 后端开发工程师
  • 计算机与信息系统经理
  • 计算机程序员
  • 计算机支持专员
  • 计算机系统分析师
  • 数据库管理员
  • DevOps
  • 前端开发工程师
  • 全栈开发工程师
  • 信息安全分析师

新闻动态

在线课程与工具

薪资与就业前景
选择一个子区域:

预期年薪

$80K
$101K
$132K

新入职员工的起薪约为8万美元。年薪中位数为10.1万美元。经验丰富的员工年薪可达13.2万美元左右。

来源:加利福尼亚州就业发展部

预期年薪

$108K
$164K
$211K

新入职员工的起薪约为10.8万美元。年薪中位数为16.4万美元。经验丰富的员工年薪可达21.1万美元左右。

来源:加利福尼亚州就业发展部

预期年薪

$85K
$111K
$146K

新员工的起薪约为8.5万美元。年薪中位数为11.1万美元。经验丰富的员工年薪可达14.6万美元左右。

来源:加利福尼亚州就业发展部

预期年薪

$82K
$111K
$143K

新入职员工的起薪约为8.2万美元。年薪中位数为11.1万美元。经验丰富的员工年薪可达14.3万美元左右。

来源:加利福尼亚州就业发展部

预期年薪

$75K
$98K
$133K

新员工的起薪约为7.5万美元。年薪中位数为9.8万美元。经验丰富的员工年薪可达13.3万美元左右。

来源:加利福尼亚州就业发展部