Who is a DevOps engineer, what does he do, how much does he earn and how to become one

DevOps engineers are multidisciplinary professionals who know how to automate processes and know how developers, QA and managers work. They know how to program, quickly master complex tools and do not get lost in front of an unfamiliar task. There are few DevOps engineers - they are ready to pay 200-300 thousand rubles each, but there are still a lot of vacancies.

Dmitry Kuzmin tells what exactly DevOps does and what you need to study in order to apply for such a position. Bonus - important links to books, videos, channels and the professional community.

What does a DevOps engineer do

In a situation with DevOps, it is important not to confuse the terms. The fact is that DevOps is not a specific area of ​​activity, but a professional philosophy. It is a methodology that 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, a DevOps engineer helps to decide what architecture the application will use, how it will scale, and choose an orchestration system.
  • Further, it sets up servers, automated checking and uploading of code, checking the environment.
  • Then it automates testing, solves deployment tasks.
  • After the release, it is important to collect feedback from users and implement improvements. DevOps makes it so that users do not notice these improvements, and the update process is continuous.
  • And at the same time it solves dozens of tasks that help to establish a work system for developers, QA, system administrators and managers.

Everything that is written above takes place in close to ideal projects. In the real world, you have to start in a project where planning was missed, the architecture was wrong, and automation was thought about when all the projects got up. And understanding all these problems, solving them and making everything work is a key skill for a DevOps specialist.

There is confusion in the labor market. Sometimes a business is looking for DevOps engineers for the position of systems engineer, build engineer, or someone else. Responsibilities, depending on the size of the company and direction, also change - somewhere they are looking for a person for consulting, somewhere they are asked to automate everything, and somewhere they are required to perform advanced functions of a system administrator who knows how to program.

What you need to start in the profession

Entry into the profession requires advance preparation. Just coming to the courses from scratch, without understanding anything in IT, and you won’t be able to learn to the junior level. Technical background required:

  • Ideally, if you work for six months or more as a system administrator, operations or testing specialist. Or at least have an idea of ​​how applications start, in what environment they can develop, and what to do if you see an error. If you have no work experience, take any course on Linux administration, repeating everything that happens on a home machine.
  • Understand how network technologies work - learn how to install, configure and manage local and global networks.
  • See how and what programming is made of - write a few scripts in Python or Go, try to understand the principles of OOP (Object-Oriented Programming), read about the general product development cycle.
  • Knowledge of technical English will come in handy - it is not necessary to communicate on free topics, it is enough to be able to read the documentation and interfaces.

It is not necessary to know everything listed thoroughly; a minimum level of training is enough to start DevOps training. If you have such a technical background, try enrolling in courses.

What DevOps Should Know

A good DevOps engineer is a multidisciplinary specialist with a very broad outlook. For successful work, you will have to understand several IT areas at once.

Development

DevOps will write a script to help developers install code on the server. Will make a program that "on the fly" tests the responsiveness of databases. Will write an application for version control. Finally, just notice a potential development issue that might appear on the server.

A strong DevOps specialist knows several languages ​​suitable for automation. Understands them not thoroughly, but will quickly write a small program or read someone else's code. If you have not encountered development before, start with Python - it has a simple syntax, it is easy to work with cloud technologies, there is a lot of documentation and libraries.

OS

Knowing all the features of each version of each system is impossible - thousands of hours can be spent on such training and there will be no sense. Instead, good DevOps understands the general principles of working on any OS. Although, judging by the mentions in the vacancies, most now work in Linux.

A good engineer understands in which system it is better to deploy a project, what tools to use, and what potential errors may appear during implementation or operation.

Clouds

Cloud technology market is growing by an average of 20-25% per year - such an infrastructure allows you to automate the operations of testing code, assembling applications from components, and delivering updates to users. A good DevOps understands both full cloud and hybrid solutions.

The standard requirements for engineers usually include GCP, AWS and Azure.

This includes knowledge of CI / CD tools. Jenkins is usually used for continuous integration, but it is worth trying analogues. There are many such as Buddy, TeamCity and Gitlab CI. It will be useful to study Terraform - this is a declarative tool that helps to remotely raise and configure infrastructure in the clouds. AND Packer, which is needed to automatically create OS images.

Orchestration systems and microservices

Microservice architecture has many advantages - stability, ability to quickly scale, simplification and reuse. DevOps understands how microservices work and can anticipate potential problems.

Thoroughly knows Docker and Kubernetes. He understands how containers work, how to build a system so that you can turn off some of them without consequences for the overall system as a whole. For example, he can build a Kubernetes cluster using Ansible

What else to try for the future of DevOps

The list of tools that a DevOps engineer can use is endless. Someone works on project orchestration, others spend most of their time automating deployment and testing, and still others increase efficiency in configuration management. In the process, it will be clear where to dig and what projects will come in handy.

Here is a small minimum that will help at the start:

  • Understand how Git and Github work if you haven't already. Install GitLab on your server.
  • Get familiar with the JSON and YAML markup languages.
  • Install and try to work in databases - not only in MySQL, but also in NoSQL. Try MongoDB.
  • Learn how to manage the configuration of multiple servers at once. For example, using Ansible.
  • Immediately set up load monitoring and logs. Try a bunch of Prometheus, Grafana, Alertmanager.
  • Look for the best deployment solutions for different languages ​​- you just need to get acquainted, implement and understand on a training or working project.

Why you should start learning DevOps now

There is a staff shortage in the DevOps engineer market. This is conditionally confirmed by the number and quality of vacancies:

  • In Russia, HeadHunter alone has over 2 jobs available for this keyword.
  • And only 1 people posted resumes.

Considering that posting a resume does not mean an active job search, it turns out that there are two or even three vacancies for one specialist - this situation does not even exist in the popular web development market. Add here more vacancies from Habr and from Telegram channels - the shortage of specialists is huge.

Who is a DevOps engineer, what does he do, how much does he earn and how to become one
Pay attention to the salary requirements of job seekers

DevOps is no less in demand in the world - if you are going to relocate to the USA or Europe, then only on the portal Glassdoor more than 34 thousand companies are looking for such specialists. Of the frequent requirements - experience 1-3 years, the ability to work with "clouds" and not be afraid of consulting functions.

There are many times fewer offers on freelancing - DevOps engineers are mainly searched for on a full-time basis and on a full-time basis.

Who is a DevOps engineer, what does he do, how much does he earn and how to become one
Finding a suitable freelancing project is difficult, but it is possible

The conditional career path of a DevOps engineer can be represented something like this:

  • Works as a system administrator in a small IT company for six months or a year. At the same time, he learns a language suitable for automation.
  • Intensively studying at the courses, about six months.
  • Moves to another job - in a company that sells cloud solutions, a branch of a large corporation, to developers of large projects. Simply put, where there is a need for constant automation and implementation. At the initial position, this is about 100 thousand rubles.
  • For several years he has been actively working and studying, increasing income several times.
  • Becomes an expert in the professional community and moves into consulting. Or growing to a system architect or IT director.

DevOps is hard. You need to combine the skills of several professions at once. Become a person who is ready to offer improvement where other IT professionals do not even think about something else. They pay a lot for this, but the amount of knowledge required is also large.

How Much Do DevOps Earn?

According to the data for the second quarter of 2019, the average median salary for devops is in the fork between 90 and 160 thousand rubles. There are offers cheaper - mostly 60-70 thousand.

There are constantly offers up to 200 thousand, there are vacancies with a salary of up to 330 thousand rubles.

Who is a DevOps engineer, what does he do, how much does he earn and how to become one
Among operations professionals, DevOps is paid the highest. Source: Habr.Career

DevOps engineers, including beginners, are now required by large banks, corporations, cloud services, trading systems and other organizations that care about maintaining their IT solutions.

An excellent candidate for a junior vacancy with a salary of 60-90 thousand would be a novice system administrator with about a year of experience and a specialized diploma.
 
Who is a DevOps engineer, what does he do, how much does he earn and how to become one
There are no such statistics, but it feels like people who have experience in Linux get paid more.

What to watch and read to grow in the profession

To immerse yourself in the world of DevOps, try several sources of information at once:

  • Cloud Native Computing Foundation [YouTube, ENG] - many videos from conferences and educational webinars.
  • DevOps Channel [YouTube, RUS] β€” video presentations from a professional DevOps conference in Russia.
  • The DevOps Handbook [book, ENG] is one of the most popular books about DevOps philosophy. The book contains the general principles of the methodology, it tells what to pay attention to in the first place when working on any project.
  • Thomas Limoncelli "The Practice of System and Network Administration" [book, ENG] - a lot of theory and principles about how system administration should be arranged.
  • Devops Weekly [book, ENG] β€” a weekly roundup of DevOps news around the world.
  • devops_deflope [Telegram, RUS] β€” industry news, conference announcements, links to new interesting articles and books.
  • Devops [Telegram, RUS] β€” a Russian-language chat where you can ask for advice and ask for help with configs.
  • Devops.com is a large international site with articles, webinars, podcasts and columns from the biggest companies in the industry.
  • Hangops_Ru is a Russian-speaking community of DevOps engineers and sympathizers.
  • The best books on the language you will use for development.

Where to study DevOps

You can get structured knowledge on the course "DevOps engineerΒ» in Netology. You will learn the full cycle of methodology:

  • Learn how to analyze code and quickly use version control tools.
  • Understand the best practices for continuous integration, testing, and building.
  • Learn to manage application changes and automate them.
  • In practice, learn the configuration and management tools.
  • Get into the habit of immediately selecting and configuring the services you need to monitor.

As a bonus, get a course on programming in Python - you will solve problems even faster and easier. Everything in practice - we use AWS, GCP or Azure.
This is enough to turn from a novice engineer or system administrator into a sought-after DevOps and pleasantly raise your price tag in the labor market.

Who is a DevOps engineer, what does he do, how much does he earn and how to become one

Source: habr.com

Add a comment