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 和商业应用程序。
云
在 Linux 和 Python 之后,我认为接下来要研究的是云计算。 基础设施不再留给“运营人员”,因此您需要接触到诸如 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 工程师。 这是一条非常有意义的职业道路,可能会让您保持参与和挑战——并增加您的收入潜力。
7 条评论