The Absolute Basics: What to Learn Before Diving into DevOps

Sumukh JSumukh J
3 min read

Before diving deep into DevOps, let's set the stage. DevOps isn't just about tools; it's about seamlessly connecting the development team with operations. This means having a foundational understanding of both worlds is non-negotiable.

Crucially, you must possess at least decent development knowledge. You should be comfortable writing the boilerplate for a basic application, whether it's in Express, Django, or Go. Understanding how an application is built and functions from a developer's perspective is vital for truly bridging the "Dev" and "Ops" gap.

A common question is: "Which language should I learn for DevOps?" While many say the language doesn't matter, I'd argue differently, especially if your goal is to build and manage scalable, end-to-end applications. For that, it's highly advantageous to pick a multi-threaded, robust backend language like Golang, Python, or Java. JavaScript, while powerful for frontend, often presents unique challenges when working with the kind of high-performance, concurrent backend systems central to many DevOps workflows.

Once you've chosen your language, get your hands dirty! Build projects to familiarize yourself with its syntax and ecosystem. Following that, your next essential step is to embrace Linux. It's the undisputed backbone of infrastructure in the DevOps world. Either switch to Linux as your primary OS or dedicate serious time to mastering its command line. Tools like MobaXTerm is a cli for windows for practicing linux. Commands like grep, ps -ef, and find are just the tip of the iceberg – these foundational skills will be invaluable for navigating, troubleshooting, and automating your environments.

Once you're comfortable with Linux, try building some basic shell scripts for system management. For example, a simple script to monitor CPU usage and alert the user when it hits a limit. This is a practical way to apply your Linux knowledge. As you build these, you'll naturally delve into file permissions – understanding chmod commands and how they control access to your scripts and files is fundamental for security and execution.

Finally, mastering version control with Git and collaborating using platforms like GitHub, GitLab, or Bitbucket is an absolute must. Your code is the core of DevOps, and managing its changes collaboratively is non-negotiable.

Building on version control, the heart of modern DevOps lies in CI/CD Pipelines (Continuous Integration/Continuous Delivery). Integrate these pipelines into your projects to automate your build, test, and deployment processes. As part of this, you must learn about various testing methodologies including unit testing, mock testing, and other relevant testing strategies. For personal and peer projects, GitHub Actions is an excellent tool to start automating your CI/CD workflows. For more advanced, complex, or enterprise-level projects, delve into robust tools like Jenkins.

To truly excel in DevOps, a strong foundation in these areas is crucial. Don't skip these steps; they will empower you to grasp advanced DevOps concepts much faster and apply them more effectively. Start building, start experimenting, and get ready for an exciting journey into the world of DevOps!

1
Subscribe to my newsletter

Read articles from Sumukh J directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Sumukh J
Sumukh J