站点可靠性工程师

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

焦点

相关书目

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

职位描述

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

“未来工作”动态

 主动型人工智能工具能够自动化持续集成/持续交付(CI/CD)管道,并实时监控系统。如今,DevOps 专业人员将更多精力投入到可靠性策略、事件响应以及协调基于人工智能的工作流上。人为监督和系统思维依然至关重要。

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

工作时间表

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 的课程
  • 旨在培养英语、写作、口语、团队合作及领导力等软技能的课程
  • 可选认证包括:
    • 美国质量协会可靠性工程师认证
    • 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 必须能够以协作但果断(必要时果决)的方式指导他人
  • 证明你是值得信赖的。要守时,如果处于待命状态,请迅速响应事件,认真完成工作,并设法避免今后出现类似问题。 
备选方案

站点可靠性工程(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万美元左右。

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