Over the past few years, companies have devoted more time and resources to hiring DevOps professionals. DevOps is a set of methodologies and tools that allow organizations to accelerate their building and adoption of crucial services, software, and apps—and as projects grow more complicated, it’s a necessary skillset if companies want everything to stay on track.
Despite the rising demand for DevOps professionals, there are relatively few formal degrees devoted solely to DevOps. Many DevOps engineers earn degrees in software engineering and development, then pick up DevOps-centric skills later. Let’s break down how this works!
What Do DevOps Professionals Need to Learn?
As a discipline, DevOps focuses on three things:
- Technology (CI/CD, automation, testing tools, etc.)
- Processes and methodology (i.e., Agile and Scrum)
- Team and internal culture (everyone aligned toward the same goal!)
Taking things another level down, any DevOps professional needs to master the following processes and frameworks (according to DevOps Institute’s Upskilling IT 2022 Report):
- DevOps and DevSecOps
- Agile
- Site Reliability Engineering (SRE)
- Design Thinking and System Thinking
- ITIL
Depending on the organization and its requirements, DevOps professionals may have to learn a selection of the following:
- Monitoring and observability (Elasticsearch [ELK/EFK Stack], Prometheus, Grafana, Datadog, New Relic)
- Agile development methodology (Scrum)
- IaaS platforms including the cloud-agonistic Terraform, AWS’ CloudFormation, Microsoft Azure ARM templates, Google Cloud Deployment Manager, and shell scripting/Python/Ansible.
- Familiarity with programming languages such as Python, Ruby, Java, Javascript, PHP, Bash, Shell, and Node.js.
When you review DevOps-related job postings, you’ll often see the following skills, platforms, and languages pop up; if you’ve learned these in the course of your tech education, you’re likely in good shape:
- DevOps
- Python
- Linux
- Ansible
- Kubernetes
- Java
- Chef Infrastructure Automation
Yes, that’s a lot. However, the learning and mastery of DevOps is a career-long process; you’ll have plenty of time to fill out your knowledge.
What Degrees Can I Earn for a DevOps Career?
Given how DevOps intersects with software development, any formal degree in software development can prove useful. “Successful DevOps engineers need a broad knowledge of technologies ranging from software development, IT system and IT operation as DevOps span these technologies,” explains Wing To, general manager of Intelligent DevOps at Digital.ai. “A degree in software engineering teaches the underlying principles that can be applied as languages and technologies constantly evolve.”
A degree in engineering will also teach skills including problem solving, as well as understanding of process and structure, all of which are necessary for a successful DevOps career.
Bobby Palko, software engineer at Akamai, agrees any of the computer science/information technology degrees would be helpful. “In In my experience, computer science tends to be more about theory and abstract, while the IT degree focused more on real world applications like system administration,” he says. “Their tracks were nearly identical, except when you approach the end of your degree and the classes get truly specialized.”
There were plenty of concepts that he would have never figured out without a formal education. “I could get a website up and running, or a Python script on a cron job, but I may have never bothered to learn about programming concepts like object-oriented programming, or virtualization and containerization, which were invaluable to my long-term career growth,” he says.
How Else Can I learn About DevOps?
Palko adds that, aside from the well-known resources like Udemy and Coursera, he would advise aspiring developers not to sleep on things like guides for tools and products. “There’s a wealth of knowledge in this field, and plenty of people in the community who eager to share.”
Dylan Etkin, the CEO of Sleuth who spent five years as the lead developer of JIRA (which many DevOps professionals use extensively), says that, because DevOps is a software development practice, most DevOps practitioners are software engineers with a traditional computer science background.
"That said, DevOps practitioners tend to have a stronger understanding of what it takes to move code into production environments," he adds. "However, this is often learned in industry, not at university."
Some of the best engineers and SREs he's worked for didn't have a university degree: “A degree is a great way to have a solid basis in the theory of the systems we work with, including databases and programing languages, but in DevOps, nothing can take the place of practical experience.”
With the advent of cloud computing providers, it is easier than ever to read up on industry best practices and then mess around with the practical application of those practices. For example, you can set up a full-stack production environment within the free tier of Amazon Web Services (AWS) as a practice arena.
Are There DevOps Certifications?
As To points out, there are advanced courses and certifications in Agile Development and DevOps that will extend upon the knowledge acquired in a software engineering degree and provide deeper specialist knowledge.
“When applying DevOps at scale in large organizations, there are more distinct challenges where advanced techniques are required,” he notes, adding courses are available for these methodologies.
The DevOps Institute focuses on nine core competencies and offers 10 certifications to help companies advance their DevOps career options and help teams grow professionally. “Currently, the most in-demand certifications include Site Reliability Engineering Foundation, DevOps Foundation, Value Stream Management Foundation, Site Reliability Engineering Practitioner, and DevOps Leader,” says Jayne Groll, CEO of the DevOps Institute.
Some companies also offer DevOps certification in the context of their specific platforms, including AWS Certified DevOps Engineer Professional and Microsoft Certified: DevOps Engineer Expert.
Like Etkin, To points to the growing array of DevOps resources for those who want to learn on their own. “There are also open-source tools that can be downloaded for further experimentation,” he says. “Finally, articles and market view papers are available that describe both methods for measuring the effectiveness of DevOps and the best practices adopted in the market.”
For those just starting their formal education in DevOps engineering, To recommends gaining hands-on experience with Continuous Integration and Continuous Delivery pipelines and automation, which will help provide a deeper sense of the skills needed for the role.
DevOps engineers often collaborate across many different functions, including developers and systems engineers, so developing soft skills in leadership and people skills is a bonus. “Selecting a course with a strong A.I. component will be a distinct advantage, as A.I. has an increasing impact on software development and will play a greater role in automation, an important aspect of DevOps,” To says.