How much programming should I know for DevOps/SRE domain.
And YES, you need to learn programming.
We get this question a lot that do we need to learn to program for DevOps or SRE. I will just close this by saying you should and need to learn programming in every domain of computer science to progress faster in your career. Now, let’s move to the main question which is how much programming should I know to work in this domain.
This question does not have a proper answer, it can depend from organization to organization. Few organizations search for people who are very good in programming and data structures and algorithms, others don’t have this constraint. Few orgs also hire people without programming experience. Please don’t consider it as a point to not learn to code. What I am going to tell you is my personal view based on the different organizations I interact with and what kind of work you get in this domain.
Working with REST
A major task that you will do in this domain is plumbing different tools together. Now, most of the tools nowadays offer REST API to enable interfacing. So you must be able to make use of these APIs. To interact with APIs you must be able to understand JSON structure and away in your choice of programming language to use it.
You can learn to write some small REST APIS, writing these is very easy and most of the programming languages have frameworks that make them even easier.
Data Structures
Apart from these, you must read about very basic data structures like Arrays, Queues, Stacks, Dictionaries, HashMaps and few more. It should not take more than a week to learn the basics of these data structures.
Interacting with Files and Commands
DevOps people interact with a lot with operating system resources and most of the OS informations can be get with help of few files or few commands. So you can learn how to read and write to a file and then run commands from your programing language.
How much Algorithms?
Now, what about algorithms. What algorithms do I need to know? For started you must be able to understand how to iterate through different data structures like arrays, dictionaries, etc. Apart from them taking our max, min, sorting are some very basic things that you can learn.
If you are planning to learn programming for DevOps you can visit this GitHub repo https://github.com/LetusDevops/LearnPython where we are trying to divide the learning path into days. If you like the effort please drop a star.
These are a few things that will help you. If you walk about advanced programming you will get a chance to work on it if you are lucky to be in the right organization. Yes, there is a luck factor involved. You may end up in a team that does very little in terms of programming in day-to-day tasks.
This is where it comes really important that you understand what team you are going to join. Good exposure to programming and work will boost your career a lot.
You can also visit our youtube channel for DevOps related content: LetUsDevOps
You can also visit Learnsteps for more writeups.