如何转型成为 DevOps 工程师

无论您是应届大学毕业生,还是希望提升职业生涯的经验丰富的 IT 专业人士,这些技巧都可以帮助您受聘为 DevOps 工程师。
234 位读者喜欢这篇文章。
technical resume for hiring new talent

Opensource.com

DevOps 工程是一个热门职业,回报丰厚。无论您是在毕业后寻找第一份工作,还是在利用您之前的行业经验的同时寻求重新培训的机会,本指南都应帮助您采取正确的步骤成为一名 DevOps 工程师

沉浸其中

首先学习 DevOps 的基本原理、实践和方法论。在深入研究工具之前,先了解 DevOps 背后的“原因”。DevOps 工程师的主要目标是提高整个软件开发生命周期 (SDLC) 的速度,并保持或提高质量,从而提供最大的业务价值。阅读文章、观看 YouTube 视频、参加当地的聚会小组或会议——成为受欢迎的 DevOps 社区的一份子,在那里您将从前人的错误和成功中学习。

考虑您的背景

如果您有技术领域的工作经验,例如软件开发人员、系统工程师、系统管理员、网络运维工程师或数据库管理员,那么您已经为未来的 DevOps 工程师角色积累了广泛的见解和有用的经验。如果您刚刚完成计算机科学或任何其他 STEM 领域的学位后开始您的职业生涯,那么您已经拥有转型所需的一些基本垫脚石。

DevOps 工程师的角色涵盖广泛的职责。以下是企业最有可能使用它们的三个方面:

  • 具有开发偏好的 DevOps 工程师 在软件开发角色中工作,构建应用程序。他们利用持续集成/持续交付 (CI/CD)、共享存储库、云和容器作为日常工作的一部分,但他们不一定负责构建或实施工具。他们了解基础设施,并且在成熟的环境中,能够将自己的代码推送到生产环境。
  • 具有运维偏好的 DevOps 工程师 可以与系统工程师或系统管理员相提并论。他们了解软件开发,但不会将一天中的核心时间用于构建应用程序。相反,他们更可能支持软件开发团队自动化手动流程并提高人与技术系统之间的效率。这可能意味着分解遗留代码并使用不太繁琐的自动化脚本来运行相同的命令,或者可能意味着安装、配置或维护基础设施和工具。他们确保为任何需要的团队安装并提供正确的工具。他们还通过教导团队如何利用 CI/CD 和其他 DevOps 实践来帮助团队实现目标。
  • 站点可靠性工程师 (SRE) 就像解决运维和基础设施问题的软件工程师。SRE 专注于创建可扩展、高可用性和可靠的软件系统。

在理想的世界中,DevOps 工程师将了解所有这些领域;这在成熟的技术公司中很典型。然而,顶级银行和许多财富 500 强公司的 DevOps 角色通常对开发或运维有偏好。

要学习的技术

DevOps 工程师需要了解广泛的技术才能有效地完成工作。无论您的背景如何,都从您作为 DevOps 工程师需要使用和理解的基本技术开始。

操作系统

操作系统是所有程序运行的地方,拥有基本知识非常重要。 Linux 是您最有可能每天使用的操作系统,尽管有些组织使用 Windows。要开始使用,您可以在家安装 Linux,在那里您可以随意破坏并一路学习。

脚本

接下来,选择一种语言用于编写脚本。有很多语言可供选择,范围从 Python、Go、Java、Bash、PowerShell、Ruby 和 C/C++。我建议 从 Python 开始;它成为最流行的语言之一是有原因的,因为它相对容易学习和解释。Python 通常编写为遵循面向对象编程 (OOP) 的基本原理,可用于 Web 开发、软件开发以及创建桌面 GUI 和业务应用程序。

LinuxPython 之后,我认为接下来要学习的是云计算。基础设施不再留给“运维人员”,因此您需要接触一些云平台,例如 Amazon Web Services、Azure 或 Google Cloud Platform。我建议从 AWS 开始,因为它拥有大量的免费学习工具,可以将您带入任何领域,从将 AWS 用作开发人员,到运维,甚至面向业务的组件。事实上,您可能会被提供的服务数量所淹没。考虑从 EC2、S3 和 VPC 开始,看看您想从那里走向何方。

编程语言

如果您带着对软件开发的热情来到 DevOps,请继续提高您的编程技能。DevOps 中一些良好且常用的语言与您用于编写脚本的语言相同:Python、Go、Java、Bash、PowerShell、Ruby 和 C/C++。您还应该熟悉 Jenkins 和 Git/GitHub,您将在 CI/CD 过程中频繁使用它们。

容器

最后,开始学习使用 Docker 等工具和 Kubernetes 等编排平台容器化代码。网上有大量的免费学习资源,大多数城市都会有当地的聚会小组,您可以在友好的环境中(有披萨和啤酒!)向经验丰富的人学习。

还有什么?

如果您的开发经验较少,您仍然可以参与 DevOps,方法是运用您对自动化、提高效率、与他人协作和改进工作的热情。我仍然建议学习上面描述的工具,但要减少对编码/脚本语言的强调。学习基础设施即服务、平台即服务、云平台和 Linux 将会很有用。您可能会设置工具并学习如何构建弹性和容错系统,在编写代码的同时利用它们。

寻找 DevOps 工作

求职过程将因您是在技术领域工作并转型到 DevOps,还是应届毕业生开始职业生涯而异。

如果您已经在技术领域工作

如果您正从一个技术领域转型到 DevOps 角色,请首先探索您当前公司内部的机会。您可以通过与其他团队合作来重新培训吗?尝试跟随其他团队成员,寻求建议,并在不离开当前工作的情况下获得新技能。如果这不可能,您可能需要跳槽到另一家公司。如果您可以学习上面列出的一些实践、工具和技术,您将能够很好地在面试中展示相关知识。关键是要诚实,不要让自己陷入失败的境地。大多数招聘经理都理解您并不了解所有答案;如果您可以展示您一直在学习的内容,并解释您愿意学习更多,那么您应该有很好的机会找到 DevOps 工作。

如果您刚开始职业生涯

向招聘初级 DevOps 工程师的公司申请职位空缺。不幸的是,许多公司表示他们正在寻找更有经验的人,并建议您在获得一些经验后重新申请。这是典型的令人沮丧的情况:“我们想要更多经验”,但似乎没有人愿意给您第一次机会。

但并非全是坏消息;一些公司专注于直接从大学培训和提升应届毕业生的技能。例如,我工作的 MThree 聘用应届毕业生并对他们进行为期八周的培训。当他们完成培训后,参与者对整个 SDLC 有了扎实的了解,并对它如何在财富 500 强环境中应用有了很好的理解。毕业生被聘为 MThree 客户公司的初级 DevOps 工程师——MThree 在最初的 18 到 24 个月内支付他们的全职工资和福利,之后他们作为正式员工加入客户公司。这是弥合从大学到技术职业生涯差距的好方法。

总结

有很多方法可以转型成为 DevOps 工程师。这是一条非常有益的职业道路,很可能会让您保持投入和挑战,并提高您的潜在收入。

接下来阅读什么

DevOps 工程师的认证

通过这些认证,确立您的 DevOps 专业知识,并在就业市场中变得更有价值。

(Red Hat 特约记者)
2019 年 7 月 12 日
标签
User profile image.
Conor Delanbanque 一直在 DevOps 领域构建和扩展团队。除了支持美国和欧洲一些最具创新性的 DevOps 和 SRE 组织的发展外,Conor 还创立了 DevOps 未来思想领袖辩论。他定期支持和赞助 Meetup 小组,例如 DevOpsNYC 和 DockerNYC。

7 条评论

很棒的文章。我喜欢!感谢分享!

对这些角色之间的差异进行了很好的澄清!

谢谢... 看起来像是帮助人们开始 DevOps 职业生涯的明确方法。

谢谢,感谢分享 :)

Creative Commons License本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 许可。
© . All rights reserved.