DEV Community

Paul Micheli
Paul Micheli

Posted on


DevOps Study Roadmap

1. Learning a programming language

You need to get a good grasp of a programming language. It doesn't matter which one, but it's needed for writing automation code. Automation is a key part of DevOps. You can learn Python, Java, Ruby, Golang etc.

2. Understand different OS concepts

As suggested in the roadmap, you need to learn about process management, threads & concurrency, sockets, I/O management, virtualization, memory system, etc.

3. Learn to Live in terminal

Terminal commands are essential for a DevOps engineer, especially if you are working on linux. You need to learn commands for process monitoring, text manipulation, system performance, etc. When you practice these commands, you can become a master at shell scripting.

4. Network, Security & Protocols

You need to be familiar with various types of protocols which play a major role in communicating with different devices across the network like TCP/IP, HTTP, HTTPS, SMTP, FTP etc.

5. What is and how to setup

In general, a DevOps engineer should know how to set up a web server like IIS, Nginx, Apache and Tomcat. They should also know about Caching Server, Load balancer, Reverse Proxy, and Firewall, etc.

6. Learn Infrastructure as code

This is one of the most critical component in the learning path of a DevOps engineer. You need to learn about app containerization and have thorough understand of container tools like Docker and Kubernetes. Infrastructure provisioning tools such as Cloudformation, CDK, Terrafor,. Configuration management tools like Ansible, Chef, Salt & Puppet. Other areas include container orchestration and infrastructure provisioning.

7. Learn some Continuous Integration and Delivery (CI/CD) tools

Continuous Integration/Continuous Deployment is now a core part of setting a DevOps culture. So you should get familiar with CI/CD tools like Jenkins, Github actions etc.

8. Learn to monitor software and infrastructure

When you have thousands of services running, it's important to make sure that the system is running in fine health. Both your infrastructure and application should be continuously monitored.

9. Learn about Cloud Providers

Most of the apps today are built as cloud-native. So you need to make yourself familiar with major cloud providers. AWS, Azure and Google Cloud are the leading players.

Top comments (0)

Advice For Junior Developers

Advice from a career of 15+ years for new and beginner developers just getting started on their journey.