Learning new DevOps tools is always fun.
DevOps Engineers should keep learning new tools.
When you start learning a new DevOps tool, the first few days could be really demotivating and you might feel like you are not getting anywhere. Don't worry, it's not just you, most of us feel the same way.
Somehow I made peace with the demotivation and have a process to learn new technology.
So here is how I learn a new tool or technology.
First, I will go through the official documentation with the getting started guides.
I browse through the documentation to understand all the key concepts (Architecture, design, etc.). Then, if it is a complex tool, I try to read a book on that tool.
Next, I start watching the official videos of the tool. Most tools will have conference presentations on youtube. From these videos, you will learn to use the tool and the use cases other companies are solving. For example, AWS Reinvent videos, Kubecon videos, etc.
Then, I pick up a use case and do hands-on. It could be a use case available online or I design my own. The real learning starts here.
Once I gain adequate hands-on knowledge, I start reading blogs. Mostly blogs on experiences shared by engineering teams on using the tool in production. It helps me understand the best practices and learnings from others.
Then, I start digging into conversations on Reddit, Stackoverflow, etc. Interestingly these forums are a gold mine of information.
Also, I call up people in my professional circle to understand how they use the tool in their projects. If the tool is relatively new, there is less chance of getting information. But you can share your knowledge with them.
Finally, I write a getting started tutorial on my DevOps blog with my learnings to retain the knowledge. It acts as a reference for me, and it might help others as well.
Also, teaching someone what you have learned is a great way to retain the knowledge. Surprisingly you will get more ideas when someone asks you questions about it.
So if you are working in a team, always share your knowledge. It is also a good trait of a DevOps engineer.
Note: The above process works well for me and it takes some patience to go through the steps I mentioned. If you are on a tight project deadline with new technology, its better to follow blogs and get things done first :)
If you have got any tips for learning, Do let me know in the comments.
Also, if you are looking for a DevOps engineer role, do look at my comprehensive guide on becoming a devops engineer.