Want to be a DevOps engineer? Here's the good, the bad, and the ugly

Becoming a DevOps engineer requires experience in technology development and business savvy. Staying there requires a commitment to nonstop learning.
Written by Joe McKendrick, Contributing Writer
DevOps symbol
LuckyStep48/Getty Images

DevOps engineering is one of the hottest jobs in today's economy. However, taking on such a role requires experience in technology development and business savvy. Staying in the role requires a commitment to nonstop learning because popular approaches become quickly outdated.

Demand for DevOps engineers -- who oversee the automation and collaboration of both cloud and on-premises environments to ensure the continuous development and deployment of software -- runs hot and the jobs pays well. The average salary in the US, for example, is about $134,000 per year, according to estimates from Talent.com. 

Also: AI poised to seriously ramp up DevOps and other forms of collaboration

It's a job full of joys and pitfalls, practicing DevOps engineers point out. For starters, the role requires a basic understanding of foundational technology, Brad Morgan, a seasoned DevOps engineer, related in a recent YouTube presentation

At the top of his skills list is learning Linux: "Basically, you're interfacing with Linux, no matter what you're doing in a modern DevOps type of role. Having a strong Linux background is an absolute must in my opinion -- know the basics, have a good understanding of how Linux works, and be pretty familiar with using the terminal and the basic commands."

Also: Open source and Linux skills are still in demand in a dark economy

Morgan said that bash scripting -- which automates Linux commands -- is another key skill that DevOps engineers require. "Bash scripting is used a lot in the DevOps world. A lot of the pipelines that we're building use some sort of scripting like bash scripting," he said.

Cloud skills are another important foundational skill, Morgan continued. Developing skills in a mainstream provider, such as AWS, Google Cloud, or Microsoft Azure, may offer possible paths of least resistance and the higher desirability by current or potential employers.

Morgan suggested focusing on learning the nuances one cloud vendor at a time: "You don't want to be a jack of all trades when it comes to the cloud. You want to be a master of one. Once you've learned one, it makes it really simple to pick up the others."  

There is no formal course of learning to become a DevOps engineer. Morgan said self-learning is the best path for pursuing any career in the field: "You need to be constantly learning, you need to enjoy learning, and you always have to be challenging yourself."

Also: AI will change the role of developers forever, but leaders say that's good news

The need to constantly learn and refresh skills was also emphasized in a recent YouTube presentation by "Homebrew Henry," another seasoned DevOps engineer. "If you do decide to pursue DevOps engineering, you also have to get used to learning, constantly learning new things," he said.

"The DevOps ecosystem is huge and constantly evolving," he added. "Tools and frameworks so popular yesterday may be replaced by new alternatives. On top of your regular job as an engineer, you probably need to give up some of your free time for studying."

Even when you gain more experience, "the learning doesn't stop," Henry said. "In fact, it's commonly noted as one of the things that DevOps engineers love most about their job. With the pace of development and introduction of AI tools like ChatGPT, DevOps engineering today won't be the same as DevOps engineering two or three years from now."

One aspect that may separate passionate DevOps engineers from other colleagues is the infrastructure management part of the job. "If you're not a fan of managing infrastructure, you're going to struggle," Henry cautioned.

"This is a big one. As a DevOps engineer, I spend a huge amount of time setting up, configuring, and maintaining the cloud infrastructure that supports various applications. This means dealing with servers databases networks and security on a daily basis. Now, if this excites you, great. This world could be perfect."

Also: Implementing AI into software engineering? Here's everything you need to know

Henry added: "I still remember being blown away when I ran some Terraform code for the first time, and suddenly here was some infrastructure running in AWS. It felt like magic at the time. But it's not for everyone. If you're more into software engineering, [then] writing Terraforms, CI/CD pipelines, and automation scripts may not scratch that coding itch for you. It isn't quite the same as building a real customer-facing application, and it may not feel like you are fully flexing that coding muscle enough."

The good news is, "there are plenty of examples of people transitioning from software engineering to DevOps and vice versa. So, don't think that you're locked in if you decide to choose one."

Another crucial consideration is the business side of DevOps, starting with unrealistic expectations for the role. "DevOps is hot right now, and businesses expect to hire a few engineers and magically all of their problems go away," Henry said. "So there can be a tendency for management to overlook the complexities and time required for certain projects."

A DevOps engineer is "responsible for managing these expectations and balancing them in a more realistic way," he continued. "Businesses want a lot from these teams, and often there aren't enough people for all the tasks. So, be prepared to work against tight deadlines and manage competing priorities."

This complexity also requires strong communication skills: "DevOps engineers often need to work closely with different teams, including developers, operations, finance, and other stakeholders," Henry said. "You'll need to act as a partner to these teams, explaining the challenges and limitations involved in projects, and help them set realistic timelines and expectations."

The need for constant handholding and consulting was not something Henry expected as he started his DevOps career. "I thought 100% of my time would be spent on development, and the rest would be taken care of by some product owner or scrum master," he recounted. "Your technical skills are probably going to be the most important thing to your success, but don't underestimate the importance of these soft skills."

Editorial standards