DevOps methodologies and tools allow organizations to accelerate their building and adoption of crucial services. If you want to become a solid DevOps engineer, you’ll need to develop an understanding of not only DevOps principles, but also how those principles impact teams and products.
That means DevOps engineers must have excellent collaboration and teamwork skills. Let’s explore what it takes to become a DevOps engineer.
Step One: Understanding DevOps
There are a number of solid DevOps breakdowns online, including this extensive one by Gitlab; SimpliLearn also has a good explainer. In essence, a good DevOps strategy embraces three areas:
- 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!)
It takes time to shift an internal culture to fully embrace DevOps. For example, you must teach a team to effectively use Agile methodology, then adopt the tools that allow for speedier work. It’s difficult, but many organizations feel the results are well worth it.
The DevOps Institute’s Upskilling IT 2022 Report lists the top five must-have processes and frameworks within IT enterprises:
- DevOps and DevSecOps
- Site Reliability Engineering (SRE)
- Design Thinking and System Thinking
Completely new to DevOps? Start off by studying the following three areas:
- DevOps terminology (such as continuous delivery/continuous integration).
- DevOps processes (plan/code/build/test/package/release/operate).
- DevOps tools (get ready to learn Git!)
If you want to build a career as a DevOps engineer, you’ll need to master these skills, tools, and processes to the point where you can include them in your resume. Your application materials should also emphasize your previous results and successful projects, as well as your capacity for effective teamwork.
Multiple Paths to Become a DevOps Engineer
David Torgerson, vice president of infrastructure and IT at Lucid, says he entered DevOps at a very young age. “When I was 13 years old, my grandpa owned a technical training school for people becoming career professionals working in security, sysadmin, development and other areas,” he says. “I loved going and talking to the students because they were telling me about their real world experience in new and emerging fields.”
Through those conversations, he gained an understanding of how DevOps sits in the middle of all security, sysadmin, development, and business issues, and can help bridge those areas to solve really complex problems.
“Even though I wasn’t working at that age, that early exposure to those people and fields set me down a path of incorporating those principles in every role I’ve had since then,” he says.
For Matt Bacchi, senior DevOps engineer at Codecademy, the experience was a little different: he worked his way up from computer lab tech, then phone tech support, development, system administration, and release engineering before eventually getting into DevOps.
“DevOps is an area of the industry where multidisciplinary experience and a diversity of backgrounds is extremely important and useful to your team,” he points out. “So, having a resume that shows you've tried a lot of other things successfully can be a sign that you're a curious person.”
How Training Impacts Your DevOps Career
Torgerson says certain certifications have proven helpful to his career, citing:
- Certified Information Systems Security Professional (CISSP) certification
- Cisco CCNA
- Microsoft Certified Professional (which has been decommissioned in favor of role-based certifications)
Certifications can prove helpful for DevOps-minded engineers because they can allow you to see the “big picture” and understand the core principles at work in any technology. “The CISSP certification gave me a broad understanding of all the aspects of security, and was really helpful in balancing out my overall understanding of the different criteria involved in that field,” he says. “The Cisco cert is fantastic because it focuses on network principles.”
Torgerson says the Microsoft certification allowed him to better understand distributed systems and how those are designed to work at scale: “Those principles were invaluable for me to be able to apply in my work, even working on an all-Linux environment.”
In addition to industry-specific certifications, anyone interested in DevOps can earn specific DevOps certifications, including:
- AWS Certified DevOps Engineer Professional, $300, Duration of exam: 170 minutes
- Microsoft Certified: DevOps Engineer Expert, Free or Instructor Led, 150 minutes
- DevOps Institute: Site Reliability Engineering Foundation
- DevOps Institute: DevOps Foundation
- DevOps Institute: Value Stream Management Foundation
- DevOps Institute: Site Reliability Engineering Practitioner
- DevOps Institute: DevOps Leader
There are other, often company-specific DevOps certifications coming online all the time; if you want to become an effective DevOps engineer, you need to constantly stay aware of what’s new (and what’s being decommissioned).
For those DevOps engineers in specific industries, knowledge of certain tools, programming languages, and frameworks is also a must. “A DevOps role will usually require some scripting, so it’s important to have at least some programming languages under your belt,” Bacchi notes. “Python is particularly useful, given how common it is.”
Mentoring is Always Key
With DevOps, it’s just as important to be able to teach as it is to learn. “Not only do you need to have a wide set of skills, but your proficiency needs to be deep enough where you’re able to show others what you’re doing,” Bacchi says. “As soon as you become a subject matter expert, you’ll need to start explaining and breaking down concepts for other DevOps engineers and developers.”
From his perspective, there’s a component of mentorship that’s built into the role. Collaboration and teamwork (and effective communication) are all key to process, methodology, and culture.
After earning a degree in computer engineering and a Masters in computer science, Divya Wadhwani started her career as a software engineer and worked her way up to an engineering team lead.
“I noticed during my time as a director that my teams were constantly challenged by DevOps and were always working to solve for better solutions,” says Wadhwani, who’s director of education programs at Harness, where she helps develop live trainings, self-paced courses, and industry-standard certifications for those looking to advance their DevOps skills.
“I’ve always wanted to be able to create learning opportunities for others in the same space, solving the same problems I’ve faced, and my time in this role has proved to be a great way to not only learn for myself, but also help educate others on DevOps best practices,” she says.
Never Stop Learning
Successful DevOps professionals need to develop a strong ability to not shut down when a seemingly impossible problem comes your way. “When people come to you with a problem, you need to be able to take an approach of acknowledging the reasons you don’t want to address it and pivot to see what’s possible,” Torgerson says.
While something might be an impossible ask at face value, asking what is possible, especially technically, is an invaluable skill. “This is where that broad understanding of a lot of technologies comes to be helpful because you can start to come up with truly unique solutions to move those systems in the right direction,” he adds.
While DevOps engineers often face huge tasks, keeping your technical and “soft skills” up-to-date is key to rallying a team and/or organization to overcome challenges. “I’d advise anyone in the DevOps industry to continue to learn and strengthen their skills, no matter what stage they are in in their career,” Wadhwani says. “The DevOps space is continuously changing and evolving with newer tools, platforms and processes.”
Once they’ve mastered a flexible mindset, DevOps engineers can often support different segments of their organization, playing key support roles in new teams. For example, a DevOps engineer could build a DevOps center of excellence within an organization’s burgeoning cloud infrastructure.
“Building a practice around service reliability and chaos engineering, for Site Reliability Engineering (SRE) teams in particular, can help to establish more resiliency within the applications they support,” Wadhwani says.
Bacchi says he recommends building a blog website and learning in public. “Include both your failures and your successes because the former often provides more impactful lessons for you and your readers,” he says. “Write blog posts on anything you are excited about, even if others have already written extensively about the topic.”
Related DevOps Engineer Resources:
DevOps Engineer Interview Questions
DevOps Engineer Resume Template