devops工程师

简而言之,Devops是一种文化和哲学,旨在将以前分开的开发 (创建应用程序的人)和操作 (确保这些应用程序按应有的方式工作的人)的孤岛统一为一个团队。 该团队使用持续集成,持续交付和测试 ,将对现有代码库的频繁增量改进发布到生产中。

因此,从逻辑上讲,devops工程师是具有为这样的团队服务所需的技能的人。 但是像所有开发人员一样,很难确定开发人员工程师的确切定义,而且有些人声称“开发人员工程师”一词根本不是有意义的工作描述 。 然而,越来越多的公司说他们想雇用devop工程师,并愿意付给他们丰厚的薪水。 让我们看看他们在寻找什么。

[InfoWorld的要点: CI / CD入门:使用CI / CD管道自动执行应用程序交付 。 • CI / CD的5个常见陷阱-以及如何避免这些陷阱 。 | 通过InfoWorld的App Dev Report新闻通讯了解编程方面的热门话题。 ]

Devops工程师定义  

实施devops理念并不意味着您要用一群毫无差别的devop员工来取代整个开发和运营团队。 不同的员工将具有不同的技能。 将会有程序员,系统管理员,DBA等一起工作。

当公司使用devops工程师一词时,他们希望有人可以帮助将所有这些角色联系在一起。 软件工程公司Altexsoft的公司博客以这种方式描述了角色 :

有些人认为此人是知道如何编码的系统管理员,或是具有系统管理员技能的开发人员。 从某种意义上说,两个定义都是公平的。 devops工程师的主要功能是介绍持续交付和连续集成工作流程,这需要了解[devops]工具和几种编程语言的知识。

或者,正如开发人员Igor Kantor 在Medium帖子中所说,devops工程师是   “了解软件开发生命周期并带来软件工程工具和流程以解决经典运营挑战的人。” 关键是在开发人员和操作人员方面都具有足够的知识和经验,以了解他们如何能够一起工作—加上“软”的人员技能,以帮助更多专业的团队成员彼此联系,并超越他们的孤岛。

Devops工程师培训

在像Reddit这样的IT专业人员闲逛的地方突然冒出一个玩笑: 没有像初级开发工程师这样的事情 。 这是因为招聘设备工程师的公司正在寻找的技术技能超出了刚从学校或新手训练营获得的技能。

“培训” Devops工程师的角色的方式是通过在职经验,这种经验可以使开发人员了解事物的操作方面,反之亦然。 正如Jeffrey Lee在Hacker Noon上所说的那样 :

成为devop工程师没有任何培训或教育途径。 换句话说,通常是人们对自己当前的技能充满信心并扩展到其他角色。 之所以聘请他们,是因为他们对这一领域有深入的了解,并且拥有丰富的实践经验。 您不会在LinkedIn上找到一份要求至少五年以上工作经验的职位空缺,然后再进行申请。

Devops工程师技能

仅仅因为没有正式的devop工程师教育轨道,并不意味着您不能选择将自己的职业定位为获得devops工程师的工作。 但是您必须做出有意识的决定,才能获得各种技能,无论是通过在职经验还是通过外部正式或自我指导的培训。

Igor Kantor提出了一系列有关关键技术和平台的系列文章, 以了解您是否想成为一名开发工程师 。 他将它们分为以下几类:

  • 基础: Linux管理 , Python和AWS或其他一些 云平台
  • 配置: Terraform和Ansible
  • 版本控制: Git和GitHub
  • 包装: Docker
  • 部署: 詹金斯
  • 运行: Amazon ECS和Kubernetes
  • 监控: ELK堆栈

显然,这是一个艰巨的任务! 但是,尽管掌握所有这些平台是不现实的,但您至少应该对它们的工作方式有所了解。 更重要的是,您应该知道如何在需要时学习更多信息。

作为一名开发工程师,不仅要了解特定的产品或技术,而且毕竟,随着行业的发展,这些都会一直在变化。 同样重要的是,要熟悉devops哲学和基本的生命周期 。 这意味着您需要了解位于devops商店核心的持续部署和持续集成过程(CI / CD) ,以及随之而来的软件测试类型。

并且不要忘记这些软技能:对于在朝着更快速,迭代的软件开发和发布周期转变的文化中心扮演角色至关重要,并且这需要弥合开发人员和操作人员之间的鸿沟,这两者都很重要可能习惯于对抗关系。 Cybric的创始人和前Yahoo首席信息官Mike D. Kail在TechBeacon的一篇文章中总结道 :“越来越多的组织希望掌握了移情,诚信和弹性等软技能的软件工程师能够迎来新一波的发展。”

在线检查devops工程师的面试问题, 例如Edureka的这些样本面试问题 ,可以使您很好地了解您对工作的期望。 显然,有关特定技术的问题仍然存在,但是您还应该解释所有这些平台和工具如何协同工作,并向潜在的雇主表明您了解发展理念和流程。

如果您需要一些机构指导来称呼自己是一名devops工程师必须具备的技能,则可能需要研究来自Amazon的AWS Certified DevOps Engineer考试。 该认证显然专注于Amazon的云平台,但是对测试进行研究将向您展示在devops工程师知识中的空白。 Udemy的学习指南说,它将帮助您“学习如何使用AWS Developer Tools在AWS中开发功能齐全的CI / CD管道”。

Devops工程师的角色和职责

那么,devops工程师每天做什么? Altexsoft说, 典型的devops工程师职责清单如下所示:

  • 编写服务器端功能的规格和文档
  • 管理CI / CD
  • CI / CD脚本编写
  • 绩效评估与监测
  • IT基础架构维护和管理(包括硬件,软件,网络,存储,虚拟和远程资产以及云数据存储)

当然,没有两个工作是相同的,并且devops工程师的角色因公司而异。 组织的规模可能会产生特定的影响。 在小型企业中,您的职责可能会跨越整个devops生命周期,而在较大的团队中,您最终可能会专注于其中的一部分。

如果您想了解雇主会要求您作为一名devops工程师做什么,那么您可能希望查看Dice , Workable和ZipRecruiter等网站上可用的devops工程师职位描述模板。 这些提供了行业期望的基准。

Devops工程师职位

Devops工程师的工作正在激增。 TechTarget表示,这是devops理念普遍传播的结果,而这又是由于企业希望向内部和外部客户更快地推出应用程序。 有理由寻求这些职位-根据平均薪水和工作满意度的综合考虑,Glassdoor将devops工程师职位称为目前美国第六好的职位 。

Devops工程师薪水

关于那些薪水……他们很高! 在Dice的2019年薪酬报告中 ,devops工程师排名前五,平均为111,683美元。 Glassdoor 的平ASP格为115,666美元 ,其中91,000美元处于典型范围的低端,而155,000美元处于高端。 无疑,收集这些技能将花费时间和精力,但显然是有回报的。

翻译自: https://www.infoworld.com/article/3346005/what-is-a-devops-engineer-and-how-do-you-become-one.html

devops工程师