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
-
Associate
-
I not completed
-
II not completed
-
Senior not completed
-
Staff not completed
-
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
-
Associate completed
-
I
-
II not completed
-
Senior not completed
-
Staff not completed
-
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
-
Associate completed
-
I completed
-
II
-
Senior not completed
-
Staff not completed
-
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
-
Associate completed
-
I completed
-
II completed
-
Senior
-
Staff not completed
-
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
-
Associate completed
-
I completed
-
II completed
-
Senior completed
-
Staff
-
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
-
Associate completed
-
I completed
-
II completed
-
Senior completed
-
Staff completed
-
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.
See all roles