DevOps as a profession has an extremely high entry point and anyone who has ever thought of working in this field knows it. Applying for even a junior position requires combing through an impressive list of tools, where the learning curve sometimes goes off the scale. Not only that, but you also need to learn these technologies in conjunction with others as you are going to be building processes.

 

It is not surprising then that most newcomers feel the pressure of having to stay focused, and end up overwhelmed by lots of information. In this article, we will share the experience of our seasoned DevOps professionals on how to stay up-to-date and navigate confidently through the sea of technology news without overloading yourself.

Discern concepts and tools

In DevOps we have concepts – basic principles that underlie DevOps processes, and tools – the means by which they are implemented. Concepts define guidelines for performing those processes, while tools help to realize them and solve associated problems.

 

Matrix of DevOps concepts vs technologies (tools):

 

Matrix of DevOps concepts vs tools — SHALB — Image

 

Before learning a tool, try to understand the concept behind it: why it is needed and what is its purpose. Understanding the concepts will help you know what processes you have, and what problems and challenges these processes bring about.

 

With this knowledge as a basis, you can start learning the tools that can solve these challenges or implement the concepts.

Learn the tools right

Define your priorities

Ask yourself why you have chosen that particular product among all the others? In general, there are two factors that can affect your decision: a problem-solution approach and a customers’ demand on a particular product.

 

Maksym Onyshchenko, DevOps engineer at SHALB, says:

Maksym Onyshchenko, DevOps engineer at SHALB — SHALB — Image

Maksym Onyshchenko, DevOps engineer at SHALB

I stopped learning “for the future” for some years now, unless it is a certification. In 85% the chance to practice your skills never comes. These days I focus mostly on what I come across in customers’ projects.

Know the main purpose of the tool

Make sure you understand what problem the tool solves and whether this problem is relevant for you. For example, preferring Terraform over bash scripts equates to choosing automated code for infrastructure provisioning versus doing manual work.

 

Whichever tool you decide to learn, either a mainstream or a new one, always focus on its main functionality rather than cool features. Understanding the main purpose of the tool will help you build it into a broader picture of DevOps.

Understand how it works

Each concept has a number of tools that serve the same purpose but in different ways. Consider Pulumi, Crossplane, and Terraform as configuration tools: each one has its own speciality and implements the IaC concept in its own way.

 

Pulumi is geared towards developers as it uses general programming languages to define infrastructures. Crossplane is heavily dependent on Kubernetes to work and can best fulfill its potential as part of a wider Kubernetes ecosystem. Terraform wins on the number of technologies it integrates with. Which one will fit your use case? Make a high-level overview to understand the tool’s key points and choose the one that best meets your requirements.

Hands-on usage

Always practice on real cases that you can use in real-time projects. For example, if you learn Docker, try to dockerize a small application: build its image, push it to a repository, run it and test its availability. Break the process into smaller steps and search for information on them: this will be more efficient than searching for the whole setup at once.

 

Roman Progonnyj, senior DevOps engineer at SHALB, says:

I’d say that the best way to learn new technology is to practice it on real cases. But it all stems from a person’s mindset. If you enjoy doing your work in a proper and elegant way, if its results make you happy, then you will always look for a better solution. With time you learn to refine your Google requests and to sort the wheat from the chaff to find something really useful.

Make notes

Make sure to document key points of what you have learnt. It is quite natural that some things may fall out of your memory with time. What matters is that you can always go back to your notes, revise your findings, and relearn something.

 

Don’t be a Jack of all trades

DevOps is such an enormous field that it is literally impossible to succeed in all its aspects. Don’t try to be an expert in every technology that you get on to. Choose your focus area and develop in that direction. Start small and simple, gradually building your knowledge.

Stay up-to-date

Follow industry peers on social media that post about new trends, such as Kelsey Hightower @kelseyhightower or Niall Murphy @niallm. Join industry-specific communities such as Stack Overflow or UkrOps to find out about new trends. You can also join discussions there about other people’s pain points and pick up some great advice.

Remember why you started

Keeping motivated along the way is half the battle. Whatever drives your progress, a genuine interest or financial reward, focus on it when you get stuck.

 

Oleksii Kurinnyi, monitoring master at SHALB, says:

Oleksii Kurinnyi, monitoring master at SHALB — SHALB — Image

Oleksii Kurinnyi, monitoring master at SHALB

For me there are two factors whose ratio motivates me to learning: being keen on a product and/or a job that I’m assigned with; financial reward for the job done. If a technology excites me, I’m willing to learn it on my own accord. If it is not, it becomes a matter of the price paid. Striking a balance between these two makes for the most pleasant combination.

Conclusion

The DevOps industry develops at a dynamic pace. As new concepts arise and new tools keep on entering the market, continuous learning is important to keep up-to-date and strengthen one’s foothold. We hope that our tips and advice will help you learn new technologies without overstressing yourself, and in the most efficient way!