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

LuckyStep48/Getty Images

DevOps engineering is one of the hottest jobs in today’s economy. However, moving into the role takes experience in technology development and business savvy. Staying in the role requires a commitment to nonstop learning because popular approaches can become outdated quickly.

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 job pays well. The average salary in the US, for example, is about $134,000 a 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, relates Brad Morgan, a seasoned DevOps engineer, 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 says 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 says.

READ MORE  Early retirement is changing — here's what to consider, according to the experts

Cloud skills are another important foundational skill, Morgan continues. Understand “how to virtualize and get experience as well as just creating a server on the cloud.” Developing skills in a mainstream provider, such as AWS, Google Cloud, or Azure, may offer paths of least resistance and the widest adoption levels by current or potential employers. 

Morgan suggests 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 says 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 another seasoned DevOps engineer, who goes by the name of ‘Homebrew Henry’. “If you do decide to pursue DevOps engineering, you also have to get used to learning, constantly learning new things,” he says. 

“The DevOps ecosystem is huge and constantly evolving. 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.”

READ MORE  Meta's Quest 3 will also get 'lying down mode' - here's why it's taking longer

Even when you gain more experience, “the learning doesn’t stop,” Henry says. “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 cautions. 

“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 adds: “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, 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.”  

READ MORE  Beats outdid themselves with the Studio Pro headphones, and they're still 49% off at Amazon

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,” says Henry. “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 continues. “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 says. “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 recounts. “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.”

Leave a Comment