Qui est ingénieur DevOps, que fait-il, combien gagne-t-il 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'assurance qualité et les responsables. Ils savent programmer, maîtrisent rapidement des outils complexes et ne sont pas démunis face à une tâche qui ne leur est pas familière. Il y a peu d'ingénieurs DevOps - ils sont prêts à les payer entre 200 300 et XNUMX XNUMX roubles, mais il y a encore beaucoup de postes vacants.

Dmitry Kuzmin explique ce que fait exactement DevOps et ce que vous devez étudier pour postuler à un tel poste. Bonus : liens importants vers des livres, des vidéos, des chaînes et la communauté professionnelle.

Que fait un ingénieur DevOps ?

Dans une situation 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.

Ainsi, un ingénieur DevOps est un spécialiste qui met en œuvre cette méthodologie dans le processus de travail :

  • Au stade de la planification, un ingénieur DevOps aide à décider quelle architecture l'application utilisera, comment elle évoluera et à choisir un système d'orchestration.
  • Ensuite, il met en place des serveurs, vérifie et télécharge automatiquement le code et vérifie l'environnement.
  • Ensuite, il automatise les tests et résout les problèmes de déploiement.
  • Après la sortie, il est important de recueillir les commentaires des utilisateurs et de mettre en œuvre des améliorations. DevOps s'assure que les utilisateurs ne remarquent pas ces améliorations et le processus de mise à jour est continu.
  • Et en même temps, il résout des dizaines de problèmes qui contribuent à améliorer le système de travail des développeurs, du contrôle qualité, des administrateurs système et des gestionnaires.

Tout ce qui est écrit ci-dessus se produit dans des projets proches de l'idéal. Dans le monde réel, vous devez démarrer un projet où la planification a été manquée, l'architecture était mauvaise et vous avez commencé à penser à l'automatisation lorsque tous les projets se sont arrêtés. Et comprendre tous ces problèmes, les résoudre et faire en sorte que tout fonctionne est une compétence clé d'un spécialiste DevOps.

Il existe une certaine confusion sur le marché des talents. Parfois, une entreprise recherche des ingénieurs DevOps pour le poste d'ingénieur système, d'ingénieur de construction ou pour quelqu'un d'autre. Les responsabilités changent également en fonction de la taille et de l'orientation de l'entreprise - quelque part, ils recherchent une personne à consulter, quelque part on leur demande de tout automatiser et quelque part, ils doivent exécuter les fonctions avancées d'un administrateur système qui sait programmer.

Ce dont vous avez besoin pour débuter dans la profession

L’entrée dans la profession nécessite une préparation préalable. Vous ne pourrez pas simplement suivre des cours à partir de zéro, sans rien comprendre à l’informatique, et apprendre jusqu’au niveau junior. Formation technique requise :

  • Idéal si vous travaillez pendant six mois ou plus en tant qu'administrateur système, spécialiste des opérations ou des tests. Ou du moins, ayez une idée de la façon dont les applications démarrent, dans quel environnement elles peuvent se développer et que faire si vous voyez une erreur. Si vous n'avez aucune expérience professionnelle, suivez n'importe quel cours sur l'administration Linux, en répétant tout ce qui se passe sur votre ordinateur personnel.
  • Comprenez le fonctionnement des technologies de réseau : apprenez à installer, configurer et gérer des réseaux locaux et étendus.
  • Découvrez comment et ce que fonctionne la programmation - écrivez quelques scripts en Python ou Go, essayez de comprendre les principes de la POO (programmation orientée objet), lisez le cycle général de développement de produits.
  • La connaissance de l'anglais technique sera utile - il n'est pas nécessaire de communiquer sur des sujets libres, il suffit de pouvoir lire la documentation et les interfaces.

Il n’est pas nécessaire de connaître tout ce qui est listé en détail ; pour commencer à apprendre le DevOps, un niveau minimum de formation suffit. Si vous possédez une telle formation technique, essayez de vous inscrire à des cours.

Ce que DevOps devrait savoir

Un bon ingénieur DevOps est un spécialiste multidisciplinaire avec une vision très large. Pour travailler avec succès, vous devrez comprendre plusieurs domaines informatiques à la fois.

Développement

DevOps écrira un script qui aidera les développeurs à installer le code sur le serveur. Créera un programme qui teste la réactivité des bases de données « à la volée ». Écrira une application pour le contrôle de version. Enfin, remarquez simplement un potentiel problème de développement qui peut 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 il peut 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 les technologies cloud et il existe de nombreuses documentations et bibliothèques.

Systèmes d'exploitation

Il est impossible de connaître toutes les capacités de chaque version de chaque système – vous pourriez consacrer des milliers d’heures à une telle formation et cela ne servirait à rien. Au lieu de cela, un bon DevOps comprend les principes généraux du travail sur n'importe quel système d'exploitation. Cependant, à en juger par les mentions dans les postes vacants, la majorité travaille désormais sous 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 de l'exploitation.

Les nuages

Marché des technologies cloud est en croissance en moyenne de 20 à 25 % par an - une telle infrastructure vous permet d'automatiser les opérations de test du code, d'assembler des applications à partir de composants et de fournir des mises à jour aux utilisateurs. Un bon DevOps comprend à la fois les solutions entièrement cloud et hybrides.

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

Cela inclut la maîtrise des outils CI/CD. Généralement, Jenkins est utilisé pour l'intégration continue, mais les analogues valent la peine d'être essayés. Il en existe de nombreux, par exemple Buddy, TeamCity et Gitlab CI. Il sera utile d'étudier Terraform - c'est un outil déclaratif qui vous aide à installer et configurer à distance une infrastructure dans les nuages. ET Packer, nécessaire pour créer automatiquement des images du système d'exploitation.

Systèmes d'orchestration et microservices

L'architecture des microservices présente de nombreux avantages : stabilité, capacité d'évolutivité rapide, simplification et réutilisation. DevOps comprend le fonctionnement des microservices et peut anticiper les problèmes potentiels.

Connaît parfaitement Docker et Kubernetes. Comprend comment fonctionnent les conteneurs, comment construire un système afin que vous puissiez désactiver certains d'entre eux sans conséquences sur l'ensemble du système. Par exemple, il peut créer un cluster Kubernetes en utilisant Ansible

Que devrait essayer d’autre le futur DevOps ?

La liste des outils qui peuvent être utiles à un ingénieur DevOps est infinie. Certains travaillent sur l'orchestration de projets, d'autres passent la plupart de leur temps à automatiser le déploiement et les tests, et d'autres encore améliorent l'efficacité de la gestion de la configuration. Ce faisant, il deviendra clair où creuser et quels projets seront utiles.

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

  • Comprenez comment fonctionnent Git et Github si vous ne l'avez pas déjà fait. Installez GitLab sur votre serveur.
  • Familiarisez-vous avec les langages de balisage JSON et YAML.
  • Installez et essayez de travailler dans des bases de données - non seulement 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 la combinaison Prometheus, Grafana, Alertmanager.
  • Recherchez les meilleures solutions de déploiement pour différentes langues - il vous suffit de les connaître, de les mettre en œuvre et de les comprendre dans le cadre d'une formation ou d'un projet de travail.

Pourquoi devriez-vous commencer à apprendre DevOps maintenant

Il existe une pénurie de personnel sur le marché pour les ingénieurs DevOps. Ceci est confirmé conditionnellement par la quantité et la qualité des postes vacants :

  • En Russie, rien que sur HeadHunter, plus de 2 XNUMX emplois sont constamment disponibles pour ce mot-clé.
  • Et seulement 1 900 personnes ont posté leur curriculum vitae.

Considérant que publier un CV ne signifie pas rechercher activement un emploi, il s'avère que pour un spécialiste, il y a deux, voire trois postes vacants - cette situation n'existe même pas sur le marché populaire du développement Web. Ajoutez ici d'autres postes vacants sur les chaînes Habr et Telegram - le manque de spécialistes est énorme.

Qui est ingénieur DevOps, que fait-il, combien gagne-t-il et comment le devenir
Soyez attentif aux exigences salariales des candidats

DevOps n'est pas moins demandé dans le monde - si vous envisagez de déménager aux États-Unis ou en Europe, alors uniquement sur le portail Glassdoor Plus de 34 1 entreprises recherchent de tels spécialistes. Les exigences fréquentes incluent 3 à XNUMX ans d'expérience, la capacité de travailler avec les cloud et ne pas avoir peur des fonctions de conseil.

Il y a beaucoup moins d'offres de travail indépendant - les ingénieurs DevOps recherchent principalement du personnel et des postes à temps plein.

Qui est ingénieur DevOps, que fait-il, combien gagne-t-il et comment le devenir
Trouver un projet indépendant adapté est difficile, mais c'est possible

Le parcours professionnel conventionnel d’un ingénieur DevOps peut être imaginé à peu près comme ceci :

  • Il travaille depuis six mois à un an comme administrateur système dans une petite entreprise informatique. Parallèlement, il étudie un langage adapté à l'automatisation.
  • Il étudie intensivement pendant environ six mois.
  • Passe à un autre emploi - dans une entreprise qui vend des solutions cloud, une branche d'une grande entreprise, aux développeurs de grands projets. En termes simples, là où une automatisation et une mise en œuvre constantes sont nécessaires. Au départ, il s'agit d'environ 100 XNUMX roubles.
  • Il travaille et étudie activement depuis plusieurs années, augmentant plusieurs fois ses revenus.
  • Devient un expert du milieu professionnel et s'oriente vers le conseil. Ou devient architecte système ou directeur informatique.

DevOps est difficile. Il faut combiner les compétences de plusieurs métiers à la fois. Devenez une personne prête à proposer des améliorations là où les autres informaticiens ne pensent même pas à autre chose. Ils paient cher pour cela, mais cela nécessite également une grande quantité de connaissances.

Combien gagnent les DevOps ?

Selon les données du deuxième trimestre 2019, le salaire médian moyen des développeurs se situe entre 90 160 et 60 70 roubles. Il existe des offres moins chères - pour la plupart XNUMX à XNUMX XNUMX.

Il y a constamment des offres allant jusqu'à 200 330 roubles et des postes vacants avec des salaires allant jusqu'à XNUMX XNUMX roubles.

Qui est ingénieur DevOps, que fait-il, combien gagne-t-il et comment le devenir
Parmi les professionnels des opérations, DevOps est mieux payé que les autres. Source: Habr.Carrière

Les ingénieurs DevOps, y compris les débutants, sont désormais nécessaires dans les grandes banques, les entreprises, les services cloud, les systèmes commerciaux et autres organisations soucieuses de la maintenance de leurs solutions informatiques.

Un excellent candidat pour un poste vacant junior avec un salaire de 60 90 à XNUMX XNUMX serait un administrateur système débutant avec environ un an d'expérience et un diplôme spécialisé.
 
Qui est ingénieur DevOps, que fait-il, combien gagne-t-il et comment le devenir
Il n'existe pas de telles statistiques, mais il semble que les personnes ayant de l'expérience avec Linux soient mieux payées.

Que regarder et lire pour évoluer dans votre métier

Pour plonger dans le monde du DevOps, essayez plusieurs sources d’informations :

  • Fondation Cloud Native Computing [YouTube, ENG] - de nombreuses vidéos de conférences et de webinaires éducatifs.
  • Canal DevOps [YouTube, RUS] - reportages vidéo de la conférence professionnelle DevOps en Russie.
  • Le manuel DevOps [livre, RUS] est l'un des livres les plus populaires sur la philosophie DevOps. Le livre contient les principes généraux de la méthodologie, il indique à quoi il faut prêter attention en premier lorsque l'on travaille sur un projet.
  • Thomas Limoncelli "La pratique de l'administration système et réseau" [livre, RUS] - beaucoup de théorie et de principes sur la manière dont l'administration système doit être structurée.
  • Devops hebdomadaire [livre, ENG] - une revue hebdomadaire de l'actualité sur ce qui se passe dans le DevOps dans le monde.
  • Devops_deflope [Telegram, RUS] - actualités de l'industrie, annonces de conférences, liens vers de nouveaux articles et livres intéressants.
  • Devops_ru [Telegram, RUS] - Chat en russe où vous pouvez demander des conseils et demander de l'aide pour les configurations.
  • Devops.com est un grand site international proposant des articles, des webinaires, des podcasts et des chroniques des plus grandes entreprises du secteur.
  • Hangops_Ru — Communauté russophone d'ingénieurs et sympathisants DevOps.
  • Les meilleurs livres pour le langage que vous utiliserez pour le développement.

Où étudier le DevOps

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

  • Apprenez à analyser le code et à utiliser rapidement les outils de contrôle de version.
  • Comprendre les meilleures pratiques pour l'intégration, les tests et la création continus.
  • Apprenez à gérer et automatiser les modifications des applications.
  • Familiarisez-vous avec les outils de configuration et de gestion.
  • Habituez-vous à sélectionner et configurer immédiatement les services nécessaires à la surveillance.

Bénéficiez d'un cours de programmation Python en bonus : vous résoudrez les problèmes encore plus rapidement et plus facilement. Tout est pratique : nous utilisons AWS, GCP ou Azure.
Cela suffit pour transformer un ingénieur ou un administrateur système novice en un DevOps recherché et augmenter agréablement votre prix sur le marché du travail.

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

Source: habr.com

Ajouter un commentaire