In recent times, I have talked to a lot of people and have seen a few questions again and again on how to progress in this field. In this article, we are going to see these questions and what I think their answers are. These are my personal views.
What should I learn to shift my career in this domain?
Start with basic Linux and networking, once you think you are good at it you can approach programming, python for starter, write basic scripting and then move towards full-fledged software, Lot of people think that programming is not important and this is the sole reason you will have the advantage over them. Programming enables you to think in a better way. You can try out DevOps tools in parallel. Then move towards system design and architecture.
How can I start or when should I start searching for a job in the DevOps domain?
If you are switching jobs, I will recommend starting as early as possible with a Linux sysadmin job, this will give you a better understanding of work, and then you can gradually move forward. This will also add experience to your resume and that will help you a lot going forward.
Which tool should I learn?
I always prefer to tell everyone to learn Linux and networking first. But it’s a reality that some companies do hire people on basis of what tools they know. I know many are in scenarios where you want a job so you have to start with one. If that is the case, I will recommend learning Jenkins and docker first of all. And how CI works with GitLab or Github. This is almost common across all the companies. You should also try to learn any one of the clouds and this will add good value to your profile.
Is programming a must in DevOps?
Well, it’s not a must as of now as per industry but you must be good at scripting. You should be able to write scripts to fetch data, process it, get the information out of it, and save it in a proper manner. According to my view, must be a mandatory component. Just my personal views.
Should I learn Programming?
Yes, you must. Programming is something which enables you with better and faster ways to solve the problems
What about algorithms?
Well yes, this will again help you to understand the problem and solve it more efficiently. If you think algorithms are not used anywhere in DevOps, the Linux system itself uses a huge number of algorithms and data structures. So it’s important to get out of this mindset that you will never use algorithms.
I have ample time and I want to prepare properly for this domain what should be the order?
You should start with Linux and networking, then start with programming, system design, and architecture. Next, you should work on some standard tools used across the industry. Keep in mind a good understanding of the system is something you want to achieve. You must be able to design systems with your knowledge, you must be able to think of 10000 feet architecture, given you have to design any system. Then you must also focus on clouds such as AWS or Azure. Any one of the clouds is fine to start. Most of the resources are the same in the different clouds with different names and some config differences are there.
I have tried to add the basic things in my book here that you will have to prepare, you can give it a read to get a basic understanding of what you can expect to come in these interviews.
These were a few questions that I came across multiple times so I thought of posting them here. These question answers will keep on coming like this.