DevOps engineers are multi-disciplinary specialists who automate processes and understand how developers, QA, and managers work. They can program, quickly master complex tools, and do not shy away from unfamiliar tasks. There are few DevOps engineers — they can earn between 200,000 and 300,000 rubles, yet there are still many job vacancies.
Dmitry Kuzmin explains what a DevOps engineer does and what you need to learn to qualify for such a position. As a bonus — essential links to books, videos, channels, and professional communities.
What Does a DevOps Engineer Do
In the context of DevOps, it's important not to confuse terms. The thing is, DevOps is not a specific area of activity, but rather a professional philosophy. This methodology helps developers, testers, and system administrators work faster and more efficiently through automation and seamlessness.
Accordingly, a DevOps engineer is a specialist who implements this methodology in the work process:
- At the planning stage, the DevOps engineer helps determine what architecture the application will use, how it will scale, and selects the orchestration system.
- Next, they set up the servers, automated checks, and code deployment, along with environment verification.
- Then, they automate testing and resolve deployment issues.
- After the release, it is important to gather feedback from users and implement improvements. DevOps ensures that users do not notice these improvements, and the update process is continuous.
- Additionally, they tackle dozens of tasks that help establish the workflow for developers, QA, system administrators, and managers.
Everything written above happens in nearly ideal projects. In the real world, however, one often has to start in a project where planning was skipped, the architecture was flawed, and automation was only considered when all projects stalled. Navigating through these problems, resolving them, and ensuring everything works is the key skill of a DevOps specialist.
There is confusion in the job market. Sometimes businesses look for DevOps engineers for positions as system engineers, build engineers, or someone else entirely. Responsibilities vary depending on the size of the company and its focus — in some cases, they seek someone for consulting, in others, they ask for full automation, and in yet others, they require someone who can perform advanced systems administrator functions and knows how to program.
What is needed to start a career in the profession
Entering the profession requires prior preparation. Simply joining courses from scratch, with no understanding of IT, and learning to the junior level is not enough. A technical background is necessary:
- Ideally, you have worked for six months or more as a systems administrator, operations specialist, or tester. Or at least have some understanding of how applications start, in what environments they can develop, and what to do if you encounter an error. If you lack work experience, take any course on Linux administration, practicing everything that happens on your home machine.
- Understand how networking technologies work — learn to install, configure, and manage local and global networks.
- Look into how programming works — write some scripts in Python or Go, try to grasp the principles of OOP (Object-Oriented Programming), and read about the general product development cycle.
- Knowledge of technical English is useful — you don't need to discuss freely, just be able to read documentation and interfaces.
It's not necessary to know everything listed in detail; a minimal level of preparation is enough to start learning DevOps. If you have such a technical background, try enrolling in courses.
What a DevOps engineer should know
A good DevOps engineer is a multidisciplinary specialist with a very broad perspective. To work successfully, you will need to understand several IT areas at once.
Development
A DevOps engineer will write a script that helps developers deploy code on the server. They will create a program that tests the responsiveness of databases "on the fly." They will write an application for version control. Finally, they will simply notice potential development problems that may arise on the server.
A strong DevOps specialist knows several languages suitable for automation. While they may not be an expert in all of them, they can quickly write a small program or read someone else's code. If you haven't dealt with development before, start with Python — it has a simple syntax, is easy to work with in cloud technologies, and has plenty of documentation and libraries.
Operating Systems
It's impossible to know all the capabilities of every version of each system — such training can take thousands of hours and still yield little benefit. Instead, a good DevOps professional understands the general principles of working on any OS. However, judging by job listings, most currently work in Linux.
A good engineer understands which system is best for deploying a project, what tools to use, and what potential errors may arise during implementation or operation.
Clouds
The cloud technology market by an average of 20-25% per year — this infrastructure allows for the automation of code testing operations, application assembly from components, and delivery of updates to users. A good DevOps professional is knowledgeable in both fully cloud and hybrid solutions.
Standard requirements for engineers usually include GCP, AWS, and Azure.
This also includes proficiency with CI/CD tools. Jenkins is commonly used for continuous integration, but it's worth trying out alternatives. There are many, such as Buddy, TeamCity, and Gitlab CI. It is also helpful to learn Terraform — a declarative tool that helps set up and configure infrastructure in the cloud remotely. Additionally, Packer, which is needed for automatically creating OS images..
Orchestration Systems and Microservices
Microservices architecture offers many advantages — stability, fast scaling capabilities, simplification, and reusability. A DevOps professional understands how microservices work and can anticipate potential issues.
They have a deep understanding of Docker and Kubernetes. They know how containers work and how to build a system so that parts can be disabled without affecting the overall system as a whole. For example, they know how to build a Kubernetes cluster using Ansible.
What else should a future DevOps try?
There are countless tools that can be useful for a DevOps engineer. Some work on project orchestration, others spend most of their time on deployment and testing automation, while others focus on improving configuration management efficiency. During the process, it will become clear where to dig and which projects will be useful.
Here's a small minimum that will help you get started:
- Understand how Git and GitHub work if you haven't encountered them yet. Install GitLab on your server.
- Familiarize yourself with JSON and YAML markup languages.
- Install and try working with databases—not just MySQL, but also NoSQL. Give MongoDB a try.
- Learn how to manage the configuration of multiple servers at once. For example, using Ansible.
- Immediately set up load monitoring and logging. Try the combination of Prometheus, Grafana, and Alertmanager.
- Look for the best deployment solutions for different languages—just getting acquainted will be enough, and you will sort things out in a training or work project.
Why you should start learning DevOps now
There is a shortage of DevOps engineers in the market. This is conditionally confirmed by the quantity and quality of job openings:
- In Russia, there are constantly more than 2,000 jobs available under this keyword on HeadHunter alone.
- And only 1,900 people have posted resumes.
Considering that posting a resume does not mean an active job search, this means that there are two or even three job openings for each specialist—such a situation does not even exist in the popular web development market. Add in vacancies from Habr and Telegram channels—the shortage of specialists is enormous.

Pay attention to the salary demands of applicants
DevOps is equally in demand globally—if you are considering relocation to the USA or Europe, on the portal more than 34,000 companies are looking for such specialists. Common requirements include 1–3 years of experience, the ability to work with 'clouds,' and a willingness to take on consulting functions.
There are significantly fewer freelance offers—DevOps engineers are mainly sought full-time and in-house.

Finding a suitable project in freelancing is difficult, but it is possible
The typical career path of a DevOps engineer can be represented approximately like this:
- For six months to a year, he works as a system administrator in a small IT company. At the same time, he studies a language suitable for automation.
- He is intensively studying in courses for about six months.
- He moves to a different job — to a company that sells cloud solutions, a branch of a large corporation, to developers of big projects. Simply put, to a place where there is a need for constant automation and implementation. In the starting position, it is approximately 100,000 rubles.
- He actively works and studies for several years, increasing his income several times.
- He becomes an expert in the professional community and transitions into consulting. Alternatively, he advances to a system architect or IT director.
DevOps is challenging. It requires combining skills from several professions at once. To become a person who is ready to suggest improvements where other IT specialists don't even consider alternatives. People are paid a lot for this, but a vast amount of knowledge is also required.
How much do DevOps professionals earn?
The average median salary for DevOps professionals, according to data from the second quarter of 2019, ranges between 90,000 and 160,000 rubles. There are lower offers — mainly 60–70 thousand.
There are constantly offers up to 200,000; job vacancies with salaries up to 330,000 rubles can be found.

Among specialists in DevOps operations, salaries are higher than for others. Source:
DevOps engineers, including beginners, are currently in demand at large banks, corporations, cloud services, trading systems, and other organizations that prioritize the maintenance of their IT solutions.
An excellent candidate for a junior position with a salary of 60–90 thousand would be a beginner system administrator with about a year of experience and a relevant diploma.

Such statistics are not available, but it seems that people with experience in Linux are paid more.
What to watch and read for career growth
To dive into the world of DevOps, try several information sources at once:
- [YouTube, ENG] — a lot of videos from conferences and educational webinars.
- [YouTube, RUS] — video presentations from the professional DevOps conference in Russia.
- [book, RUS] — one of the most popular books about the philosophy of DevOps. The book contains the basic principles of the methodology and explains what to focus on first when working on any project.
- [book, RUS] — a lot of theory and principles about how system administration should be organized.
- [book, ENG] — a weekly overview of news from the DevOps world.
- [Telegram, RUS] — industry news, conference announcements, links to new interesting articles and books.
- [Telegram, RUS] — Russian-speaking chat where you can ask for advice and request help with configs.
- Devops.com — a large international site with articles, webinars, podcasts, and columns from leading companies in the industry.
- — a Russian-speaking community of DevOps engineers and sympathizers.
- The best books for the language you will use for development.
Where to learn DevOps
You can gain structured knowledge from the course "" at Netology. You will learn the complete cycle of the methodology:
- Learn how to analyze code and quickly use version control tools.
- Understand the best practices of continuous integration, testing, and building.
- Learn to manage changes in applications and automate them.
- Practically study configuration and management tools.
- Get accustomed to selecting and setting up necessary monitoring services right away.
As a bonus, you will receive a course on Python programming — allowing you to solve problems even faster and easier. Everything is practical — using AWS, GCP, or Azure.
This is enough to transform from a beginner engineer or system administrator into a sought-after DevOps, significantly increasing your market value.
Source: habr.com
