

我曾经申请了47个“DevOps工程师”的职位,直到那时我才意识到,问题可能不在于我的简历,而在于我根本不了解这些工作究竟是做什么的。
职位名称看似相同,工作内容却天差地别。一家公司希望我构建内部开发者平台;另一家需要我负责SLO监控和事件响应;第三家则想找人来主导CI/CD流水线和基础设施自动化。而我却用着同一份简历,在面试中给出千篇一律、从未真正切中要点的回答。
这不是技能问题。问题在于,我没有意识到“DevOps”已经悄然分化成了三个截然不同的专业方向,而我却把它们都当作同一职位的不同版本,认为可以随意互换。事实并非如此。
一个职位名称,三种不同含义
在你学习“DevOps”时,很少有人会明确告诉你:当前的就业市场已经分化出界定清晰的专业方向,每个方向的日常职责、技能要求和职业发展轨迹都各不相同。
根据近期的市场数据分析,其构成大致如下:
- 36.7% 的职位是 DevOps 工程师
- 18.7% 的职位是 网站可靠性工程师
- 16.3% 的职位是 平台工程师
生态系统相同,工作内容却迥异。如果你仅仅因为这三类职位的描述中都提到了 Kubernetes 和 Terraform 就去盲目申请,很可能是在浪费宝贵的时间,去参加那些你本就无望通过的面试。
这种困惑真实存在,且代价高昂
我花了三个月时间,海投所有标题中带有“DevOps”的职位。在那段时间里,我的面试成功率只有12%。我明明具备相应的技术资格,但在每次交流中,我强调和优化的方向都跑偏了。
当我开始专门针对平台工程的职位,深入理解了这项工作的实际内容,并相应地调整了我的简历和面试策略后,我的成功率跃升至64%:同样的技能,同样的经验,结果却截然不同。
问题不在于我;问题在于我把“DevOps工程师”、“SRE”和“平台工程师”当作了可以互换的职位头衔,而实际上它们描述的是截然不同的工作范式和思维模式。
各个角色究竟做什么?
这些职位的描述常常模糊不清,因为它们在工具栈上确实有很大的重叠。这三个角色都会使用 Kubernetes;都会编写基础设施代码;都非常关注自动化。但是,它们的侧重点,也就是你日常需要解决的实际问题和衡量的成功标准,是完全不同的。
DevOps 工程师:桥梁搭建者
你的核心职责:
你需要构建和维护持续集成/持续交付 (CI/CD) 流水线,使用 Terraform 或 CloudFormation 等工具自动化基础设施的配置,并充当开发团队和运维团队之间的桥梁。你需要实施监控系统,管理云基础设施和成本,并负责端到端的部署自动化。
日常工作实况:
你的核心目标是帮助其他团队更快、更可靠地交付代码。你会搭建 Jenkins、GitLab CI 或 GitHub Actions;编写可复用的 Terraform 模块;并在凌晨三点排查部署失败的原因。你的工作范围天生就比较宽泛,今天可能在处理基础设施,明天可能就在优化流水线或与开发团队沟通协作。
这个角色适合你,如果你:
你喜欢构建供他人使用的系统,享受编写脚本和自动化的过程,希望工作内容多样化,并且能自如地在不同团队和项目之间切换。
网站可靠性工程师 (SRE):可靠性专家
你的核心职责:
你需要定义和监控服务水平目标,响应事件并进行事后复盘,通过混沌工程将可靠性构建到系统中,实施错误预算和容量规划,并进行容错设计。轮流值班是这个职位不可或缺的一部分。
日常工作实况:
你要确保系统不会出问题,而当问题发生时,你就是第一响应人。你会编写应急预案,分析指标以在故障发生前进行预测,并在错误预算耗尽时于凌晨两点被叫醒。你的工作深度聚焦于生产环境的可靠性和事件管理。
这个角色适合你,如果你:
你对系统的正常运行时间和性能有执念,习惯用百分位数和SLOs而不是粗略估算来思考问题,不介意轮流值班,并且享受事后复盘分析和根本原因调查。
平台工程师:内部产品构建者
你的核心职责:
你需要构建内部开发者平台,为开发团队创建自服务工具,将基础设施的复杂性抽象出来,为部署设计“黄金路径”,并积极致力于降低开发人员的认知负荷。
日常工作:
你为内部客户——公司的开发人员——构建产品。你创建的平台能让开发人员在无需深入了解 Kubernetes 底层细节的情况下部署应用程序;你设计的 CLI 工具、Web 仪表盘和 API 能够抽象复杂的底层设施决策。
这个角色适合你,如果你:
相比于使用工具,你更喜欢构建工具;你会持续思考开发者体验和如何减少阻力;你享受 API 设计和产品思维;相比于到处救火,你更偏爱可预测的、迭代式的工作。
按角色划分,真正重要的技能
- DevOps 工程师关键技能: Terraform、CI/CD 工具、Docker、Kubernetes、脚本 (Python, Bash)、云平台、监控工具。
- SRE 关键技能: 监控和可观测性、事件响应经验、SLO/SLA 设计、on-call 经验、分布式系统知识、容量规划。
- 平台工程师关键技能: API 设计、开发者工具、Kubernetes Operator、基础设施抽象层、产品思维、内部文档。
注意到其中的重叠之处了吗?这正是产生混淆的根源。这三个角色都使用相似的工具,但其关注点,即你优化的最终目标和日常工作的重心,是完全不同的。
如何判断你面试的到底是哪个职位?
职位描述有时会“骗人”,或者说,它们只是从模板中复制粘贴,并未真正理解这些角色之间的区别。以下方法可以帮助你在浪费多轮面试时间之前,弄清楚他们真正想要的是什么。
-
当你不想 on-call,却在面试 SRE 职位的危险信号:
他们重点提及“on-call 轮值”或“事件响应”;他们详细询问你关于 SLO 或错误预算的经验;他们想知道你将如何处理生产环境故障。这些都是 SRE 的工作核心。如果半夜被叫醒去调试生产问题的想法对你没有吸引力,那么这个职位很可能不适合你。
-
当你想要体验多样化的基础设施,却在面试平台工程职位的危险信号:
他们大谈特谈“开发者体验”或“黄金路径”;他们询问你构建内部工具或 CLI 的经验;他们反复提及“降低认知负荷”或“自助服务平台”。这是平台工程师的工作,是迭代式的、以产品为中心的,并且通常需要长时间专注于同一个内部产品的演进。
-
当你想深度专精,却面试了 DevOps 通才岗位的危险信号:
他们需要一个能“身兼数职”的人;他们希望你负责 CI/CD 流水线、基础设施自动化 以及 部署管理;他们提到要和多个团队紧密合作。这就是 DevOps 通才岗位,其设计初衷就是广泛涉猎。如果你的目标是在某一技术领域深耕,那么你很可能会因频繁的上下文切换而感到沮丧。
申请了错误的职位会发生什么呢?因为你的技能有足够的重合度,你通过了简历筛选。你进入了电话面试,甚至可能进入了技术面试。然后你搞砸了,因为你的准备侧重点完全错了。
我对此有惨痛的教训。我曾面试一个平台工程职位,整个面试过程我都在谈论我的故障响应和 on-call 经验。而他们想听的是关于开发者工具、API 设计,以及我将如何为开发者降低基础设施复杂性。我用 SRE 的思路回答了平台工程的问题。面试失败了,我白白花了三周时间去准备一个根本不适合我的职位。
薪资与职业路径:相似的起点,不同的方向
在初级到中级水平上,这三个职位的薪资水平通常相近,但真正的区别在于长期的职业发展轨迹:
- DevOps 工程师 可能走向工程经理或基础设施架构师。
- SRE 会向高级 SRE、资深 SRE 或专注于可靠性的工程经理发展。
- 平台工程师 则可能成长为资深平台工程师、首席工程师或平台总监。
相同的起点,不同的终点。选择时应着眼于你三到五年后的职业目标,而不仅仅是你第一份 offer 上的薪资数字。
从今天开始,如何正确规划你的职业道路?
不要再盲目申请所有标题里带“DevOps”的职位了。相反,你应该先弄清楚自己内心真正想做哪种类型的工作:是通用的自动化和基础设施桥梁角色,是追求极致可靠性的守护者,还是热衷于构建内部工具的产品思维者?然后针对 那个特定方向 来调整你的一切准备。
- 如果你想应聘 DevOps 工程师职位: 构建能展示 CI/CD 自动化的项目;突出基础设施即代码的经验;在简历和面试中证明你的跨职能协作与问题解决能力。
- 如果你想应聘 SRE 职位: 系统化记录你的 on-call 或模拟事件处理经验;构建监控和告警仪表盘;为你调试过的复杂故障编写详细的事后复盘报告;深入学习 SLO/SLA 设计框架。
- 如果你想应聘平台工程职位: 动手构建能解决实际痛点的内部工具;展示你如何通过抽象层来封装复杂性;用可衡量的方式阐述你如何改善过开发者体验;在沟通中体现你的产品思维。
就业市场已然分化,你的求职策略也应顺势而变。明确方向,精准准备,你的成功率将会显著提高,因为你不再把时间浪费在那些从一开始就不适合你的工作上。希望这份辨析能帮助你在云栈社区或其他技术平台交流时,更清晰地规划自己的技术职业路径。