Skip to main content

DevOps engineer

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

Updated: October 26, 2022

Introduction to the role of DevOps engineer

DevOps engineers work with developers throughout the software development life cycle to ensure code can be reliably and repeatedly released on demand with a high degree of quality. They understand both software development and operations, with expertise in areas such as networking, security, test automation, and continuous integration/deployment.

Below you’ll find the full list of skills for becoming a DevOps engineer at Skylight and a description of the skills required for each level. These descriptions offer insight into the scope of work someone at each level should be capable of doing on a consistent basis. We use these role descriptions both as a guide during the hiring process and as a springboard for discussing career progression at Skylight.

Required skills

Modern software development

You work closely with application developers. You understand general principles and concepts like application frameworks, package management, and application architectures.

Distributed systems

You work in a cloud-centric world managing disparate interconnected systems. You ensure the availability, reliability and resiliency of these systems. You help software engineers design scalable loosely-coupled systems.

Continuous delivery

You work with teams to improve the frequency of successful deployments. You build and maintain continuous integration/continuous deployment (CI/CD) pipelines that allow teams to maximize automation and confidently release to production on demand.

Security, privacy, and compliance

You guide the team towards shifting security left. You build secure applications and defend against common security vulnerabilities. You understand that modern applications are always on, which means they’re always at risk. You navigate complex government security and privacy compliance requirements.

Production operations

You work with software engineers to instrument applications and configure infrastructures for monitoring, metrics, alerting, logging, auditability, and compliance. On some teams, DevOps engineers will take on more of a site reliability engineer role, and you’ll need to respond to alerts and incidents. You help improve the availability and performance of a system by applying learnings from monitoring and observability.

Infrastructure standardization and automation

You create and maintain your infrastructure as code, so that it can be reviewed, tested, and audited. You standardize processes so that they are understandable and repeatable.

DevOps engineer career pathway

Associate DevOps engineer

  1. Associate
  2. I not completed
  3. II not completed
  4. Senior not completed
  5. Staff not completed
  6. Principal not completed

As an associate DevOps engineer in an entry-level role, you’ll need to have an understanding of the role and show potential, although you’ll receive guidance and training to produce good work and develop your skills from more experienced DevOps engineers.

Skills needed for this level

Modern software development

You’re familiar with basic principles of modern software development, such as version control, frameworks, and testing. You perform basic tasks in at least one scripting language. You translate requirements into code for narrowly-scoped tasks.

Distributed systems

You’re familiar with the pros and cons of distributed systems. You make narrowly-scoped changes to these systems.

Continuous delivery

You explain why CI and CD are important to releasing on demand. You’re aware of the existence of government security and privacy compliance requirements.

Security, privacy, and compliance

You have some basic understanding of common security vulnerabilities and privacy concerns and implement mitigations for them with guidance.

Production operations

You understand some of the activities that go into operating a system in production. You understand application logs and monitoring data.

Infrastructure standardization and automation

You know why infrastructure standardization and automation are important and identify common examples, such as infrastructure as code and containerization.

DevOps engineer I

  1. Associate completed
  2. I
  3. II not completed
  4. Senior not completed
  5. Staff not completed
  6. Principal not completed

As a DevOps engineer I, you’ll be expected to have some practical experience but need regular guidance and training to produce your best work and develop your skills. You’ll work in combination with a more senior engineer.

Skills needed for this level

Modern software development

You have experience working with a full stack application team using a modern software framework. You understand how software development and operations work together.

Distributed systems

You understand how user traffic flows through a system. You’re familiar with the standard architecture of an n-tier web application deployed in the cloud.

Continuous delivery

You modify existing CI/CD pipelines and understand how they’re triggered. You troubleshoot common pipeline errors.

Security, privacy, and compliance

You proactively identify basic security and privacy issues. You work with your peers to craft security-related tickets and help determine the scope of work.

Production operations

You understand how to configure application logging and metrics collection. You navigate logs to help troubleshoot issues. You understand identity access management principles and implement them with guidance. You understand how to restore data from backups, such as data snapshots.

Infrastructure standardization and automation

You describe system architectures using infrastructure as code. You understand how to configure and secure containers.

DevOps engineer II

  1. Associate completed
  2. I completed
  3. II
  4. Senior not completed
  5. Staff not completed
  6. Principal not completed

At this level, you’ll be expected to work independently on a team.

Skills needed for this level

Modern software development

You understand how architectural decisions made during application development will impact the underlying configuration and infrastructure. You’re confident in making configuration changes. You understand database change management principles and techniques.

Distributed systems

You design and implement reliable and resilient distributed system architectures. You create clean architecture diagrams for a variety of audiences. You’re experienced in scaling applications and mitigating or avoiding common failure scenarios to maximize uptime.

Continuous delivery

You’re adept at designing reliable build pipelines. You advocate for feedback loops and short cycle times. You move checks and scanners to run early and often, ensuring that every possible pipeline stage occurs at build time rather than run time. You implement zero-downtime deployment strategies like blue-green.

Security, privacy, and compliance

You’re a strong individual contributor who needs little direction with security-focused work. You properly secure and encrypt network traffic and the underlying infrastructure. You implement access controls wherever possible. You design systems to handle personal identifiable information (PII) and protected health information (PHI). You use a variety of tools and practices for scanning your code, images, and application.

Production operations

You collect and centralize logs, build useful monitoring on top of your collected metrics, and ensure that issues are visible with well-crafted proactive notifications. You create and execute plans for activities like disaster recovery, backups, and contingency planning. You’re familiar with systems that operate in highly-regulated environments.

Infrastructure standardization and automation

You’re familiar with infrastructure as code leading practices. There’s nothing manual in your project — you’ve coded every piece of infrastructure and configuration and it all deploys together with the application code. You build immutable infrastructure to eliminate runtime surprises. Your environments are exact replicas of each other and local development uses the same artifact that’s deployed.

Senior DevOps engineer

  1. Associate completed
  2. I completed
  3. II completed
  4. Senior
  5. Staff not completed
  6. Principal not completed

A senior DevOps engineer is an experienced practitioner. This means independently handling complex tasks and consistently striving for industry leading practices. At this level, you’ll be expected to supervise and develop other members on your team or within the DevOps practice.

Skills needed for this level

Modern software development

You understand how application architecture decisions impact the underlying infrastructure. You work closely with application developers to inform the direction of the project. You’re comfortable navigating the complexities of dependency management, and you advise the team on necessary changes to the application code.

Distributed systems

You design and implement reliable and resilient architectures while accounting for user needs and the client environment. You identify inefficiencies in a system and modify them to reduce cost and risk and increase developer productivity.

Continuous delivery

You understand how to reduce cycle time while maintaining confidence. You take security and scalability concerns into consideration.

Security, privacy, and compliance

You have experience defining security and privacy requirements based on client needs. You ensure systems are created with compliance built in. You implement compliance and security as a continuous process.

Production operations

You work with software engineers to instrument applications and configure infrastructures for monitoring, metrics, alerting, logging, auditability, and compliance. You define processes to respond to alerts and incidents. You help improve the availability and performance of a system by applying learnings from monitoring and observability. You know how to build systems that operate in highly-regulated environments.

Infrastructure standardization and automation

You’re the expert within your team for infrastructure as code and configuration management. You have comprehensive test suites to check your infrastructure and configuration before deployments. You work with technical leads to ensure future features have the infrastructure they need. The environments you manage are rebuilt with the push of a button.

Staff DevOps engineer

  1. Associate completed
  2. I completed
  3. II completed
  4. Senior completed
  5. Staff
  6. Principal not completed

A staff DevOps engineer is an expert practitioner, leading DevOps efforts across multiple teams in complex environments. At this level, you’ll be expected to:

  • Build leading DevOps practices and processes within a team
  • Supervise and develop other members of your team
  • Help manage the client relationship, especially with the security and privacy staff

Skills needed for this level

Modern software development

You have proven ability with many different software application architecture patterns. You have experience working with multiple software frameworks and understand the advantages and disadvantages of different approaches. You leverage those advantages in the design of the underlying application infrastructure.

Distributed systems

You have experience with distributed systems shared and/or managed by multiple teams. You identify when resources can be shared by teams and when they must be unique. You increase efficiencies and decrease costs while maintaining system performance.

Continuous delivery

You’re comfortable introducing the culture and technology changes required to convert an organization that typically releases infrequently to one that practices continuous delivery.

Security, privacy, and compliance

You build tools and processes to make compliance and auditing faster and easier. You’re an expert at incident response.

Production operations

You have experience defining and leading operations for critical applications. You understand the unique challenges that come with operating at scale. You create cost-effective and efficient organizations and processes to conduct production operations. You build systems that operate in highly-regulated environments.

Infrastructure standardization and automation

You lead organizational change and ensure standardization across multiple teams.

Principal DevOps engineer

  1. Associate completed
  2. I completed
  3. II completed
  4. Senior completed
  5. Staff completed
  6. Principal

A principal DevOps engineer leads other DevOps engineers within the organization and attracts and builds talent. At this level, you’ll be expected to be an expert practitioner who defines and ensures leading practices, influences organizational strategy and priorities, and collaborates with colleagues across all aspects of government. You’ll also build Skylight’s reputation for strong DevOps engineering through channels such as public speaking, publications, workshops, or social media. At this level, you’ll be expected to transform product practice at the leadership level across client organizations.

Skills needed for this level

Modern software development

You have an expert-level understanding of a wide variety of application architectures and evaluate trade-offs between approaches, client needs, and team capabilities. You write code or tooling to address any contingency. You possess a deep knowledge of open source software development.

Distributed systems

You design systems that handle millions of users while maintaining acceptable performance levels. You understand the intricacies of database design, networking architecture, cloud service offerings, and scalability.

Continuous delivery

You have experience with many different CI pipelines and are capable of recommending different approaches to various teams. You advise teams on how to successfully integrate a CI/CD pipeline into their application and achieve their deployment goals. You provide transformational expertise to leaders by educating them on the value of continuous delivery.

Security, privacy, and compliance

You help implement security policy for entire client organizations by understanding how security policy translates into technical requirements. You’re an expert working in highly-regulated environments, such as those requiring HIPAA compliance.

Production operations

You craft organization-wide technical direction from policy.

Infrastructure standardization and automation

You craft flexible organization-wide DevOps standardization policies and help team leads interpret those policies into technical requirements. You understand the relationship between standardization, cost savings, and project risk.

We’re hiring!

Let’s work together to change the way government
serves millions of people.