随着DevSecOps的使用日益增长,相关的工作机会也在增加。其中会不会有一个适合你?
译自 Is a Career as a DevSecOps Engineer in Your Future? 。
DevSecOps方法通过将安全性嵌入应用程序开发的每个阶段,实现了编写安全代码、缩短上市时间和提高质量等好处。因此,从小公司到大企业都采用了这一方法。考虑到DevSecOps持续增长的态势,预计其收入将在2028年前突破170亿美元。
DevSecOps使用量的增长带来了更多的就业机会。对当前可用的DevSecOps岗位进行快速盘点,可以看出对应用程序安全人员、工程经理、安全工程团队负责人、网络安全工程师和DevSecOps工程师等人才的大量需求。由于数据安全的迫切需求,公司寻找着在软件开发和网络安全方面拥有专业知识和经验的人才。
整体来看,初级DevSecOps的年薪大约在12万美元左右,而平均水平约为每年14万美元。DevSecOps的薪资范围可能因地区而异。尽管初级DevSecOps工程师的起薪约为12万美元每年,但随着经验的增长,高级DevSecOps工程师的年薪可达到19万美元。
在DevSecOps岗位上工作的人员可能需要承担不同团队的领导职责,使用自动化工具并编写代码。由于DevSecOps的成功有赖于对开发、安全和运维的统一方法,员工必须具备在整个开发过程中推动安全协作的能力,并指导和培训那些不熟悉DevSecOps工具的员工。
对工程师的DevSecOps典型的工作描述会关注他们满足客户、基础设施和安全需求的能力,以及确保开发、安全和运维团队协作的能力。除了研究客户的需求和客户希望从软件中获得的核心功能外,DevSecOps工程师还必须考虑性能和安全级别。
为解决这些问题,软件工程师开发程序,为编程团队提供指导,检查和分析软件测试结果,并在出现错误时改变设计流程。将客户需求转化为对编程团队有意义的指令可能需要创建程序员可以作为指南的模型图。
此外,DevSecOps的工作描述指出,工程师需要与编程人员一起工作,开发CI/CD(持续集成/持续交付)管道代码,并制定解决可能出现的任何问题的行动计划。随着团队努力开发代码,DevSecOps工程师为CI/CD管道创建可重用的可插拔解决方案和模式。
这些工作包括识别构建自动化的需求以及设计和实现CI/CD解决方案。随着管道开发的持续进行,DevSecOps工程师领导制定、发布和传播CI/CD最佳实践、模式和解决方案的团队。DevSecOps工程师还构建和维护CI/CD组件,并创建共享库。这些任务加速了开发过程并实现了更快速的部署。
DevSecOps依赖于将安全性成功地集成到开发过程中。对于工程师来说,实现这种集成的关键是识别潜在的安全风险并制定缓解漏洞的策略。识别潜在的安全风险涉及更新事件跟踪工具,收集必要的数据并记录任何潜在的漏洞或问题。
在监控安全威胁的同时,DevSecOps工程师还与团队合作实施安全控制措施。工程师、开发人员、系统管理员和所有利益相关者之间的协作,确保了安全性能够成功地集成到应用程序开发过程的每个阶段。
许多DevSecOps专业人员最初是系统管理员或软件开发人员。具有系统管理员经验的人由于其对运营、支持和运营预算的理解而大有助益,这种经验很容易适应DevSecOps依赖团队间沟通、高效可靠的技术流程和自动化工具的文化。系统管理员还拥有通过关键性能指标来衡量项目成功以及促进反馈和利益相关者参与的经验。
软件开发人员通过他们的代码生产和文档经验为DevSecOps做出了贡献。他们的经验与DevSecOps实践相匹配,如持续集成、构建和交付以及自动化发布管理。软件开发人员和系统管理员在合规性问题、自动化发布管理和增量测试方面也具有经验。
向DevSecOps环境转型需要投资于DevSecOps认证和培训。 DevSecOps认证包括认证DevSecOps专业人员(CDP)、认证DevSecOps专家(CDE)和认证DevSecOps领导人(CDL)。认证DevSecOps专业人员课程涵盖了DevSecOps流程和工具、DevSecOps管道以及SCA、SAST、DAST和作为代码的安全等DevSecOps工具。
个人可以通过认证DevSecOps专家培训迈入DevSecOps认证的下一阶段,该培训涵盖基础设施即代码、合规即代码和漏洞管理。CDE可以编写自定义规则集并使用自动化来减少假阳性。另一个DevSecOps认证——认证DevSecOps领导者,则为开发人员和工程师担任团队领导、项目领导或开发周期领导角色做好准备。
DevOps Institute、Practical DevSecOps、SANS Institute、Linux基金会、Udemy和Coursera等组织提供了DevSecOps课程选项和教程。例如,入门级别的DevSecOps课程强调基本实践、原则和对DevSecOps软件开发周期的总体描述。培训机会还包括DevSecOps简介课程、云安全和DevSecOps自动化课程、掌握安全CI/CD管道课程以及Kubernetes DevOps和安全课程。 DevSecOps教程通常涵盖特定主题,如大规模实施DevSecOps和将工具与CI/CD管道集成。
申请DevSecOps职位的人会发现,DevSecOps面试问题与通过教程、研讨会和课程提供的内容一致。典型的DevSecOps面试问题涵盖了DevSecOps的核心原则、实施CI/CD管道安全的最佳实践、DevSecOps工具以及DevSecOps工作流程。面试问题还可能会涉及基础设施即代码、合规要求以及用于威胁模拟、风险评估和漏洞测试的方法等主题。每类面试问题都充当基准,以评估申请人执行特定工作描述中概述的任务的能力。