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):
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:
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:
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:
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!