placeholder

How to Be a (Good) DevOps Engineer

author

Andreas Grabner

June 30, 2021

DevOps engineer and tech influencer Nana shares her tips on best practices to kick-start your DevOps career.

Going live with Nana on the PurePerformance podcast

On one of our latest PurePerformance Podcast episodes, Brian and I had the pleasure to host Nana from TechWorld with Nana, a DevOps expert who aims to support companies and people on their journey towards DevOps. Nana doesn’t only create videos for her YouTube channel, but she also offers a 6-month bootcamp for system admins and developers and works as a DevOps consultant for companies.

Nana’s “Techworld” journey began because she noticed there was a need for more online resources about Kubernetes. When she started working with it, she realized that there were no forums where she and her team could ask questions — and she was sure that there were people out there struggling with the same issues they were. So, she collected all her notes and put them in video format on YouTube so others could benefit from it. A couple of videos later, her channel snowballed and now Nana is one of the best-known experts on all things DevOps and Kubernetes, with 230k subscribers and growing!

Recently, she shared a video with tips and tricks on how to become a DevOps Engineer in 2021 (DevOps Roadmap 2021 — How to become a DevOps Engineer?), which was also picked up by Bret Fischer (DevOps Roadmap for Humans — Interview with nana Janashia). This caught my attention and Brian Wilson and I invited her on the podcast to talk more about Kubernetes and what it takes to become a DevOps Engineer. So here is a short summary of some of the key points of our discussion.

Know your foundations: Don’t start with DevOps

“Going into DevOps as the first step in your tech career is the wrong way to go. For DevOps, you need to have an overview of how the complete software development process works.”

If you are thinking of jumping into a DevOps role straight after university or a coding bootcamp, think again. It’s a much better idea to be a developer first or a tester or a system administrator. This will help you get an overview of the complete software development process and give you a strong foundation to start thinking more abstractly about it. Working in one of those roles also gives you the opportunity to learn what the pain points are through hands-on experience. And you can use this knowledge to decide which tools to use to optimize your CI/CD (see more detail about this point down below).

Furthermore, although it is good enough to rely only on manual work when you start as a DevOps Engineer, it is truly useful to have enough scripting or coding knowledge to be able to automate those things that do repetitively. As a side note, make sure you also learn to refactor! This will help you and your team a lot in the long run and most IDEs already have plugins or in-built features that support script refactoring as well as code refactoring.

Be a generalist, not a specialist: Understand the process — not the tool

On your journey towards DevOps, it’s also important not to specialize too much on only one tool or concept. This is because DevOps is such a vast topic that encompasses the whole software development process, meaning that there are multiple tools being used in various constellations, and many different concepts put in place. Furthermore, new technologies and ideas appear all the time. Kubernetes itself is relatively new, and newer philosophies like DevSecOps and GitOps are spreading more widely.

Since DevOps is a new concept, there also aren’t any real best practices in place yet that you can follow or base yourself upon. So, it’s really crucial to be the type of person who is open to learning new techniques, tools, skills, as well as be able to see things abstractly and connect different tools on a higher level.

That’s also why Nana created a bootcamp that doesn’t focus on only one tool, but rather takes you along the whole DevOps path in a structured way. After asking her community what was missing in all other online trainings on the topic, she found out that often trainings and documentation focus on only one tool, but do not explain how they fit in combination with other tools. In the bootcamp, you learn how to build an end-to-end technology process, focusing on the underlining concepts and learning one tool per each technology category. Once you learn one tool, it’s easy to learn about similar ones in the same category afterward.

Share DevOps knowledge: Don’t leave behind a black box

Unfortunately, it happens quite often that only one or two people specialized in DevOps write scripts and prepare everything for a project. But then, these engineers leave the company or go to another project, leaving behind just a black box that nobody wants to touch as long as it works.

Many companies are not at that point yet, that they would have a whole team dedicated to DevOps, so it’s very important for DevOps Engineers to make sure that knowledge is shared within your project team. Do not become a silo! Write thorough documentation, do pair programming, involve the whole team in what you’re doing. The same knowledge-sharing best practices that apply to software development can also be applied to DevOps Engineering.

Choose the right tools

When you go into DevOps, don’t make it your first priority to overhaul everything and implement brand-new tools like Kubernetes. “But why not” — you might be asking — “isn’t it the whole point of DevOps to change to newer, better things?”

Well, yes, but don’t run into the trap of just starting with something like Kubernetes just for the sake of it (as we already mentioned in our blog post with Christian Heckelmann on how NOT to start with Kubernetes).

You should spend some time getting to know the project and the team you’ll be working with. This helps you develop the correct DevOps strategy and know which tools are best suited for this specific case. How does the process look like already? What are the offline processes? How are the sprints designed? What problems do they have?

Choose tools based on already existing processes and only add tools if they solve a problem you may already have. Don’t add them for no reason.

And that’s all of our tips at the moment! If you want to learn more, we highly recommend listening to the full talk here: Roadmap to K8s, DevOps and more with Nana or checking out Nana’s YouTube channel here: TechWorld with Nana.

We hope that this post will prove useful to those looking into pivoting their career towards DevOps engineering. And if you’re ready for the next step, check out all our open DevOps positions at Dynatrace.

And thanks again to Nana for coming on our Pure Performance podcast and sharing your valuable insights in the DevOps space. We wish you all the best on your YouTube and consulting journey!


How to Be a (Good) DevOps Engineer was originally published in Dynatrace Engineering on Medium, where people are continuing the conversation by highlighting and responding to this story.

Written by

author

Andreas Grabner