Bonjour Ă tous, mes chers lecteurs !
Aujourd'hui, je souhaite partager mes rĂ©flexions sur un sujet qui me tient Ă cĆur depuis longtemps et peut-ĂȘtre en discuter dans les commentaires.
Il m'arrive assez souvent de tomber sur des articles concernant les mauvaises pratiques d'entretien pour le poste de programmeur, qui, à mon avis, sont assez pertinentes et, je l'espÚre, lisibles par les départements RH des grandes entreprises comme des moyennes.
Dans notre région, autant que je puisse en juger, il existe une demande pour des entités aussi intéressantes que les ingénieurs DevOps. Je fais partie de ceux qui n'acceptent pas trÚs bien cette terminologie (oui, oui, la méthodologie DevOps, etc.), donc je perçois certaines différences dans les parcours professionnels de ce groupe de spécialistes.
Avant tout, je crois fermement que chaque personne a son propre cercle d'intĂ©rĂȘts, mĂȘme dans le domaine professionnel, c'est-Ă -dire que certains prĂ©fĂšrent le cloud, d'autres aiment plonger en profondeur dans les serveurs d'applications, configurer en dĂ©tail Java, et certains prĂ©fĂšrent coder en Python ou, Dieu nous prĂ©serve, en YAML. Ainsi, apparaissent ce qu'on appelle des ingĂ©nieurs d'infrastructure, des ingĂ©nieurs de build, des dĂ©veloppeurs YAML seniors đ.
Tout cela permet, d'une part, de trouver une personne qui correspond au mieux à votre ensemble de tùches, mais, d'autre part, crée une incompréhension lors des entretiens.
En me basant sur mon expérience personnelle, ayant passé un certain nombre d'entretiens, et également participé à divers occasions en tant que répondant, je souhaite partager mon point de vue sur tout cela.
Le premier et probablement mon anti-pattern prĂ©fĂ©rĂ© â le dĂ©sir de vouloir quelqu'un qui fasse tout, ou de ne pas savoir qui est rĂ©ellement nĂ©cessaire, regardons un tas de candidats, puis nous comprendrons. Cela s'applique sĂ»rement Ă tous les domaines, mais il y a des particularitĂ©s ici.
Comme je l'ai remarquĂ©, les gens sont plus attirĂ©s par les offres d'emploi contenant le mot DevOps que par celles de System Administrator, mĂȘme si, Ă mon avis, au niveau senior, les domaines de responsabilitĂ© diffĂšrent considĂ©rablement entre ces deux champs.
Tout employeur qui a réellement besoin d'un administrateur systÚme écrit dans le titre de l'offre DevOps, énumérant dans le corps de la demande absolument tout, K8S/Java/gradle/oracleDB, etc., alors qu'en réalité, la personne devra s'occuper de la maintenance du cluster K8S et du support de la pile OracleDB, séparément de l'équipe.
Alors, quel type d'interaction y a-t-il entre les développeurs et les opérations ?
Il s'avÚre ensuite qu'il n'existe pas de processus d'interaction avec l'équipe et qu'en général, il n'y a pas de département dedicated aux opérations, et vous devrez également configurer les ordinateurs des développeurs.
Cette option convient en rĂ©alitĂ© Ă une partie des candidats, mais soyons honnĂȘtes, c'est un poste de Senior System Administrator, alors pourquoi ne pas le rĂ©diger ainsi et qu'est-ce qui est honteux lĂ -dedans ? La diffĂ©rence de salaire entre les diffĂ©rents intitulĂ©s ? Mais le budget de l'entreprise est le mĂȘme, et peu importe comment on nomme le navire, il naviguera avec son budget.
J'ai aussi entendu dire que de nos jours, le candidat automatise tout rapidement et intĂšgre le dĂ©veloppement de produit en Python, peu importe, c'est toujours le mĂȘme Python. La diffĂ©rence de mentalitĂ© et d'approches n'est pas prise en compte.
De plus, je différencie généralement le niveau des spécialistes qui viennent et pour chacun je vois mes propres difficultés.
Junior â pour moi, un Junior DevOps est une personne qui a maĂźtrisĂ© le sysadmin / le dĂ©veloppement Ă un niveau intermĂ©diaire. Ici, il est agrĂ©able de diffĂ©rencier les bons utilisateurs de Linux qui souhaitent Ă©voluer dans un nouveau domaine, ou les dĂ©veloppeurs qui ont envie de bien faire pour d'autres dĂ©veloppeurs. De solides compĂ©tences, avec certaines compĂ©tences en dĂ©bogage, en recherche de logs, ou ayant quelques projets codĂ©s en rĂ©serve.
J'ai rencontrĂ© des sysadmins qui ont essayĂ© quelque chose et veulent toucher aux nuages, ainsi que ceux qui ont essayĂ© le front, le back et pour une raison quelconque ont trouvĂ© de l'intĂ©rĂȘt dans les processus DevOps.
Ă ce niveau, je suis toujours dĂ©rangĂ© quand on me parle d'une vaste pile de technologies, Puppet, Ansible â pourquoi n'a-t-il pas tout essayĂ© ? K8S, K3S â quelle est la diffĂ©rence ? Combien de types de bases de donnĂ©es connais-tu ? Pourquoi si peu ? Comment fonctionne le chiffrement en Java ? Surtout pour ceux qui viennent du dĂ©veloppement, bien que ce soient des profils trĂšs utiles, il y a toujours du travail dans ce domaine pour eux.
Je suis toujours stupĂ©fait quand cela arrive, la premiĂšre question qui me vient Ă l'esprit est â pourquoi ??? La seconde â est-ce que l'intervieweur est prĂȘt Ă rĂ©pondre Ă des questions sur une telle diversitĂ© de technologies ? Ne veulent-ils vraiment recruter un junior et lui confier tout ?
Cela arrive souvent dans divers bodys shops, quand il faut vendre quelqu'un pour un projet et qu'il faut plus de mots impressionnants pour le CV ou l'entreprise ne veut tout simplement personne, mais regarde juste quels juniors existent.
Niveau Middle
Il y a plusieurs extrĂȘmes Ă mon avis. D'une part, il est difficile de dĂ©finir clairement ce qui pousse une personne vers un niveau intermĂ©diaire. On essaie soit de la rĂ©trograder au niveau junior, soit de la traiter comme un senior, essayant de tirer profit d'un senior au prix d'un intermĂ©diaire (eh oui, le marchĂ© dĂ©cide, rien de personnel).
Ce qui m'étonne le plus, c'est de plonger profondément dans le code, de jongler avec Python, de malmener le GC de Java, c'est-à -dire des sujets déjà plus spécialisés, ou au contraire, de combler les lacunes dans des connaissances longtemps délaissées, de passer en revue les réseaux, les types de pilotes OS, en souriant et en se moquant de comment une personne a pu oublier cela. Et là , la partie la plus intéressante commence !
En ce qui concerne le niveau intermĂ©diaire, Ă mon avis, un spĂ©cialiste dĂ©veloppe un cercle d'intĂ©rĂȘts et une vision personnelle de ce avec quoi il veut travailler : surfer sur la derniĂšre tendance technologique en intĂ©grant un petit coup de pouce, ou s'Ă©lever pour un terrible projet d'entreprise, plongeant dans la performance du code.
Il serait dĂ©jĂ judicieux de l'interroger sur les processus auxquels la personne a participĂ©, de connaĂźtre ce qui a suscitĂ© le plus d'intĂ©rĂȘt et ce qui ne l'a pas Ă©tĂ©, puis de construire un cluster de questions basĂ© sur ces informations, en mappant systĂ©matiquement les questions Ă notre pile. Autrement, aprĂšs une conversation captivante d'une Ă deux heures sur la configuration d'un cluster OpenShift, recruter une personne et la faire construire un monitoring pourrait plaire aux deux parties.
Niveau Senior
Oh, mon niveau préféré.
Voici un spécialiste aguerri, qui a cultivé ses compétences sur divers projets, une personne qui sait déjà ce qu'elle veut et ce qui ne l'intéresse pas vraiment.
Et voici que commence le spectacle :
â questions approfondies sur l'administration systĂšme (voir le premier anti-modĂšle)
â questions dĂ©taillĂ©es sur Linux, tirĂ©es de thĂ©ories Ă©loignĂ©es des connaissances pratiques (la question phare des niveaux OSI)
â questions acadĂ©miques sur le codage (parce que l'intervieweur lui-mĂȘme ne connaĂźt pas bien le domaine, on lui a simplement demandĂ© d'interviewer un DevOps un peu Ă©trange)
Je ferai ici une petite remarque. Une fois, lors d'un entretien, on m'a demandé d'écrire un morceau de code. Sur un morceau de papier. Comme tout le monde aime, on écrit chaque jour, un morceau de papier, c'est notre tout.
AprÚs avoir terminé la tùche, aprÚs avoir consulté ma feuille et trouvé une solution, le verdict a été rendu que l'algorithme serait sous-optimal. J'ai proposé que l'intervieweur écrive son propre algorithme, à quoi j'ai reçu la réponse : « Ce n'est pas dans le cadre de l'entretien ». J'ai demandé une minute, j'ai modifié un peu le code et j'ai montré, demandant si c'était plus rapide ou plus lent ? à quoi j'ai reçu la réponse de passer à la question suivante. La différence était dans le fonctionnement du code en boucle et sans boucle et j'avais préparé une réponse expliquant pourquoi il vaut mieux faire ainsi plutÎt que cela. Eh bien, aprÚs cela, je n'avais plus du tout envie de répondre aux questions et de travailler avec cette personne.
Il faut garder à l'esprit que nous sommes tous différents et que n'importe quel détail, qui vous semble insignifiant, peut effrayer le candidat.
â gĂ©nĂ©ralement, les spĂ©cialistes de niveau Senior ont un stack de travail clairement dĂ©fini, mais non, il faut commencer Ă les interroger sur des choses proches, par exemple, vous avez Ă©crit Ansible, excellent, mais chez nous c'est Puppet, nous vous avons juste invitĂ© pour ça, alors parlez-nous de Puppet. Magnifique ! Avez-vous travaillĂ© avec OpenShift ? Nous avons K8s, nous ne savons pas faire de diffĂ©rence, mais votre expĂ©rience n'est pas pertinente. TrĂšs bien !
Il y a aussi cette sous-catĂ©gorie â personnellement, je prends des stagiaires pour les faire grandir en juniors.
Il est vital que tout le monde comprenne qu'un stagiaire est une entitĂ© encore non formĂ©e. Cela me fait peur quand les stagiaires commencent Ă ĂȘtre poussĂ©s au niveau de Junior aguerri et ensuite, on leur propose des stages (parfois non rĂ©munĂ©rĂ©s, l'horreur !)
Ne faites pas cela.
à mon avis, un stagiaire est soit un étudiant de derniÚre année, soit quelqu'un qui a vraiment envie de « se lancer dans l'IT ».
Avec les Ă©tudiants, tout est simple â il faut comprendre ce qu'ils font Ă l'universitĂ©, ce qu'ils ont fait par eux-mĂȘmes, observer sur quelles questions leurs yeux s'illuminent â si ça s'illumine, demander pourquoi ils s'intĂ©ressent au DevOps et ce qu'ils en savent. Sentir la personne et Ă©valuer s'il sera agrĂ©able de travailler avec elle, si l'on a envie d'enseigner quelque chose Ă cette personne en particulier.
Avec ceux qui souhaitent « se lancer dans l'IT », c'est un peu plus strict â il faut Ă©valuer dans quelle mesure la personne s'autoforme, ce qu'elle a fait avant de venir Ă l'entretien et un bon indicateur sera de regarder son GitHub, s'il en a un, la frĂ©quence des commits et quels exercices elle a rĂ©alisĂ©s. Demander aussi pourquoi le DevOps, puisque le front-end est plus amusant et plus Ă©laborĂ© ?
Et enfin, je tiens Ă donner un conseil une fois de plus : dĂ©finissez qui vous avez vraiment besoin et vous trouverez immĂ©diatement la personne nĂ©cessaire. Identifiez les besoins, considĂ©rez le spĂ©cialiste comme un professionnel, trouvez ses points forts et utilisez-les efficacement dans votre travail. Soyez attentif Ă lâinterviewĂ©, il est venu chez vous pour une discussion, et non pour une compĂ©tition sur qui va Ă©chouer ou rĂ©ussir.
Source : habr.com
