开发运维(DevOps)不是魔术,但外人看起来像魔术。在当今就业市场上,创新领域工作者自身正在创造新的角色。开发运维工程师是其中的一个例子。
开发运维工程师促进了云架构IT服务的真正复兴。
通常很难理解这个角色,因为开发运维工程师是动态人力资源的产物,其演变过程尚未结束。

因此,成为开发运维工程师所需的职业路径并没有明确定义。
开发运维专业人员来自多种IT背景,其职业生涯最初在不同岗位工作。
我们知道,开发运维工程的出现是为了满足企业专用、多租户和混合环境下全面利用云平台的需求。
此外,我们知道,根据谷歌趋势(Google Trends)和Dice.com等网站上发布就业数据,这一岗位用工数量正在快速增长。
团队合作
开发运维工程师的关键作用是成为一名优秀的沟通者。这方面,开发运维工程师类似IT项目经理。他们一般在开发运维工作中与担任类似角色的其他专业人员合作,分别管理各自面临的基础架构难题。
开发运维的独特性在于弥补了软件开发团队与IT运维团队之间的差距。这就是开发运维一词的由来。两个部门可以理解为一枚硬币的两个面,有时彼此愿景难以共享。
开发运维工程师在每个团队中担任重要角色,是二者之间沟通的桥梁。
虽然开发运维工程师往往需要单独工作,但他们也是精通技术的合作者。
这是因为角色要求他们在扩展云计划、建立工作流程、分配租户等方面,与开发和IT团队成员进行合作。
开发运维指导企业内部软件开发人员和架构团队创建易于扩展的软件并不罕见。
他们还与IT和安全团队合作确保高质量发布。一些开发运维团队包括开发安全运维(DevSecOps),将开发运维原则应用于主动安全管理。
开发运维工程师是IT团队重要成员,因为他们与内部客户一起工作。
一般包括同一组织中的质量控制人员、软件和应用开发人员、项目经理和项目利益相关者。
他们很少与外部客户或最终用户合作,但以“客户至上”的理念满足内部客户需求。
开发运维工程师是以客户服务为导向的团队伙伴,他们可以有不同的工作和教育背景,但具备开发运维工作的技能。
经验要求
大多数企业开发运维工作要求具备集成技术、自动化和云编程语言经验。
这种经验可通过系统管理员、IT项目经理或数据库管理员等职业道路获得。
几乎每个开发运维工作岗位都需要至少具备2-3年持续集成、开发运维或相关经验。
由于开发运维工程师专门编写代码修改现有云平台,而不是构建新平台,因此使用开发运维的企业部署代码比竞争对手更频繁且更准确。
这意味着有兴趣在开发运维职业道路上发展的人应具备多种开源技术经验,并掌握开发运维工程师所用技术的广泛专业知识。
其中包括:
· 敏捷项目管理
· 云技术
· 容器概念
· 持续集成
· 部署自动化和协调
· 基础设施自动化
· 开源操作系统
· 编排
· 源代码控制
除上述经验要求,开发运维工程师必须具备相关专业4年本科学历。
基础设施规划、测试和开发
日常工作中,开发运维工程师负责云环境的各项功能,编写代码扩展功能满足某些即时需求。
这可能包括在云基础设施中添加用户、添加权限、添加或更改工作流程、或添加功能类似容器的完整对象满足业务需求。
他们的工作重点主要集中在基础设施组件的配置、记录、优化和支持。
这类工作需要快速编码,或者用多种不同语言编写小段代码。也就是说,开发运维人员必须精通虚拟环境测试。
编码与测试之间很容易忘记的是规划。
开发运维工程师需要培养的一项技能是大局观。基础设施规划是应聘开发运维工程师需要具备的能力。
规划大量系统的集成和添加,是开发运维工程师不同于云数据库管理员的一种能力。
安全和自动化
编写安全代码的能力是开发运维的一大优势。
开发运维工程师负责支持使用他们开发的基础设施的用户,而第一道防线是保护云端避免黑客和病毒入侵。
他们通过代码实现这种保护,当然,需要从一开始就构建安全软件。
DevSecOps
这种开发安全软件的概念对DevSecOps理念极为重要。
开发运维工程师需要监督DevSecOps团队,并且一定要与他们合作增强企业基础设施安全协议。
DevSecOps一体化建立在保证企业内部每个环节安全的基础上。
这种一体化促进了解业务实践、寻找漏洞、跨所有平台持续监控和测试。
自动化
成为开发运维工程师需要深入了解自动化工具。这是任何开发运维角色的重要职责。
自动化是开发运维工程师不同于Linux工程师的职责之一。
那么,开发运维工程师需要在自动化方面具备哪些能力? 他们需要领先于竞争对手掌握可以用来提高效率的最新工具。
开发运维工程师了解大量可以实现自动化的手动操作流程。因此,他们能够比其他类型IT工程师开发部署更多的代码。
重要软技能
最后,成为出色的开发运维工程师需要具备一些软技能。其中包括人际沟通,弥补许多不同IT与软件开发团队之间的差距。
交际能力对于全面胜任这个角色尤其重要,因为找到这些团队之间的共同点并不总是一件容易的事。
相反,交际是一种持续沟通。开发运维工程师必须能够清晰自如地沟通,轻松传达信息。
他们需要具备在企业不同部门重要人员中间开展安全性和扩展性培训的能力。
开发运维工程师还必须直观预测需求。他们必须能够深入研究一个组织,了解人员、文化和流程对他们的工作产生的影响,提供专业指导填补技术上的差距。
开发运维工程师能力储备?
在团队管理、部署频度、交付时间和前置期方面,开发运维转型自上而下对IT组织产生积极影响。
企业全面采用开发运维已取得初步成效。
开发运维令人惊讶的结果是对企业文化的影响。它不仅仅是IT功能。
对于许多企业来说,开发运维已成为从高层管理到基层岗位影响员工交互的一种理念。
这是因为它以企业中每个人对整体成功负责为信条。但由于开发运维工程师的角色和职责仍未明确界定,人力资源管理部门很难定义并在企业内部招聘。
也就是说,这一职务的合适人选应该熟悉部署自动化、基础设施自动化以及版本控制。
这些技能可以在许多IT岗位中获得,通常在软件开发方面,但也可以通过管理某些程序培养。
整理/夏立城 上海蓝盟创始人兼CEO,复旦校友创新创业俱乐部副会长,致力于用IT外包网络维护服务赋能企业客户发展,助力其创新、迭代和进化。