Qui est un ingénieur DevOps, que fait-il, combien il gagne et comment le devenir

Les ingénieurs DevOps sont des spécialistes multidisciplinaires qui savent automatiser les processus et savent comment travaillent les développeurs, l'AQ et les managers. Ils savent programmer, maîtrisent rapidement des outils complexes et ne se perdent pas dans une tâche inconnue. Les ingénieurs DevOps sont peu nombreux - ils sont prêts à payer 200 à 300 000 roubles, mais il y a encore beaucoup de postes vacants.

Dmitry Kuzmin explique ce que fait exactement DevOps et ce qui doit être étudié pour postuler à un tel poste. Bonus - liens importants vers des livres, des vidéos, des chaînes et la communauté professionnelle.

Que fait l'ingénieur DevOps?


Dans une situation avec DevOps, il est important de ne pas confondre les termes. Le fait est que DevOps n'est pas un domaine d'activité spécifique, mais une philosophie professionnelle. Il s'agit d'une méthodologie qui aide les développeurs, les testeurs et les administrateurs système à travailler plus rapidement et plus efficacement grâce à l'automatisation et à la transparence.

En conséquence, l'ingénieur DevOps est un spécialiste qui met en œuvre cette méthodologie dans le processus de travail:

  • Au stade de la planification, l'ingénieur DevOps aide à décider quelle architecture l'application va utiliser, comment elle évoluera et à choisir un système d'orchestration.
  • Ensuite, il configure le serveur, la vérification automatisée et le téléchargement de code et la vérification de l'environnement.
  • Il automatise ensuite les tests et résout les tâches de déploiement.
  • . DevOps , , .
  • , , QA, .

, , . , , , , . , , — DevOps-.

Il y a confusion sur le marché du personnel. Parfois, une entreprise recherche des ingénieurs DevOps pour le poste d'ingénieur système, d'ingénieur de construction ou de quelqu'un d'autre. Les responsabilités en fonction de la taille de l'entreprise et de la direction changent également - quelque part, ils recherchent une personne à consulter, quelque part ils demandent à tout automatiser, mais quelque part ils sont tenus d'exécuter des fonctions avancées d'un administrateur système qui peut programmer.

Ce dont vous avez besoin pour commencer dans la profession


L'entrée dans la profession nécessite une formation préalable. Je viens de suivre des cours à partir de zéro sans rien comprendre en informatique, et l'apprentissage au niveau junior échouera. Besoin d'une formation technique:

  • , , . , , , . , Linux, .
  • , — , .
  • , — Python Go, (- ), .
  • — , .

Il n'est pas nécessaire de bien connaître tout ce qui précède; un niveau minimum de formation est suffisant pour commencer à apprendre le DevOps. S'il existe une telle formation technique, essayez de vous inscrire aux cours.

Ce que DevOps devrait savoir


Un bon ingénieur DevOps est un spécialiste pluridisciplinaire aux horizons très larges. Pour un travail réussi, vous devrez comprendre plusieurs directions informatiques à la fois.

Développement


DevOps écrira un script qui aidera les développeurs à installer du code sur le serveur. Fera un programme qui "à la volée" teste la réactivité des bases de données. Écrira une application pour le contrôle de version. Enfin, il remarquera simplement un problème de développement potentiel qui pourrait apparaître sur le serveur.

Un solide spécialiste DevOps connaît plusieurs langages adaptés à l'automatisation. Il ne les comprend pas complètement, mais va rapidement écrire un petit programme ou lire le code de quelqu'un d'autre. Si vous n'avez jamais rencontré de développement auparavant, commencez par Python - il a une syntaxe simple, il est facile de travailler avec des technologies cloud, il y a beaucoup de documentation et de bibliothèques.

Systèmes d'exploitation


Il est impossible de connaître toutes les fonctionnalités de chaque version de chaque système - des milliers d'heures peuvent être consacrées à une telle formation et cela n'aura aucun sens. Au lieu de cela, un bon DevOps comprend les principes généraux du travail sur n'importe quel système d'exploitation. Bien que, à en juger par les mentions dans les postes vacants, la plupart travaillent maintenant sur Linux.

Un bon ingénieur comprend dans quel système il est préférable de déployer un projet, quels outils utiliser et quelles erreurs potentielles peuvent apparaître lors de la mise en œuvre ou du fonctionnement.

Les nuages


Le marché des technologies cloud croît en moyenne de 20 à 25% par an - cette infrastructure vous permet d'automatiser les tests de code, de créer des applications à partir de composants et de fournir des mises à jour aux utilisateurs. Good DevOps comprend les solutions entièrement nuageuses et hybrides.

Les exigences standard pour les ingénieurs incluent généralement GCP, AWS et Azure.

Cela inclut la propriété des outils CI / CD. Jenkins est généralement utilisé pour une intégration continue, mais les analogues valent la peine d'être essayés. Il y en a beaucoup, par exemple Buddy, TeamCity et Gitlab CI. Nous étudierons Terraform comme un outil déclaratif qui permet de soulever et de configurer à distance l'infrastructure dans les nuages. Et Packer, qui est nécessaire pour créer automatiquement des images de système d'exploitation .

Systèmes d'orchestration et microservices


L'architecture de microservice présente de nombreux avantages: stabilité, capacité à évoluer rapidement, à simplifier et à réutiliser. DevOps comprend le fonctionnement des microservices et peut prévenir les problèmes potentiels.

Connaît parfaitement Docker et Kubernetes. Il comprend comment fonctionnent les conteneurs, comment construire un système afin que vous puissiez en désactiver certains sans conséquences pour le système dans son ensemble. Par exemple, il peut créer un cluster Kubernetes à l'aide d'Ansible

Quoi d'autre à essayer pour les futurs DevOps


La liste des outils pouvant être utiles à l'ingénieur DevOps est infinie. Quelqu'un travaille sur l'orchestration de projets, d'autres passent la plupart de leur temps à automatiser le déploiement et les tests, tandis que d'autres augmentent l'efficacité de la gestion de la configuration. Dans le processus, il sera clair où creuser et quels projets seront utiles.

Voici un autre petit minimum qui vous aidera au début:

  • Comprenez comment Git et Github fonctionnent si vous ne les avez jamais rencontrés auparavant. Installez GitLab sur votre serveur.
  • Apprenez à connaître les langages de balisage JSON et YAML.
  • Installez et essayez de travailler dans des bases de données - non seulement dans MySQL, mais aussi NoSQL. Essayez MongoDB.
  • Comprendre comment gérer la configuration de plusieurs serveurs à la fois. Par exemple, en utilisant Ansible.
  • Configurez immédiatement la surveillance de la charge et les journaux. Essayez un tas de Prométhée, Grafana, Alertmanager.
  • Recherchez les meilleures solutions de déploiement pour différentes langues - apprenez simplement à vous connaître, à mettre en œuvre et à comprendre une formation ou un projet de travail.

Pourquoi vous devriez commencer à apprendre DevOps maintenant


Sur le marché des ingénieurs DevOps, il y a une pénurie de personnel. Ceci est conditionnellement confirmé par la quantité et la qualité des postes vacants:

  • En Russie, sur HeadHunter uniquement, plus de 2 000 emplois pour ce mot-clé sont constamment disponibles.
  • Et seulement 1 900 personnes ont publié un curriculum vitae.

Considérant que la publication d'un CV ne signifie pas une recherche d'emploi active, il s'avère qu'il y a deux ou même trois postes vacants par spécialiste - cette situation n'existe pas même sur le marché populaire du développement Web. Ajoutez ici plus de postes vacants de Habr et des chaînes Telegram - la pénurie de spécialistes est énorme.


Faites attention aux exigences salariales des candidats.

DevOps n'est pas moins demandé dans le monde - si vous allez déménager aux États-Unis ou en Europe, alors seulement sur le portail Glassdoor, plus de 34 000 entreprises recherchent de tels spécialistes. Parmi les exigences fréquentes - l'expérience de 1 à 3 ans, la capacité de travailler avec les «nuages» et de ne pas avoir peur de consulter des fonctions.

Il y a plusieurs fois moins d'offres sur freelance - les ingénieurs DevOps recherchent principalement du personnel à temps plein et à temps plein.


Trouver un projet indépendant convenable est difficile, mais vous

pouvez imaginer le cheminement de carrière conditionnel d'un ingénieur DevOps comme suit:

  • Pendant six mois, il travaille en tant qu'administrateur système dans une petite entreprise informatique. En parallèle, apprendre une langue adaptée à l'automatisation.
  • Il étudie intensivement en cours, environ six mois.
  • Passage à un autre emploi - à une entreprise qui vend des solutions cloud, une branche d'une grande entreprise, aux développeurs de grands projets. Autrement dit, là où il y a un besoin d'automatisation et de mise en œuvre continues. À la position initiale, cela représente environ 100 000 roubles.
  • Il travaille et étudie activement depuis plusieurs années, augmentant ses revenus à plusieurs reprises.
  • Devient un expert du milieu professionnel et se lance dans le conseil. Ou devenir un architecte de systèmes ou un directeur informatique.

DevOps — . . , , IT- - . , .

DevOps


Le salaire médian moyen selon les données du deuxième trimestre de 2019 pour les devops est dans une fourchette entre 90 et 160 mille roubles. Il existe des offres moins chères - principalement 60 à 70 000.

Il y a constamment jusqu'à 200 000 offres, il y a des postes vacants avec un salaire allant jusqu'à 330 000 roubles.


Parmi les professionnels de l'exploitation, DevOps est mieux payé que les autres. Source: Haber . Les

ingénieurs de Career DevOps, y compris les débutants, sont désormais requis dans les grandes banques, les entreprises, les services cloud, les systèmes de trading et autres organisations soucieuses de maintenir leurs solutions informatiques.

Un excellent candidat pour un poste vacant avec un salaire de 60 à 90 000 sera un administrateur système novice avec une expérience d'environ un an et un diplôme de profil.
 

Il n'y a pas de telles statistiques, mais on a l'impression que les gens qui ont de l'expérience avec Linux sont mieux payés

Que regarder et lire pour la croissance de la profession


Pour vous immerger dans le monde de DevOps, essayez plusieurs sources d'informations à la fois:


Où étudier à DevOps


Vous pouvez acquérir des connaissances structurées sur le cours " DevOps-engineer " en Netologie. Vous apprendrez le cycle complet de la méthodologie:

  • Apprenez à analyser le code et à utiliser rapidement les outils de contrôle de version.
  • Comprendre les meilleures pratiques d'intégration, de test et d'assemblage en continu.
  • Apprenez à gérer les modifications dans les applications et à les automatiser.
  • En pratique, découvrez les outils de configuration et de gestion.
  • Habituez-vous à sélectionner et configurer immédiatement les services nécessaires à la surveillance.

Obtenez un cours de programmation Python en bonus - vous résoudrez les problèmes encore plus rapidement et plus facilement. Tout en pratique - nous utilisons AWS, GCP ou Azure.
Cela suffit pour passer d'un ingénieur débutant ou administrateur système à un DevOps populaire et augmenter agréablement votre prix sur le marché du travail.


All Articles