Continuous is a word that is widely used in DevOps areas. For people who are focusing on DevOps, they also need continuous learning through their career, and so do I. Since 2013 when I started my “true” DevOps career, I have been working on a number of OpenStack and Kubernetes products/projects as all sorts of different roles, including developer, tester, SRE, project/product manager and architect, all the way through the full delivery life cycle. I realize that a true DevOps engineer should never limit the range of knowledge and skills to just some CI/CD stuff, becoming a specialized generalist is important. Learning Jenkins and Kubernetes are useful for sure, however, knowledge and skills on programming, architecture and SRE would help you build up a wider view against real-world complexities and find a best way to move forward. So here is my personal list, and I will keep it updated.
- Clean Code. DevOps engineers write a lot of code like any software developer, so it is essential to keep the coding skills sharp and clean.
- Design Patterns. Nested “if-else” would make you look silly, find better ways from this classical.
- Clean Architecture. Get to know some core principles.
- Cloud Design Patterns. This is a free online resource that would help when you want to understand cloud native systems or design your own.
- Cloud Native Infrastructure. Some core ideas on modern infrastructure, like convergence, reconciliation.
- Google SRE Book. I personally think this book covers everything about operations in the Cloud era.
- Continuous Delivery and DevOps. One of the earliest and best books on DevOps.
- The DevOps Handbook. This book will tell you the things to consider for bringing DevOps to organizations.