Tâches de programmation - Une mauvaise façon d'évaluer les qualifications des développeurs seniors

Comme beaucoup d'autres enfants nés au Canada, j'ai étudié au Royal Conservatory. Ce n'est pas seulement un bâtiment physique où vous pouvez étudier et jouer, mais aussi un programme standardisé, ainsi que des enseignants certifiés, disponibles dans presque toutes les villes. Ces derniers effectuent régulièrement des examens dans tout le pays afin que les élèves puissent passer au niveau supérieur de leur éducation musicale.



L'exercice est nécessaire pour la formation.


Chaque examen a une composante technique et une performance de démonstration. Parlons de la partie technique. Pour obtenir une évaluation, vous devez pouvoir effectuer plusieurs exercices avec votre instrument. Dans mon cas, au piano, c'étaient des gammes, des arpèges, etc. Je ne me souviens même pas de tous.


Au fur et à mesure que vous apprenez, les exercices deviennent plus complexes et vous devez les exécuter dans une tonalité plus élevée, jusqu'à ce qu'au tout dernier examen, il vous soit demandé de terminer n'importe quel exercice dans n'importe quelle tonalité.


Après 14 ans d'étude du piano, après avoir réussi l'examen final, j'ai pu effectuer n'importe quel exercice sur n'importe quelle touche. Mais après encore 14 ans, je ne me souviens même plus du nom de tous ces exercices. Puis-je mémoriser un passage d'une œuvre et la jouer à un niveau élevé? Oui, pas de problème!


L'exercice n'est pas nécessaire dans la pratique


Je parie que parmi tous ceux qui ont étudié au conservatoire et sont devenus des musiciens professionnels, très peu seront capables d'effectuer un exercice arbitraire. Oui, certains de ces exercices sont nécessaires pour préparer la performance, mais seulement partiellement, et ils ne sont mémorisés que lorsque cela est vraiment nécessaire.


Cette semaine, lorsque j'étais dans la tâche de programmation Hackerrank, j'ai dû obtenir un tutoriel poussiéreux sur les structures de données et les algorithmes pour écrire un tri par fusion .


Au début, je me sentais extrêmement mal à l'aise, mais une idée est venue: c'est la même histoire que pour les exercices de piano au Royal Conservatory. Oui, une fois qu'ils étaient importants, et nous avons bourré différents types de tri sur l'informatique. Mais la croissance de l'expérience professionnelle réside dans la compréhension du moment et de l'endroit où appliquer des algorithmes spécifiques, en rappelant la mise en œuvre uniquement si nécessaire. Je savais à quoi servait le tri par fusion, je savais comment trouver son code. Je ne pouvais tout simplement pas me souvenir de lui.


Quelqu'un dira que le développeur principal devrait pouvoir écrire le tri sans avoir recours à des documents de référence, car ce sont les bases. Mais je n'y crois tout simplement pas. Est-ce qu'une personne fait d'un meilleur musicien la capacité de jouer parfaitement au gamma à un moment donné? Bien sûr que non! De plus, j'affirme qu'en perfectionnant vos compétences dans un exercice d'entraînement, vous perdez du temps que vous pourriez passer à résoudre des problèmes appliqués.


Les exercices ne doivent pas être utilisés lors de l'embauche


Pouvez-vous imaginer qu'un musicien professionnel, qui a brillamment joué sur scène plus d'une fois, serait invité à jouer des gammes lors d'une interview? Et après cela, sans aller au passage du passage, ils diraient: «Nous vous rappellerons», car il n'a pas parfaitement maîtrisé les bases.


De telles pensées me rendent nauséeux. Mais nous vivons en 2019, lorsque cela se produit tout le temps lors d'entretiens dans le domaine de la programmation.


Les entreprises utilisent des services tiers tels que HackerRank comme filtre pour filtrer les candidats. Beaucoup de grands développeurs abandonnent car ils ne pratiquent pas régulièrement l'écriture de tri. Les entreprises se plaignent du manque de personnel qualifié sur le marché du travail. Et cela se répète encore et encore.


Au fait, je ne parle même pas d'une interview au bureau. Je veux dire la toute première étape de l'embauche, lorsque les RH envoient souvent un lien vers plusieurs tâches limitées dans le temps sur HackerRank. Et, après avoir reçu le résultat après 10 à 15 minutes, décide de poursuivre la communication. Cette approche de l'embauche de programmeurs est un problème dans notre industrie.


Alors, comment évaluez-vous les qualifications de développeur senior?


Mon expérience d'interviewer des candidats suggère qu'il n'y a rien de mieux qu'une session de programmation en binôme. Passez une heure et demie à vous développer avec un écran commun. Travaillez ensemble dans votre environnement, avec vos outils, sur votre projet. Basculez et contournez le demandeur, avec ses outils, sur une partie de son code. Vous comprendrez très rapidement le niveau de la personne sur les questions qu'elle pose.


Et les vérifications de la mémoire pour les algorithmes sont complètement inutiles.

Source: https://habr.com/ru/post/fr481738/


All Articles