Dans cet article,
Alexandra Romanenko, qui collabore avec EPAM en tant qu'ingénieur logiciel en chef, partage son point de vue sur la reconversion et explique ce qu'il faut rechercher si vous souhaitez devenir un spécialiste DevOps.

Source de la photo: pexels.com
Mon histoire
Je suis tombé sur la spécialité DevOps tout en étant développeur tout en travaillant sur un projet utilisant des technologies sans serveur. Dans les projets Java classiques, les rôles de testeur, de développeur et de DevOps sont clairement définis, et les systèmes sans serveur sont fondamentalement différents. Ce nouveau sujet intéressant a «alimenté» ma curiosité professionnelle, j'ai commencé à me plonger dans le projet, à l'étudier, pas seulement dans mon domaine de travail. J'ai ensuite commencé à préparer des rapports sur le thème des services Amazon sans serveur et à leur parler lors des réunions DevOps. Dans mon poste actuel, j'étais parfaitement adapté aux compétences et il y avait une réorientation.
D'où viennent les spécialistes DevOps?
Mon expérience montre que dans DevOps, en règle générale, ils proviennent des
administrateurs système et, moins souvent, des
développeurs. Pour être un «pont» fiable entre le processus de développement et les activités opérationnelles, vous devez avoir des connaissances dans les deux domaines. Dans la pratique, cela est extrêmement rare, car dans le processus, les collègues doivent partager leurs expériences. Par exemple, je manquais de connaissances dans le domaine de l'ingénierie système. Je n'ai pas étudié les disciplines nécessaires à l'université et ne les ai pas rencontrées dans la pratique. Combler les lacunes a aidé des collègues ayant une expérience dans l'administration de réseau, avec qui j'ai à mon tour partagé mes connaissances. Dans une bonne équipe, la symbiose et l'entraide règnent toujours, sinon - pas du tout.
À mon avis, il est plus facile pour les spécialistes ayant une formation de développeur de se familiariser avec DevOps pour deux raisons:
- Ils sont plus conscients des demandes des équipes de développement et de test, ils "parlent le même langage ".
- Les programmeurs sont habitués à la complexité structurelle . Ils développent la dextérité en travaillant avec de grandes quantités de données, des milliers de fichiers et de dossiers. Tout projet, dans n'importe quel langage de programmation, est plus compliqué que le code avec lequel DevOps traite, donc, comme on dit, ils n'y sont pas habitués. Mais les collègues sans compétences de développement ont un peu plus compliqué.
Certes, la médaille a un autre côté. Si, par exemple, l'un des outils dont DevOps a besoin ne fonctionne pas correctement, les autres administrateurs système ne peuvent qu'exprimer haut et fort leur mécontentement. En même temps, en tant que développeur, j'ajoute du travail à moi-même: je cherche une erreur dans le code et j'essaye même de corriger le bug. Mais cela n'est possible que si l'instrument est écrit dans une langue que je parle, sinon, il y aura une amère déception. Un de mes rapports s'intitule «Pourquoi je déteste Terraform»: d'abord parce qu'il se casse souvent à cause de bugs. Mais le fait qu'il soit écrit en GO, que je ne possède pas et ne peut donc pas corriger les bugs, n'aide pas non plus
Sources de connaissances
Je suis favorable à ne pas suivre les autres aveuglément, mais à faire mon chemin. Par conséquent, je vous conseille d'utiliser les opportunités qui se présentent et de vous développer à un rythme qui vous convient.
- Commencez avec votre projet. Il y a sûrement un spécialiste DevOps sur votre projet. Analysez ce qu'il fait, quelles compétences il utilise. Si vous avez des questions, posez-les directement. Votre tâche consiste à devenir DevOps sur votre projet. Il est toujours plus facile de se recycler dans un environnement familier que de trouver un nouvel emploi dans un rôle différent. Vous connaissez les tâches de votre projet, vous connaissez l'équipe, des conditions confortables. Il sera plus facile de s'adapter à la méconnaissance des nouvelles compétences.
- Réunions en face à face, conférences, mitaps. Si votre projet n'a pas de spécialiste DevOps, les événements professionnels sont une excellente solution. Lors de ces conférences et réunions, vous avez accès à la pratique. Les développeurs peuvent poser des questions et demander conseil. Et les sujets des rapports vous diront ce qui est maintenant pertinent dans cette profession.
- Travaillez avec la documentation officielle. Je ne suis pas fan des cours en ligne et des tutoriels vidéo. Toutes les informations nécessaires sont contenues dans la documentation officielle. Souvent, les gens rencontrent un problème, recherchez la solution sur Google, copiez et collez le code ou le script à partir de la réponse la plus «réfléchie» du forum. Globalement, cela ne résout pas le problème. Une personne ne comprend toujours pas ce qui fonctionne ou pourquoi cela ne fonctionne toujours pas. De plus, vous pouvez rechercher une solution et créer encore plus de problèmes.
Mon ami a acheté un macbook. Quelque chose a mal tourné avec lui, elle a décidé de «demander» à Internet une issue. Sur l'un des forums, j'ai trouvé la réponse la plus «plausible» et j'ai décidé de l'utiliser. Comme elle l'a découvert plus tard, les amoureux du sarcasme ont voté pour ce commentaire. Dans la réponse sur le forum, il était écrit: "Exécutez" sudo rm -rf "sur la ligne de commande." En conséquence, d'un seul coup, elle a tout pris pour elle sur un nouvel ordinateur. Si elle vérifiait la tâche de ce code avant de l'utiliser, les problèmes auraient pu être évités.
Il vaut mieux passer 3 heures pour comprendre comment fonctionne un code ou un script, que 5 minutes pour copier la réponse de quelqu'un d'autre sur Internet et 3 jours pour démonter pourquoi quelque chose s'est cassé.Caractéristiques clés de DevOps
- Persévérance. Vous devez être préparé au fait que beaucoup de choses ne fonctionneront pas, non seulement la première fois, mais aussi la deuxième, voire la troisième. Mais vous ne pouvez pas quitter ce que vous avez commencé à mi-chemin. Par conséquent, les gens qui sont minutieux et qui travaillent dur ne conviennent pas au personnage, ce sera très difficile.
- Souci du détail. Inattentive DevOps est comme un éléphant dans un magasin de porcelaine. Une action imprudente entraînera des dommages importants. Vous pouvez infliger des pertes énormes aux entreprises en cliquant accidentellement sur le mauvais bouton.
- Pensée analytique: certains DevOps pensent qu'ils sont sur le chemin de la moindre résistance, essayant de trouver des exemples prêts à l'emploi et de les appliquer dans leur projet au lieu d'étudier la documentation technique. En fait, ils développent une mauvaise habitude et se retrouvent dans une impasse. Eh bien, si l'exemple trouvé fonctionne, mais sinon, la personne perd du temps lors de la prochaine recherche. Rappelez-vous la citation du dessin animé «Ailes, jambes et queues»: «Il vaut mieux passer une journée, mais voler ensuite en 5 minutes»? Je vous conseille de lire la documentation, qui décrit clairement le principe de fonctionnement d'un outil. Il vous permet au départ d'organiser et de démarrer correctement le processus. Prenons un exemple de bons développeurs: ils étudient une question, analysent, réfléchissent, puis écrivent.
- Multitâche . Les spécialistes DevOps doivent combiner support et développement. D'une part, j'aide constamment l'équipe en termes de support. Quelque chose se casse, ne fonctionne pas, quelque chose manque, quelque chose doit être changé, ajouté, expliqué. En même temps, il y a une activité de fond constante sur la programmation. Bien sûr, le développement est toujours plus facile lorsque personne ne tire au moins quelques heures. En tant que DevOps, j'ai dû accepter le fait que quelqu'un a besoin de mon aide tout le temps. Vous devez vous habituer à effectuer plusieurs tâches en parallèle, à basculer et à vous adapter rapidement.
Vous développerez automatiquement ces compétences. Engagez-les tous les jours. L'essentiel est de se préparer et de savoir ce qui vous attend.
Mon approche du recyclage
L'intérêt est une condition préalable à un changement de spécialisation. C'est lui qui encourage l'étude de domaines connexes. Pour le développement professionnel, il est extrêmement important d'étudier non seulement les sujets de votre profil dans lesquels vous avez déjà de l'expérience, mais également de vous familiariser avec des directions complètement nouvelles, si elles vous inspirent. L'un d'entre eux déterminera peut-être le vecteur de la poursuite de l'évolution de carrière.
Vous devez essayer différentes choses. "La folie de faire la même chose, en espérant obtenir des résultats différents" - J'aime vraiment cette expression.
Les professionnels qui veulent être «sur la crête d'une vague», travailler avec des technologies avancées, gagner plus d'argent, ne peuvent pas s'arrêter une seconde. Il est important pour eux de suivre les tendances quotidiennement, de s'intéresser aux nouveaux projets de l'entreprise et de suivre les tendances actuelles.
Mais personnellement, j'ai une approche plus romantique de la mise en œuvre professionnelle: j'aime profiter de mon travail préféré calmement, affiner mes compétences, si vous voulez `` suivre le courant '' et me forcer à me réorienter vers quelque chose de nouveau uniquement parce qu'il est populaire, pas mon style.