RSS
Логотип
Баннер в шапке 1
Баннер в шапке 2
Project

How to find the good specialist in DevOps and why process of search can strongly be dragged out

Customers: Netology

Moscow; Information Technology



Project date: 2019/12  - 2020/06

DevOps (in abbreviated form from development and operations) is not some specific activity. It is at the same time methodology, culture and professional philosophy. The idea is its cornerstone that development process of a digital product is a uniform cycle which should not be separated into testing, optimization and operation.

The culture of DevOps can develop in the companies or is evolutionary when employees understand that there are processes which can be automated, or for the purpose of implementation of new business objectives. But when the company needs to be delivered on rails new processes, the specialists capable to implement and develop the necessary tools are always required. Search of DevOps-engineers is a difficult process. The market of IT specialists in many respects now is overheated therefore person who would suit the company and it was ready to develop methodologies from scratch, it turns out to pick up not always quickly.

In this article Dmitry Meremyanin, CTO "Netology-group", and other experts tell what key skills the specialist in DevOps should have what to the employer to pay attention when hiring to. Also authors share experience as looked for such specialist in Netology-group and why this process was strongly dragged out.

What should be the DevOps-specialist

The specialist working with development and operations first of all should not only know the tools connected with infrastructure but also understand system administration. If the specialist does not have this base, then the question appears: how could it grow to DevOps engineer without understanding of the main?

File:Aquote1.png
In my opinion, the ideal way of the person to DevOps — when it at first works as the system administrator and over time itself understands what "manual" things can be automated. And after that already begins to try and implement different instruments of automation in the processes. So it develops in itself(himself) this culture and grows in the DevOps-engineer. It is impossible to tell that such way a priori correct, but looks it today logically, - Dmitry Meremyanin considers.
File:Aquote2.png

According to Dmitry Meremyanin, the ideal way of the person to DevOps begins with work as the system administrator

Roman Gershkovich, the teacher of Netology, selects four qualities which should be important for the head when choosing the specialist:

1. Good base and desire to understand as the used components work.

File:Aquote1.png
In my opinion, the main complexity consists in finding people with good base. Now the set of ready modules, "construction blocks" is available to any management tool configurations which allow to receive a system, difficult on the device, quickly. Many specialists learned to use similar high-level tools, but on it stopped, did not begin to go deep into the principles and result of their work. And it is necessary for many projects: to support and to effectively operate a complex system, to minimize downtime, it is obligatory to know at least basic things according to Linux — what OS resources manages how to estimate their utilization, requirements of applications, existence of errors and as to debazhit them, - Roman Gershkovich explains.
File:Aquote2.png

2. Structural approach to tasks.

Using the same tools, about two different ways can go:
a) make the convenient supported structure,
b) make thoughtless copy-paste of a manual.

Both of these methods will lead to system operation in the moment. However, at making changes in structure which is made by the first option everything will be quickly and simply, and with the second it is necessary to stay in the afternoon, possibly to break everything and to configure again. Therefore it is very important that the specialist thought strategically: could define where he can copy an element and where such step will cause negative effects in the future, Roman Gershkovich believes.

The main complexity consists in finding people with good base, Roman Gershkovich considers

3. Ability to be built in the operating system.

File:Aquote1.png
At each command and a product the history, examination and use-cases. Therefore practically on any component of the modern systems it is impossible to give only a right assessment. In each case different aspects will have weight. The person whom you employ should understand it. Even if he is a superprofessional in specific area with own opinion, it should want to be built in a command with its current rules. Desire everything acting to remake, take down and construct again only because he understands X better, but not Y — is pernicious, - Roman Gershkovich is sure.
File:Aquote2.png

4. Desire of the person is permanent to develop

In a command there is a wish to have people who consider work not as the place where they need to stay 8 hours and as hobby with which it burns. Tools constantly change, their relevance is displaced therefore the person with interest and desire will constantly learn new to be appreciated in any command.

These specialists who are capable to implement DevOps methodologies in the company are not enough. Alexey Chuvashov, CTO 65apps considers that many former system administrators just learn a new and fashionable stack, but do not try to understand development processes and workflow of a task of developers. It is even less understanding at customers or employers: why they need DevOps what tasks and requirements it should close.

At the same time for the DevOps-engineer very important that the Dev-component was at the high level: there has to be an experience of development and also work experience in a command with developers, understanding of the general trends on the selected specifics. At a stage of communication with future employer it is better to ask whether is in their roadmap company on development of the DevOps-direction.

These specialists who are capable to implement DevOps methodologies in the company are, very little, marked out by Alexey Chuvashov

As to the companies to select the specialist on development and operations

The first that it is possible to advise the companies which look for such specialists, is a patience as everything is individual: at each project the tasks and requirements. The main thing that the company was flexible and open for new people, tools, approaches and also understood that it needs to improve constantly.

It is necessary to select the specialist not only in a background, but also soft-skills, and spirit that the person could join already existing command easily. If to take very cool, pumped-over, but closed person - "prickle", he will practically not bring benefit. Moreover, such people all the same leave then. Therefore it is better to spend more time for search, than then long to adapt the person or to look for new after his fast leaving.

Roman Gershkovich advises to make the choice of the person proceeding from common goals of the company at the moment. At each stage of cultural development DevOps the optimal solution on the level of skills of employees and their quantity in a command will be a miscellaneous. It is sometimes better to employ one senior-specialist for big money that he solved burning issues and led a command. And at some moments of steam of junior-engineers for growth will be very opportunely: at first they will bring less benefit, but at the correct development will be very perspective for the company, will be able to close more tasks.

File:Aquote1.png
If you have a department of monitoring and logs with the high-loaded Jaeger, and you want to strengthen a command in this direction, it is logical to look for the specialist in Jaeger. But when you look for the person of the general profile in the DevOps command, you should not do keyword-based search: for example, if you live in Azure, it does not mean that you will not suit the specialist with experience in GCP. It is much more important to talk to this person and to understand his basic knowledge, installations, the general relation to automation and monitoring what objectives he achieved tools with which he worked at what level it seized them. The main thing that you matched by these parameters, and documentation on Terraform is read equally everywhere, - Roman Gershkovich explains.
File:Aquote2.png

It is better for that who conducts an interview of specialists to prepare the general for all interview book and to register in it sections with basic questions on programming at the level of automation, to operating systems, networks, architecture of the distributed applications. Also it is worth having a test virtualka with a set of the broken services which the person should repair to show the practical skills, the representative of the company considers. Here you should not create additional difficulties — res communes as the broken rights on the file system, there will be enough chattr +i hammered on a disk df output because of remote files.

Why in Netology-group began to look for the person on DevOps

The company consists of four projects: online schools for children Foksford, Netology for training of adults in specialties from the sphere digital, EdMarket, the university of professions in online education and schools of studying of English Wordika.

The culture of DevOps — methodology at which the department of development closely interacts with department of operation — arose in the company evolutionarily. In 2014 it already existed in embryo, but there were problems with infrastructure, a lot of things were not automated and there were errors, Dmitry Meremyanin says.

From the moment of emergence of Foksford in the company there was a system administrator who supported work of all services in the "manual" mode. The project developed, the number of services grew, loading became more. It led to increase in release cycles, difficulties in stay and error correction and to other problems.

At office of Netology

For example, updating of configuration files which are stored on different servers went manually: the engineer came on each server and hands changed necessary files. As soon as he was mistaken in one file, the website was unavailable. And it was difficult to understand an exact cause of error at once. It needed to be corrected — configurations should be updated from one place, is automated and at the same time. The acting employee did not have enough resources to solve these problems. In addition we had working services which needed to be administered and supported on a permanent basis, and it required resources too.

File:Aquote1.png
Therefore we decided to expand a command and to make full-fledged department of infrastructure. We needed the person on DevOps which would help with acceleration and process automation of development and operation. At first we looked for the employee only in Netology, but then wanted that he helped also with other projects, - Dmitry Meremyanin explains.
File:Aquote2.png

The company set the following objects for itself:

  • ensure stable functioning and continued support of infrastructure;
  • it is multiple to increase the speed of release cycles — since two weeks to several times a day.

Selected priority tasks:

  • automate deployment of a server environment from scratch;
  • configure monitoring of our infrastructure and the application;
  • start the centralized collecting of logs;
  • build high-quality processes on CI and CD.

Plans were ambitious: a lot of things from planned earlier were not implemented, and it was very difficult to carry out debag and debugging of processes at emergence of problems due to the lack of history and permanent monitoring.

As we looked for the employee on DevOps

When in Netology began to develop the culture of DevOps, considered that under this role the strong system engineer with the skills helping to use DevOps-experts perfectly will approach, Dmitry Meremyanin tells. For example, with experience of system administration, works with instruments of automation — Chef, Puppet or Ansible — understanding of network technologies and also knowledge of one or several programming languages (Python or Ruby) for writing of scripts.

File:Aquote1.png
I still do not know how it is correct to call such person, and during this period we tested different names for vacancies from "system engineer" to "DevOps-engineer". Wanted to understand on what of them there will be more response, - CTO "Netology-group" says.
File:Aquote2.png

It was very difficult to find the person who at the same time would have skills for the solution of our tasks and it would be interesting. People with absolutely different experience, but high salary expectations responded: system administrators with a weak background, those who were engaged earlier only in implementation of different instruments of automation as CI/CD, or those who perfectly configured payplayna, but nothing any more.

There were also another stories: sometimes people with extensive experience responded to a vacancy. For example, one of them got used to work with scale of thousands hosts and looked for something not less interesting.

File:Aquote1.png
Our company did not suit such candidates — both we, and they understood that at us it will become boring for them over time, - Dmitry Meremyanin notes.
File:Aquote2.png

Through some time the company found the employee who undertook the following tasks: was engaged fultaym in support of infrastructure, and gradually began to help both on Foksford, and on Netology.

File:Aquote1.png
It came with experience, sufficient for our company: understood internal processes as the system engineer well understood DevOps. But it had the long story of development too in the field of, - Dmitry Meremyanin added.
File:Aquote2.png

From bottoms of IT to the DevOps-engineer

Vadim Knyazev, DevOps-engineer of Netology-group:

File:Aquote1.png
Recently I filled out the request for the credit and in the column "your position" there was no DevOps-engineer. It I to the fact that such profession is still not issued officially: there is a system engineer whom I also am. If the system engineer participates in the project where development is conducted on DevOps methodology, then he is automatically called the DevOps-engineer.
File:Aquote2.png

Vadim Knyazev says that he began with the bottoms of IT firm: at first was a call center operator and helped to reboot routers. Education at him non-core (engineer-physicist) therefore knowledge in IT was practically not.

File:Aquote1.png
But I looked at developer colleagues and system engineers and very much wanted to understand as everything is arranged. In a break between resets of routers read something, stuck with questions to colleagues, tried to do itself - bought old computers, integrated them in network, tried to lift different applications, at first all hands, then showed that there are managers of configurations, then the first time tried Puppet. As a result passed from the first level of support to the second. There it was already necessary to resolve more difficult technical issues. Then I was raised to the system administrator, and I began to support infrastructure, - Knyazev tells.
File:Aquote2.png

Work as the developer seemed to it boring: "you have couple of lines of the code for which you are responsible, and all". And the system engineer in power has the whole interesting infrastructure with the features and also a lot of servers which interact with each other.

Work as the developer to Vladimir Knyazev seemed boring

On the first work location Vadim Knyazev long advanced the idea that assembly, in testing and deploy certain people should be engaged, and developers should write the code only. He offered payplayna of assemblies, a system for test automation, monitoring, collecting of logs, but the command was not ready to it, did not make contact.

File:Aquote1.png
Therefore I passed into other company in which joined a team of engineers with a DevOps-bias. The way from the call center operator to a command with DevOps took me 2 years. Then I was called in a startup in which just everything had to be lifted from scratch. Everything turned out, works and develops still, - Vadim Knyazev says.
File:Aquote2.png

To Netology-group it came already to the working infrastructure, only everything needed to be supported and to develop. Knyazev considers that to make everything from scratch much easier, than to accept what already works. Often it is necessary to study new tools and approaches which were implemented to you. Kubernetes became the most great difficulty for it: "I read about it much, always wanted to try, but the previous projects did not allow to use it. I had a fear what I will not understand, but when on an interview I was asked "But are not afraid that you will not understand?", I answered that I am not afraid. It was necessary to understand".

From the moment of Vadim's arrival to a command of Netology-group there passed two years. And now in the company understand that to it — the only person on DevOps for all company — it will be gradually even heavier: the number of projects grows, infrastructure becomes complicated, and for the last few years in Netology-group two more companies with different tasks appeared, Dmitry Meremyanin tells. Therefore the company began to look for to it the person in the help. Looked for long, about half a year. Besides because of specifics of the market - there is not a lot of good specialists who would approach.

File:Aquote1.png
But as I also spoke above, the main thing that I want to wish to the companies which begin to develop DevOps-culture, is a patience. The good specialist can be found, but it takes time. On the other hand, process of studying of skills and competences of applicants brings benefit, you can estimate the requirements to engineers, correlate them to market demands and, perhaps, to adopt for yourself some new tools, - Dmitry Meremyanin notes.
File:Aquote2.png

The source of a photo is Netology-group

Read Also

DevOps Methodology