Universal soldier or narrow specialist? What a DevOps engineer should know and be able to do

Universal soldier or narrow specialist? What a DevOps engineer should know and be able to do
Technologies and tools that a DevOps engineer needs to master.

DevOps is an uptrend in IT, the popularity and demand for the specialty is gradually growing. GeekBrains recently opened Faculty of DevOpswhere specialists of the corresponding profile are trained. By the way, the devops profession is often confused with related professions - programming, system administration, etc.

In order to clarify what DevOps is in general and why representatives of this profession are needed, we talked with Nikolai Butenko, an architect Mail.ru Cloud Solutions. He has been involved in the development of the DevOps faculty course curriculum and is also teaching third-term students.

What should a good DevOps know and be able to do?

Here it is better to say right away what he should not be able to do. There is a myth that the representative of this profession is a man-orchestra who can write great code, then test it, and in his spare time go and fix printers for colleagues. Perhaps he also helps in the warehouse and replaces the barista.

In order to know what a DevOps specialist should be able to do, let's return to the definition of the concept itself. DevOps is the optimization of time from product development to product release to market. Accordingly, the specialist optimizes the process between development and operation, speaks their language and builds a competent pipeline.

What do you need to know and be able to do? Here is what is important:

  • Good soft skills are needed, since it is required to simultaneously interact with several departments within the same company.
  • Analytical structural thinking to look at processes from above and understand how to optimize them.
  • You need to understand all the development and operation processes yourself. Only then can they be optimized.
  • You also need excellent planning, analysis and design skills to create a unified manufacturing process.

Are all DevOps representatives the same or are there differences within the specialty?

Recently, there have been several branches within one specialty. But in general, the concept of DevOps includes mainly three areas: SRE (administrator), Developer (developer), Manager (responsible for interaction with the business). A DevOps specialist understands the needs of the business and organizes effective work between everyone by creating a unified process.

He also has a good understanding of all the processes of the product development cycle, architecture, understands information security at the level to assess risks. In addition, DevOps knows and understands automation approaches and tools, as well as pre- and post-release support for programs and services. In general, the task of DevOps is just to see the entire system as a whole, to direct and manage the processes that contribute to the development of this system.

Universal soldier or narrow specialist? What a DevOps engineer should know and be able to do
Unfortunately, both in Russia and abroad, employers do not always understand the essence of DevOps. Looking through the published vacancies, you can see that when calling a DevOps vacancy, companies are looking for either system administrators, or Kubernetes administrators, or generally testers. The very heterogeneous stuffing of knowledge and skills in DevOps vacancies from HH.ru, LinkedIn is especially striking.

It is important to note that DevOps is not just a specialty, it is, first of all, a methodology for treating infrastructure as code. As a result of the implementation of the methodology, all members of the development team see and understand not only their area of ​​work, they have a vision of the operation of the entire system.

How can DevOps help the company you work for?

One of the most important business metrics is Time-to-Market (TTM). This is the time to market, that is, the length of time during which the transition from the idea of ​​​​creating a product to bringing the product to sale is carried out. TTM is especially important in industries where products become obsolete quickly.

With the help of DevOps, a number of well-known retailers in the Russian Federation and abroad began to develop new directions. These companies are massively moving online, completely or partially abandoning offline sites. Under these conditions, rapid development of applications and services is needed, which is impossible without the use of DevOps tools.

Universal soldier or narrow specialist? What a DevOps engineer should know and be able to do
As a result, some retailers were able to speed up the process of withdrawing the necessary applications and services in just a day. And this is the most important factor of competition in today's market.

Who can become DevOps?

Of course, it will be easier here for representatives of technical specialties: programmers, testers, system administrators. Anyone who is going into this field without an appropriate education needs to be prepared to learn the basics of programming, testing, process management and system administration. And only then, when all this is mastered, it will be possible to start studying the DevOps concept as a whole.

In order to better understand the concept and get an idea of ​​the required knowledge and skill, it is worth reading the DevOps Guide, studying the Phoenix Project, as well as the methodology Philosophy of DevOps. The Art of IT ManagementΒ». Another excellent book DevSecOps The Road to Faster, Better and Stronger Software.

DevOps is best given to those people who have an analytical mindset and are able to use a systematic approach. It is difficult to say how long it will take for a beginner to become a great DevOps. It all depends on the initial base, as well as on the environment and tasks that need to be solved, plus the scale of the company. Among the companies that need devops are many tech giants: Amazon, Netflix, Adobe, Etsy, Facebook and Walmart.

In conclusion, more than half of the posted DevOps search jobs are actually for experienced system administrators. However, the need for DevOps is gradually growing, and now there is a shortage of competent specialists in this field.

In order to become such a specialist, you need to study new technologies, tools, use a systematic approach in the course of work and correctly apply automation. Without it, it is very difficult, if not impossible, to properly organize DevOps.

Source: habr.com

Add a comment