你有资格成为 DevOps 工程师吗?
你有资格成为 DevOps 工程师吗?
原文:https://medium.com/hackernoon/are-you-qualified-to-be-a-devops-engineer-d06fe4b8325a
在我上一篇帖子中,我谈到了 DevOps 作为一种文化和角色。如今,许多公司都在寻找一名 DevOps 工程师加入他们的 DevOps 团队。我知道用这个术语给某人贴标签有点违背 DevOps 的价值观,但是 DevOps 工程师到底是什么?还有为什么那么多公司找他们?
什么是 DevOps 工程师?
让我们从问题的第一部分开始。没有成为 DevOps 工程师的培训或教育途径。通常,DevOps 工程师是高级开发人员或系统管理员,他们拥有业务、组织、配置、自动化、运营和领导方面的技能。
换句话说,通常情况下,人们对自己目前的技能很有信心,并且已经扩展到其他角色。他们被雇佣是因为他们对这个领域有深入的了解,并且有很多实践经验。你不会在 LinkedIn 上找到一个不要求在申请前至少有 5 年工作经验的职位(但话说回来,这几乎是任何职位)。
为什么公司要找他们?
他们想要拥有 DevOps 技能的人,因为实施 DevOps 文化的公司有更好的结果!Puppet 的DevOps 状态报告显示,高绩效人员在配置管理上花费的时间更少(28%),部署更频繁,并且在实施 devo PS 实践后恢复更快。这些只是众多优势中的一部分。
并不是公司专门找 DevOps 工程师,而是任何有 DevOps 技能的人。如果你去 LinkedIn 或任何工作列表网站,有许多不同类型的 DevOps 职位。
什么是 DevOps 技能集?
根据木偶的说法,这是 DevOps 工程师需要的三项顶级技能:
- 编码或脚本
- 流程再造
- 与他人沟通和协作
流程再造可能是最能说明问题的技能。工程师不再被雇佣来从零开始编写代码,而是寻找能够与公司当前平台和操作系统兼容的最佳开源工具。
雇主到底想要什么样的技能?
在搜索了许多 DevOps 工程师职位后,这些往往是常见的技能要求:
- 强大的自动化技能(与工具无关)。
- 设计、构建和运营技术堆栈的能力。
- 配置和自动化管理、运行状况检查、单点故障、通知。
- 精通以下任何工具和编码语言(视工作而定):Docker、Jenkins、Chef、Puppet、Salt、Git、MongoDB(或其他 NoSQL 数据库)、JAVA 和 Nginx。
- 在 Linux/Unix 环境和脚本语言方面有丰富的操作经验:Shell、Perl、Python。
- 有效的跨职能领导技能(之前的领导经验、口头沟通技能、强大的协作技能、同理心)。
- 通过与部署/发布团队紧密合作,确保最佳操作实践。
- 在生产环境中使用 AWS 的经验:EC2、S3、VPC、IAM、ELB、CloudWatch。
对 DevOps 有“高级”水平的了解
由于 DevOps 可以有多种解释方式,因此很难确定什么才算拥有高级的 DevOps 知识。主要是,如果你想要一个 DevOps 的角色,你必须比任何人都了解你的东西。你必须对自己进行交叉培训,因为并不是每家公司都会传授你提高“开发技能集”的技能。这意味着着手让你熟悉自动化、脚本、配置、领导力等的项目。你必须学会推销你的技能,向别人展示你知道自己在做什么。不知道如何开始或如何展示你的技能?以下是一些开始的地方: