Most Demanded DevOps skills in the market 2021- From the experience of 50+ interviews in product companies.
Sharing to help and build a stronger DevOps community.
I am writing this article to share my DevOps interview experience i had with top product companies. This will help students, professionals, and DevOps enthusiast who want to know more about which DevOps skills they need to become a successful DevOps engineer in any product company and all those who want to make their career in DevOps. I will write a different article on difference b/w operation, production support, DevOps, SRE, SA, cloud engineer, and other related fields where we all are confused and mix them many times. But here I am sharing a guide on the DevOps field particularly.
What is DevOps:
In simple and short where a person able in writing code and able in deploy code taking from git to the production server and also able to take care of monitoring and maintenance. This includes integration and automation of Git -> Build -> Testing -> Production release -> Monitoring -> INCIDENT -> Fix -> Postmortems -> Bug -> Sprint -> Fix -> Develop tools for automation and self services. Sometime this role can be operation work heavy or Dev work heavy.
It also sometimes depends on company to company that how they implementing DevOps. But I will try to cover those popular skills which are required by almost all the companies.
DevOps Skills in Demand:
In my last job hunting I got interviewed more than 50 times from various product companies including some of top tech giants for the profile of SRE, DevOps, SA and cloud Engineer. Every interview gave me a different experience and new learning which I am going to share with you all now. Here I am going to discuss top skills that can help you to get a good job offer and make a better DevOps career.
1. Linux :
Today we are in the world of cloud technology where we can spin up a whole data center-like infrastructure in few clicks without caring about what's happening in the background. But Linux is the thing where a DevOps person needs to interact almost every day. Even you have a super automated environment but without running a couple of Linux commands, you can not finish your day.
I would say Linux is the Core of DevOps. Linux is the base where you will build your DevOps career. Due to cloud technology these days, our interaction becomes lesser now with the terminal but still its most demanded skill. When you need to troubleshoot you will always need good Linux skills on servers. No interview you can finish without Linux questions. Some companies even ask Linux in all the rounds. So this is must must needed skill. Further its depend on company to a company that how deeper they want to go in this skill during the interview. The more big is the brand the deeper they go.
Most demanded Linux distribution of Linux in the IT industry:
- RHEL
- https://www.redhat.com/en/technologies/linux-platforms/enterprise-linux
- Red hat also have certifications for RHEL learning.
- https://www.redhat.com/en/services/certifications
2. CentOS (Fedora based- Community version of Red Hat)
3. Ubuntu (Debian based - Community supported)
2. Networking:
Similar to Linux, Networking is also the base of DevOps. I saw many people failed in DevOps because they are not good at networking. Many cannot go beyond then SSH and Ping. Linux and networking work almost all the time together, but in reality, both are different skills. No one wants you to become a pure network engineer, but you should have at least basic knowledge of network flow and its protocols. You should be able to troubleshoot network issues. Some big tech companies can have a separate round for this skill and they really can go much harder in the interview.
3. Scripting/Programming:
I found these sections very complicated because companies are divided on this requirement. Some need pure programming language skills with knowledge of basic DS-Algo in any modern language like Python, Ruby, Go, etc. Some companies prefer scripting (practical automation) in either python or Bash, but Python is the most demanded language right now because of the larger library store and wider community base. This is also heavily used in cloud and daily IT task automation. I would suggest learning both - Programming with basic DS-Algo and scripting. Once you learn problem-solving with DS-Algo, then it will be very easy to do scripting. But I found scripting more practical because we use it heavily in daily practice(Bash Scripting). On the other side, modern DevOps need pure developer like programming skill, because now DevOps engineer started contributing to tools development, Self-services and other integrations using API's. So nowadays there is a need arise of having a pure developer like programming skill. You can expect DS-Algo questions and at most system design problems to solve using your favorite programming language in an interview.
Mentioning below some popular platform to learning coding and practice (sorted by free to paid)
- Official sites
2. You Tube
3. Skill development sites. Coursera, Udmy, Udacity , LinkedIn, tutorialspoint, etc.
4. Coding platforms.
- HackerRank, GeekForGeeks, LeetCode, Scaler, etc.
5. Career building online websites like.
4. Cloud:
Nowadays its become necessary to have basic knowledge of at least one cloud provider. Depends on company to company that how heavily they are on the cloud. You can expect a variety of cloud questions starting from very basic to advance level. Even some DevOps roles are now days purely based on cloud technology.
Mentioning a couple of most popular cloud providers. All provide certifications to showcase your knowledge
- GCP(Google)
2. AWS(Amazon)
3. Azure(Microsoft)
5. Kubernetes or Docker
As we have entered into the world of Micro-services and distributes systems. Demand for Kubernets(K8s) has been consistently increasing. I see most of the companies these days demanding this skill. Because many companies are just adopting it or already started with it. So you do not need to be a master in it, But have at least basic knowledge of Kubernetes architecture and maintenance. If you do not know about Kubernetes yet, then must have knowledge in Docker. If you don't have any experience in this, I will suggest to do a crash course and do hands-on practice to know the basics. It again also depends on company to the company that how much they are on Kubernetes. So research in advance and prepare accordingly.
- Learn More about K8s https://kubernetes.io/
- Kubernetes also provide certifications under linux foundation.
- https://kubernetes.io/training/
- Best place to learn : https://www.udemy.com/course/learn-kubernetes/
6. Troubleshooting (Experienced)
The more experienced you are, the more you will have to prove yourself in troubleshooting skills. This is a skill that you cannot learn in a couple of days or months. You grab this skill purely from your experience in the IT industry. Troubleshooting is also depended on how much your basics is cleared in all the above technology I discussed above. You can learn basic rules to follow while doing troubleshooting but experience make you more and more successful in this skill day by day. Check the experience required in the job you apply for and start preparing accordingly.
Other popular Good to have skills:
- Configuration Management tool (Ansible, Puppet, Chef, Salt, etc.)
2. Jenkins
3. Git
4. Application and web servers( Tomcat, Apache, Jboss, Nginx, etc.)
5. Any Monitoring tool (Nagios, Zabbix, Splunk, AppD, DataDog, NewRelic, etc.)
6. Basic knowledge of Databases (MySQL, PostgreSQL,MongoDB, etc.)
- https://www.tutorialspoint.com/mysql/index.htm
- https://www.postgresqltutorial.com/
- https://university.mongodb.com/
Read and follow on @Medium
Please share your feedback if you have any suggestions on the content :-Vikesh
IT analyst at Tata consultancy services | TCS digital
2 年@Vikesh Yadav can you share your Google interview experience as well for devops engineer role ?
Specialist Programmer @Infosys Limited
2 年marked as 'To Learn' list.. Thanks a lot!
Data Science Engineer ?? | SIH' 24 Internals?? | SIH' 23 Internals?? | GSSOC' 24???| Ex-IBM Skillbuild Intern ??| SWOC '23 ?? | Java ???? Hackerrank | SQL ??? Hackerrank | | Open Source ?? | Final Year @TIB ?? |
3 年Vikesh . Bhaiya I was wondering how to ask a good roadmap of devops from you and here you already put up on your profile. Just 1 ques should I have to follow the order? It would be great if you please connect with me Thank you??
Devops Engineer || AWS
3 年Excellent content
AIOps Engineer @Viavi Solutions Ex - Paytm | LINUX |AWS | ELK stack | Bash Scripting | MySQL | Kubernetes
3 年Its really helpful and informative..Thanks for sharing Vikesh Yadav