Guidance

Development operations (DevOps) engineer

Find out what a development operations (DevOps) engineer does and the skills you need to do the job.

This describes the role of a development operations (DevOps) engineer and the skills required, including:

  • an introduction to the role, telling you what you would do in this role and the full list of skills
  • a description of the levels in this role, from apprentice DevOps engineer to principal DevOps engineer, specifying the skills you need for each level and the corresponding skill level (awareness, working, practitioner, expert)

This role is part of the Digital, Data and Technology Profession in the Civil Service.

Introduction to the role of development operations (DevOps) engineers

Commonly referred to as ‘DevOp engineers’, development operations engineers support the development and operation of software through tools, environments and practices.

In this role, you will be responsible for underpinning good development processes including managing tools and testing environments, central code control, maintaining development standards and writing software that automates systems.

Skills required to be a development operations (DevOps) engineer

You will need the following skills for this role, although the level of expertise for each will vary, depending on the role level.

  • Availability and capacity management. You can define, analyse, plan, forecast, measure, maintain and improve all aspects of the availability of services, including power. You know how to control and manage service availability to meet the needs of the business in a cost-effective manner, including managing the capability, functionality and sustainability of service components (including hardware, software, network resources and software/infrastructure as a service).
  • Information security. You know how to maintain the security, confidentiality and integrity of information systems through compliance with relevant legislation and regulations. You can design, implement and operate controls and management strategies to allow this.
  • Modern standards approach. You use a modern standards approach throughout automation and testing.
  • Programming and build (software engineering). You know how to use agreed security standards and specifications to design, create, test and document new or amended software.
  • Prototyping. You can apply your technical knowledge and experience to create or design workable prototypes, both programs and physical outputs. You understand parameters, restrictions and synergies.
  • Service support. You can maintain and support services.

Apprentice DevOps engineer

An apprentice DevOps engineer attends certified training and develops skills on the job. At this level, you will:

  • spend a significant proportion of your time shadowing others
  • be involved in implementation but not planning
  • build on your own knowledge

Skills needed for this role

  • Availability and capacity management. You know about the availability of and capacity management processes. (Relevant skill level: awareness)
  • Information security. You can discuss information security and the security controls that can be used to mitigate security threats within solutions and services. (Relevant skill level: awareness)
  • Modern standards approach. You understand the importance of adopting a modern standards approach. (Relevant skill level: awareness)
  • Programming and build (software engineering). You understand the process of software development and have a basic knowledge of how services are built. (Relevant skill level: awareness)
  • Prototyping. You can explain what prototyping is and why and when to use it. You know about working in an open and collaborative environment- for example, by pair-working. (Relevant skill level: awareness)
  • Service support. You will help in investigation and resolution of infrastructure problems, undertaking specific activities at the direction of others. (Relevant skill level: awareness)

Junior DevOps engineer

A junior DevOps engineer learns on the job by building software components. At this level, you will:

  • assist in the building of a complex story
  • work under supervision
  • be involved in implementation but not planning

Skills needed for this role

  • Availability and capacity management. You know about the availability of and capacity management processes. (Relevant skill level: awareness)
  • Information security. You know about information security and the types of security controls that can be used to mitigate security threats within solutions and services. (Relevant skill level: working)
  • Modern standards approach. You can explain the central principles of modern standards approach and how they apply to the work you are undertaking. You can apply them under guidance. (Relevant skill level: working)
  • Programming and build (software engineering). You can design, code, test, correct and document simple programs or scripts under the direction of others. (Relevant skill level: working)
  • Prototyping. You know when to use a specific prototyping technique or method. You can show the value of prototyping to the team. (Relevant skill level: working)
  • Service support. You can help fix faults following agreed procedures. You know how to carry out agreed infrastructure maintenance tasks. (Relevant skill level: working)
  • Systems design. You can work in a team to design of components of larger systems. (Relevant skill level: awareness)
  • Systems integration. You can discuss how to integrate systems and the challenges of designing, building and testing interfaces between systems. (Relevant skill level: awareness)
  • User focus. You know about user experience analysis and its principles. You can see the purpose of user stories and focus on user needs. (Relevant skill level: awareness)

DevOps engineer

A DevOps engineer delivers automated software components that form part of a development operations toolchain. At this level, you will:

  • transform technical requirements into DevOps processes
  • build complex stories without additional support
  • manage live test environments
  • identify and resolve issues preventing delivery

Skills needed for this role

  • Availability and capacity management. You can manage the service components to ensure they meet business needs and performance targets. (Relevant skill level: working)
  • Development process optimisation. You will know about the importance of developing process efficiency and the common ways in which processes are optimised. You will support specific activities to improve development processes. You can spot or identify obvious deficiencies. (Relevant skill level: awareness)
  • Information security. You understand information security, and can design solutions and services with security controls embedded, specifically engineered as mitigation against security threats as a core part of the solutions and services. (Relevant skill level: practitioner)
  • Modern standards approach. You can explain the most important principles of modern standards approach and discuss how they apply to the work you are undertaking. You will be able to apply these principles under guidance. (Relevant skill level: working)
  • Programming and build (software engineering). You know how to collaborate with others when necessary to review specifications and then use these agreed specifications to design, code, test and document programs or scripts of medium to high complexity, using the right standards and tools. (Relevant skill level: practitioner)
  • Prototyping. You approach prototyping as a team activity, actively soliciting prototypes and testing with others. You can establish design patterns and iterate them. You can use a variety of methods of prototyping and choose the most appropriate ones. (Relevant skill level: practitioner)
  • Service support. You can identify, locate and fix faults. (Relevant skill level: practitioner)
  • Systems design. You can translate logical designs into physical designs. You can produce detailed designs and document all work using required standards, methods and tools, including prototyping tools where appropriate. You can design systems characterised by managed levels of risk, manageable business, and technical complexity and meaningful impact. You know how to work with well understood technology and identify appropriate patterns. (Relevant skill level: working)
  • Systems integration. You can build and test simple interfaces between systems or can work on more complex integration as part of a wider team. (Relevant skill level: working)
  • User focus. You can identify and engage with users or stakeholders to collate user needs evidence. You can identify and define research that fits user needs. You know how to use quantitative and qualitative data about users to turn user focus into outcomes. (Relevant skill level: working)

Senior DevOps engineer

A senior DevOps engineer delivers and integrates software to form a complete DevOps toolchain. They are responsible for planning and designing large groups of stories.

At this level, you will:

  • transform technical requirements into an effective DevOps toolchain to enable product delivery
  • provide coaching and mentoring to more junior colleagues
  • make sure deployment strategies for products are repeatable, scalable and highly available
  • have deep technical knowledge, providing support to delivery teams and solving complex problems

There are 2 different roles for this - a management role and a technical role.

Management role: skills needed for this role

  • Availability and capacity management. You ensure the correct implementation of standards and procedures, identifying capacity issues, stipulating the required changes and instigating these. You know how to initiate remedial action. (Relevant skill level: practitioner)
  • Development process optimisation (management). You can analyse current processes, identify and implement opportunities to optimise processes, and lead and develop a team of experts to deliver service improvements. You can help to evaluate and establish requirements for the implementation of changes by setting policy and standards. (Relevant skill level: practitioner)
  • Information security. You know about information security and can design solutions and services with security controls embedded, specifically engineered as mitigation against security threats as a core part of the solutions and services. (Relevant skill level: practitioner)
  • Modern standards approach. You know how to use a modern standards approach and guide others to use it as well. (Relevant skill level: practitioner)
  • Programming and build (software engineering – management). You collaborate with others when necessary to review specifications and use these agreed specifications to design, code, test and document programs or scripts of medium-to-high complexity, using the right standards and tools. (Relevant skill level: practitioner)
  • Prototyping. You approach prototyping as a team activity, actively soliciting prototypes and testing with others. You can establish design patterns and iterate them. You can use a variety of methods of prototyping and choose the most appropriate ones. (Relevant skill level: practitioner)
  • Service support. You can identify, locate and fix faults. (Relevant skill level: practitioner)
  • Systems design. You can design systems characterised by medium levels of risk, impact, and business or technical complexity. You know how to select appropriate design standards, methods and tools and ensure they are applied effectively. You can review the systems designs of others to ensure selection of appropriate technology, efficient use of resources and the integration of multiple systems and technology. (Relevant skill level: practitioner)
  • Systems integration (management). You can define the integration build. You can coordinate build activities across systems and understand how to undertake and support integration testing activities. (Relevant skill level: practitioner)
  • User focus. You know how to collaborate with user researchers and can represent users internally. You understand the difference between user needs and the desires of the user. You can champion user research to focus on all users. You can prioritise and define approaches to understand the user story, guiding others in doing so. You can offer recommendations on the best tools and methods to be used. (Relevant skill level: practitioner)

Technical role: Skills needed for this role

  • Availability and capacity management. You manage service components to ensure they meet business needs and performance targets. (Relevant skill level: working)
  • Development process optimisation. You can identify process optimisation opportunities with guidance and contribute to the implementation of proposed solutions. (Relevant skill level: working)
  • Information security. You know about information security and can design solutions and services with security controls embedded, specifically engineered as mitigation against security threats as a core part of the solutions and services. (Relevant skill level: practitioner)
  • Modern standards approach. You can apply a modern standards approach competently and guide others in so doing. (Relevant skill level: practitioner)
  • Programming and build (software engineering). You know how to collaborate with others when necessary to review specifications. You can use these agreed specifications to design, code, test and document programs or scripts of medium to high complexity, using the right standards and tools. (Relevant skill level: practitioner)
  • Prototyping. You approach prototyping as a team activity, actively soliciting prototypes and testing with others. You can establish design patterns and iterate them. You can use a variety of methods of prototyping and choose the most appropriate ones. (Relevant skill level: practitioner)
  • Service support. You will be able to demonstrate a breadth of understanding of service support. (Relevant skill level: expert)
  • Systems design. You can design systems characterised by medium levels of risk, impact, and business or technical complexity. You know how to select appropriate design standards, methods and tools and ensure they are applied effectively. You can review the systems designs of others to ensure selection of appropriate technology, efficient use of resources and the integration of multiple systems and technology. (Relevant skill level: practitioner)
  • Systems integration. You can define the integration build. You can coordinate build activities across systems and understand how to undertake and support integration-testing activities. (Relevant skill level: practitioner)
  • User focus. You know how to collaborate with user researchers and can represent users internally. You understand the difference between user needs and the desires of the user. You can champion user research to focus on all users. You can prioritise and define approaches to understand the user story, guiding others in doing so. You can offer recommendations on the best tools and methods to be used. (Relevant skill level: practitioner)

Lead DevOps engineer

A lead DevOps engineer leads one or a small number of related project teams and contributes to the development of the strategic direction. At this level, you will:

  • act as a technical product owner, developing medium-to-long term strategies for product lines
  • provide technical leadership and guidance through coaching and mentoring
  • lead the sharing of knowledge and good practice

There are 2 roles here: a management role and a technical role.

Technical role: skills needed for this role

  • Availability and capacity management. You know how to manage service components to ensure they meet business needs and performance targets. (Relevant skill level: working)
  • Development process optimisation. You can identify process optimisation opportunities with guidance and contribute to the implementation of proposed solutions. (Relevant skill level: working)
  • Information security. You know about information security and can design solutions and services with security controls embedded, specifically engineered as mitigation against security threats as a core part of the solutions and services. (Relevant skill level: practitioner)
  • Modern standards approach. You have a strong understanding of and can apply the most appropriate, modern standards and practices. You know how to take responsibility for coaching and guiding others. (Relevant skill level: expert)
  • Programming and build (software engineering). You know how to collaborate with others when necessary to review specifications. You can then use these agreed specifications to design, code, test and document programs or scripts of medium to high complexity, using the right standards and tools. (Relevant skill level: practitioner)
  • Prototyping. You approach prototyping as a team activity, actively soliciting prototypes and testing with others. You can establish design patterns and iterate them. You can use a variety of methods of prototyping and choose the most appropriate ones. (Relevant skill level: practitioner)
  • Service support. You can demonstrate a breadth of understanding of service support. (Relevant skill level: expert)
  • Systems design. You can design systems characterised by medium levels of risk, impact, and business or technical complexity. You know how to select appropriate design standards, methods and tools and ensure they are applied effectively. You can review the systems designs of others to ensure selection of appropriate technology, efficient use of resources and the integration of multiple systems and technology. (Relevant skill level: practitioner)
  • Systems integration. You know how to establish standards and procedures across a service product life cycle, including the development product life cycle, and can ensure that practitioners adhere to this. You manage resources to ensure that the systems integration function works effectively. (Relevant skill level: expert)
  • User focus. You know how to collaborate with user researchers and can represent users internally. You understand the difference between user needs and the desires of the user. You can champion user research to focus on all users. You can prioritise and define approaches to understand the user story, guiding others in doing so. You can offer recommendations on the best tools and methods to be used. (Relevant skill level: practitioner)

Management role: skills needed for this role

  • Availability and capacity management. You ensure the correct implementation of standards and procedures. You can identify capacity issues, stipulating the required changes and instigating these. You know how to initiate remedial action. (Relevant skill level: practitioner)
  • Development process optimisation (management). You can analyse current processes, identify and implement opportunities to optimise processes, and lead and develop a team of experts to deliver service improvements. You can help to evaluate and establish requirements for the implementation of changes by setting policy and standards. (Relevant skill level: practitioner)
  • Information security. You understand information security, and can design solutions and services with security controls embedded, specifically engineered as mitigation against security threats as a core part of the solutions and services. (Relevant skill level: practitioner)
  • Modern standards approach. You understand and can apply the most appropriate modern standards and practices. You know how to take responsibility for coaching and guiding others. (Relevant skill level: expert)
  • Programming and build (software engineering – management). You know how to collaborate with others when necessary to review specifications. You can use these agreed specifications to design, code, test and document programs or scripts of medium-to-high complexity, using the right standards and tools. (Relevant skill level: practitioner)
  • Prototyping. You approach prototyping as a team activity, actively soliciting prototypes and testing with others. You can establish design patterns and iterate them. You can use a variety of methods of prototyping and choose the most appropriate ones. (Relevant skill level: practitioner)
  • Service support. You can identify, locate and fix faults. (Relevant skill level: practitioner)
  • Systems design. You can design systems characterised by medium levels of risk, impact, and business or technical complexity. You know how to select appropriate design standards, methods and tools and ensure they are applied effectively. You can review the systems designs of others to ensure selection of appropriate technology, efficient use of resources and the integration of multiple systems and technology. (Relevant skill level: practitioner)
  • Systems integration (management). You can define the integration build. You can coordinate build activities across systems and understand how to undertake and support integration-testing activities. (Relevant skill level: practitioner)
  • User focus. You know how to collaborate with user researchers and can represent users internally. You understand the difference between user needs and the desires of the user. You can champion user research to focus on all users. You can prioritise and define approaches to understand the user story, guiding others in doing so. You can offer recommendations on the best tools and methods to be used. (Relevant skill level: practitioner)

Principal DevOps engineer

A principal DevOps engineer leads and plans development across large or multiple teams, defining the strategic vision for delivery. At this level, you will:

  • identify, test and champion the adoption of emerging technologies
  • ensure that security, stability and capacity are embedded in the development and deployment of services
  • develop a team’s capability by rewarding high performers
  • shape career paths and recruit the right talent
  • identify skills gaps and important dependencies within technical teams

There are 2 roles here: a technical role and a management role.

Technical role: skills needed for this role

  • Availability and capacity management. You ensure the correct implementation of standards and procedures. You can identify capacity issues, stipulating the required changes and instigating these. You know how to initiate remedial action. (Relevant skill level: practitioner)
  • Development process optimisation. You can analyse current processes, identify and implement opportunities to optimise processes, and lead and develop a team of experts to deliver service improvements. You can help to evaluate and establish requirements for the implementation of changes by setting policy and standards. (Relevant skill level: practitioner)
  • Information security. You are very experienced in information security, and can design, quality-review and quality-assure solutions and services with security controls embedded, specifically engineered as mitigation against security threats as a core part of the solutions and services. (Relevant skill level: expert)
  • Modern standards approach. You have a strong understanding and know how to apply the most appropriate modern standards and practices. You can take responsibility for coaching and guiding others. (Relevant skill level: expert)
  • Programming and build (software engineering). You know how to collaborate with others when necessary to review specifications. You can use these agreed specifications to design, code, test and document programs or scripts of medium to high complexity, using the right standards and tools. (Relevant skill level: practitioner)
  • Prototyping. You are experienced in using a variety of methods of prototyping. You know how share best practice and can coach others. You know how to look at strategic service design end to end. (Relevant skill level: expert)
  • Service support. You can demonstrate a breadth of understanding of service support. (Relevant skill level: expert)
  • Systems design. You can design systems characterised by medium levels of risk, impact, and business or technical complexity. You know how to select appropriate design standards, methods and tools and ensure they are applied effectively. You can review the systems designs of others to ensure selection of appropriate technology, efficient use of resources and the integration of multiple systems and technology. (Relevant skill level: practitioner)
  • Systems integration. You know how to establish standards and procedures across a service product life cycle, including the development product life cycle. You ensure that practitioners adhere to this. You can manage resources to ensure that the systems integration function works effectively. (Relevant skill level: expert)
  • User focus. You know how to collaborate with user researchers and can represent users internally. You understand the difference between user needs and the desires of the user. You can champion user research to focus on all users. You can prioritise and define approaches to understand the user story, guiding others in doing so. You can offer recommendations on the best tools and methods to be used. (Relevant skill level: practitioner)

Management role: skills needed for this role

  • Availability and capacity management. You drive policy and strategy for service and capacity management, and the implementation of required changes. (Relevant skill level: expert)
  • Development process optimisation (management). You know how to set strategy and manage resource allocation for solution development programmes. You liaise with client functions to establish business requirements and identify, propose, initiate and lead these programmes. (Relevant skill level: expert)
  • Information security. You are very experienced in information security, and can design, quality-review and quality-assure solutions and services with security controls embedded, specifically engineered as mitigation against security threats as a core part of the solutions and services. (Relevant skill level: expert)
  • Modern standards approach. You have a strong understanding and know how to apply the most appropriate modern standards and practices. You can take responsibility for coaching and guiding others. (Relevant skill level: expert)
  • Programming and build (software engineering – management). You can collaborate with others when necessary to review specifications and uses these agreed specifications to design, code, test and document programs or scripts of medium to high complexity, using the right standards and tools. (Relevant skill level: practitioner)
  • Prototyping. You are experienced in using a variety of methods of prototyping. You know how share best practice and can coach others. You know how to look at strategic service design end to end. (Relevant skill level: expert)
  • Service support. You can identify, locate and fix faults. (Relevant skill level: practitioner)
  • Systems design. You can design systems characterised by medium levels of risk, impact, and business or technical complexity. You know how to select appropriate design standards, methods and tools and ensure they are applied effectively. You can review the systems designs of others to ensure selection of appropriate technology, efficient use of resources and the integration of multiple systems and technology. (Relevant skill level: practitioner)
  • Systems integration (management). You can define the integration build. You can coordinate build activities across systems and explain how to undertake and support integration testing activities. (Relevant skill level: practitioner)
  • User focus. You know how to collaborate with user researchers and can represent users internally. You understand the difference between user needs and the desires of the user. You can champion user research to focus on all users. You can prioritise and define approaches to understand the user story, guiding others in doing so. You can offer recommendations on the best tools and methods to be used. (Relevant skill level: practitioner)

Read more

Published 7 January 2020