Learn Linux. Install Linux on your laptop. Get familiar with Linux commands. Learn virtualization. Unlock the
path to learn more Linux.
Programming. Acquiring some programming skills using a general purpose programming language like Python goes a
long way. Learning some web development is required in most DevOps engineering contexts. Although you don’t have to be
an expert in web development, you should have a clear understanding of workloads consisting of web applications and
microservices. Learning some HTML, CSS and JavaSript is required for web development. At this point, you have to learn
at least one database system. I recommend PostgreSQL to get started with relational database system. Git is also an
essential tool to manage source code.
Automation is the cornerstone of DevOps engineering. Learn the basics of automation with Ansible and shell
CI/CD. The purpose of DevOps is to create a culture and practice where developers can ship their applications
to customers quickly, safely and continuously. The CI/CD pipelines often constitute the backbone of the DevOps
practice. Jenkins is a popular tool to create CI/CD pipelines. Learn the basics of Jenkins and create pipelines to
automatically test and deploy applications.
Observability and monitoring. Start with Linux commands such as top, free, du and progress towards
Prometheus. The typical Prometheus stack includes Alert Manager and Grafana. Then explore the world of traces with
tools such as Jaeger and OpenTelemetry.
Kubernetes. The quintessential container orchestration platform.
Cloud engineering. Start with one of the popular clouds such as AWS, Azure or GCP.
IAC. Take automation to the next level in the cloud. Use Terraform to orchestrate resources in the cloud.