| devops - David Zomaya
Is DevOps a Good Career in 2021?
Fun fact: DevOps has the distinction of being the only philosophy in the list of roles with the most LinkedIn job posts for February 2021.
For those keeping score, “DevOps engineer" is number nine on that list.
This isn't just a one-off spike in demand either. Jobs with DevOps in the title have become very popular over the last few years. Not only are these roles in-demand, they pay well too. For example, both Salary.com and Glassdoor list the average DevOps engineer salary at over $100,000 a year.
So, given the pay and demand, is DevOps a good career in 2021? Generally speaking, yes it can be, but there is no one-size-fits-all answer. Career questions are inherently subjective. It will come down to what you want out of a career and what a career DevOps can offer.
Here, we'll take a closer look to help you figure out if "yes" or "no" is the right answer for you. We'll also try to preempt some angry letters by explaining why we're calling DevOps a career at all.
DevOps isn't a Career or Job Title! Yes, but…
Let's look at why there are plenty of tech pros that would say we're wrong for calling DevOps a career. Here's the basic argument:
Fundamentally, DevOps is a philosophy, culture, mindset, and/or set of ideas and principles. Ideally, DevOps is adopted across an entire organization or team and improves collaboration and breaks down bottlenecks.
Because DevOps is something everyone could, and arguably should, be doing, it certainly isn't a specific team, role, or set of functions. Terms like "DevOps teams", "DevOps engineer", and "DevOps career" miss the point.
Of course, we're oversimplifying here. For a deeper dive on the argument against DevOps as a type of team, job, or career path check out:
- The "What is DevOps" chapter of the DevOps: The Ops Perspective ebook
- GitHub Issue #474 "DevOps is not a career path" on the Web Developer Roadmap repository
- "DevOps is NOT a Job Description" by Matthias Marschall
To those making the argument DevOps isn't a career, our response is: We get it and you're not wrong. From the standpoint of what Patrick Debois and others who helped start the DevOps movement had in mind, you're right.
However, language is a funny thing and the meaning of DevOps has changed over time, at least in some circles. Recruiters, marketers, and businesses use DevOps as a label in job titles. As a result, DevOps jobs, and in turn a DevOps career path, have emerged. Generally, these roles deal with things like CI/CD (continuous integration/continuous development), automation, and making the development pipeline faster and more reliable.
It isn't the same term purists have in mind, but DevOps as a job title is a real thing in 2021. Even though some are dropping the term from job titles, job boards still have plenty of roles with "DevOps" in the title. When we talk about "DevOps careers" we're referring to the roles and career progression related to that interpretation of "DevOps".
What if people stop using the DevOps label?
There's an additional argument that the term "DevOps" might get phased-out of job titles. Our response to that is simple: as long as you believe learning the skills, tools, and ideas is a good long-term investment, the label doesn't matter.
If the industry changes the term from "DevOps engineer" to "infrastructure automation super-guru", that impacts buzzwords in resumes and LinkedIn profiles more than actual skills.
Why DevOps is a Good Career in 2021
There are three basic reasons we think DevOps is a good career in 2021, they are:
DevOps roles are in-demand. A recent CodeInGame survey of 15,000 developers and Human Resources professionals "DevOps Engineer" topped the list as the most in-demand developer job title of 2021. Additionally, the same survey found that 43% of hiring professionals have difficulty filling DevOps roles.
DevOps roles pay well. As we've seen, average DevOps engineer salaries are around $100,000/year, give or take a bit depending on your source. Salary.com pegs the average salary of DevOps roles like DevOps Engineering Manager ($146,834/year) and DevOps Architect ($141,477/year) even higher.
Plenty of career progression is possible. Starting at a junior DevOps engineer role, there is plenty of room for growth into senior, manager, or architect roles. Additionally, many of the skills you'll learn and tools you work with will be applicable to more traditional operations or developer roles if you choose to make a switch.
Looking for a crash course on DevOps? Check out Intro to DevOps with Shawn Powers!
How to Progress in Your DevOps Career
All things considered, a junior DevOps engineer in 2021 with a learner's mindset has plenty of room for growth. The obvious path is to progress from a junior to senior engineer and eventually a team lead or manager.
However, with all the different skills and tools involved in DevOps, there are plenty of other career pivots you can be in a good position to make. For example, the DevSecOps movement is growing and can be a nice transition to the world of cybersecurity. Alternatively, after using your programming skills for infrastructure automation, you may decide to become a software engineer. If project management is more your thing, the communication and collaboration concepts you learn as a DevOps pro can help make you an effective project manager.
Skills to Get Started on a DevOps Career
As with many careers, there is a base-level set of skills you should have to get started in DevOps. When you're picking a career path, understanding this part is important. If you already have some of the skills, your barrier to entry is lower. If you find one of these skills just isn't your thing, maybe you decide to go a different route.
CBT Nuggets trainer Shawn Powers has a full video on this very topic:
Here are the foundational skills that can help you build a DevOps career:
People skills. Collaboration and breaking down silos are a big part of DevOps. With all the hype around tools and technology, it can be easy to lose sight of that. A good DevOps pro should be an effective communicator and collaborator.
A scripting language. Programming and scripting skills will be useful to you as a DevOps pro. Aim for at least basic skills in one scripting language to help you get started. If you need help picking a language, check out What Programming Skills Do You Need for DevOps.
Automated build/test. Automating pipelines is the bread and butter of many DevOps roles. To begin your journey, make sure you're comfortable with the basic concepts and a few popular tools.
Containerization. Containers in general, and Docker in particular, have become a big part of how software is delivered. As a DevOps pro, you should be comfortable with containers and container management.
Version control and source code management. Source code is where most automated workflows begin. At the least, get comfortable with basic git commands and the fundamentals of version control. From a tools perspective, platforms like GitHub, GitLab, and Bitbucket often come into play here.
Configuration management. Infrastructure as code is a popular DevOps concept. The idea is by managing your infrastructure like you manage your code, you reduce errors and enable automation. Ansible, Puppet, and Terraform are examples of popular configuration management tools.
Basic networking. Computer networks enable all the different tools and platforms in a pipeline to communicate. Understanding how things like IP addressing, DHCP, DNS, and HTTP(S) work is an important DevOps-related skill to have.
Of course, there are things we could add to the list like cloud computing. There are also some entry-level DevOps roles you could land without all of these skills. However, this list works as a general reference to help understand what skills you'll want to have to get started.
One of the catch-22s of IT careers is entry-level jobs often ask for experience. For some ideas on how to gain DevOps experience, read this post: How to Get DevOps Experience.
Figuring Out if DevOps is Right for You
Career choices are very subjective. If you're considering a career in DevOps, we're going to assume you want to work in tech. Given that assumption, you still have many options. Software engineering, networking, cybersecurity, server administration, and data analytics are all alternative paths you can take. You'll need to weigh the benefits of the different paths against your skills, goals, and interests. Of course, that's something only you can really do.
However, we can help with some questions you should ask yourself. The more "yes" answers you give to these, the more likely a career in DevOps can be a good fit:
Do you have an interest in automation and CI/CD? Development pipelines are a big part of what DevOps pros do. If you're not interested in automation and CI/CD, DevOps probably isn't right for you.
Do you want to be responsible for critical infrastructure? Building and automating IT infrastructure can be a challenging and rewarding thing to do. However, it also means you'll be the person that gets the call when something goes wrong. Make sure you're comfortable with both sides of this coin.
Do you agree with the general DevOps mindset? Going back to the "DevOps isn't a job title" debate, remember that fundamentally DevOps is about principles, culture, and mindset. If you don't generally agree with the DevOps philosophy, you probably shouldn't make a career out of it. Similarly, given DevOps emphasis on collaboration, if you prefer working mostly alone, DevOps might not be right for you.
Looking at salary figures and what the people doing the hiring are saying, it definitely seems like DevOps is a good career in 2021. However, like most career choices, the general answer can be different than the specific answer that is right for you. You'll need to weigh the costs and benefits of a career in DevOps against your other choices, and pick what makes sense for you.