La sélection des développeurs de logiciels à tous les niveaux avant qu’ils ne reçoivent un emploi est aussi typique que dans n’importe quel autre secteur. Que ce soit sur un tableau blanc, en déchiffrant un défi temporel ou en mettant en œuvre un projet à emporter, plusieurs développeurs et ingénieurs seniors se demandent si les exercices de programmation sont encore quelque chose à laquelle ils devraient participer. C’est une réflexion compréhensible lorsque l’on est un professionnel expérimenté de la technologie. Est-ce que vous, un vétéran de quinze ans avec une grande expérience technologique, devez encore démontrer vos compétences dans des défis de codage ? D’un autre côté, une entreprise devrait-elle vous prendre en considération si vous rejetez un test de codage ?
Honnêtement, cette question n’a pas de réponse absolue – elle dépend également de la politique de l’entreprise. Si vous dénaturez une partie du processus d’entretien, l’entreprise renoncera à l’ensemble du processus. Supposons que vous soyez le recruteur. Engageriez-vous quelqu’un qui ne respecte pas la politique de l’entreprise en matière d’entretien ?
Le fait de refuser des tests de codage au cours du processus d’entretien entraînera certainement un rejet de la part d’un employeur potentiel. Pour un employeur potentiel, votre refus d’un test de codage montrera qu’il sera difficile de traiter avec vous, même s’il s’agit de quelque chose de relativement standard. Outre vos vastes compétences techniques, les entreprises recrutent des personnes qui s’intègrent dans leur culture. Par conséquent, le fait de refuser un test lors d’un entretien montre à l’employeur que vous ne vous adapterez peut-être pas à la culture de l’entreprise avant même que vous ne décrochiez le contrat.
Au cas où l’on vous proposerait un exercice sur un tableau blanc. Si vous n’êtes pas à l’aise, vous pouvez parler au responsable du recrutement et demander au moins un test de codage ou un travail à faire à la maison plutôt que d’affirmer « Je ne ferai pas cela ». La plupart des responsables accepteront probablement votre contre-offre. Vous pouvez dire au responsable du recrutement : « Je ne suis pas sûr qu’un tableau blanc soit la meilleure approche pour démontrer mes connaissances et mes compétences. Dites-lui que vous comprenez vraiment la raison d’être des tableaux blancs. Néanmoins, vous êtes plus à l’aise avec un projet à petite échelle où vous pouvez utiliser les outils de chaque développeur, le web et la documentation. Par ailleurs, un test en direct est un bon compromis. Il ne laisse pas de mauvais goût sur un tableau blanc. Il permet néanmoins à votre employeur potentiel de savoir si vous possédez les compétences et aptitudes clés nécessaires. Les devoirs techniques sont un peu plus pratiques, mais ils ont leurs particularités.
Pourquoi les développeurs de logiciels seniors ne font-ils pas de tests de codage ?
L’objectif principal des tests de codage lors des entretiens est de filtrer les candidats qui ne possèdent pas le savoir-faire et les compétences techniques requis pour le poste à pourvoir. Ainsi, les responsables du recrutement et les candidats ne perdent pas leur temps avec un entretien en personne.
Pourtant, presque tous les développeurs d’aujourd’hui voient d’un mauvais œil l’idée d’effectuer un test de codage et plus de cinquante pour cent d’entre eux refusent d’effectuer des évaluations de type statu quo. Voici les raisons pour lesquelles les développeurs de logiciels détestent les tests de codage.
Les tests de codage examinent les compétences algorithmiques plutôt que la capacité à écrire du code.
Les entreprises ont toujours besoin de résultats de ces évaluations, et pas seulement de résultats, mais de résultats significatifs. La manière la plus simple d’y parvenir est d’utiliser des questions pièges pendant les évaluations. Pour réussir ces tests, les candidats doivent passer au moins deux semaines à s’entraîner à écrire du code pour certaines des questions problématiques. En général, quelques développeurs peuvent obtenir d’excellents résultats à ces tests. En général, les recruteurs oublient à quel point les entretiens peuvent être exigeants pour les candidats. Écrire un code exécutable pour un algorithme de niche que vous avez rencontré à l’école. Vous n’avez jamais utilisé cet algorithme en tant qu’ingénieur dans un délai limité, ce qui peut être extrêmement terrifiant.
Bien qu’il soit important pour un développeur d’être bon en algorithmes, ce n’est pas une mesure de sécurité pour savoir si un développeur est bon ou s’il conviendra pour le poste à pourvoir. Très peu de postes techniques requièrent des compétences algorithmiques solides. Par conséquent, vous pouvez imaginer qu’aucun grand développeur n’est ravi à l’idée de passer un test en premier lieu. Ajoutez à cela que les questions ne sont pas pertinentes et que 50 % des candidats refusent de passer ces tests.
Les tests de codage ne reflètent pas l’expérience réelle de la programmation.
Les développeurs de logiciels affirment que les tests de codage ne reflètent pas l’expérience réelle de l’écriture de code telle qu’elle est pratiquée dans le cadre du travail. Par exemple, la plupart des tests de codage demandent aux développeurs de construire quelque chose à partir de zéro. Comme il est facile de partir de zéro, il est rare que les ingénieurs fassent cela très souvent lorsqu’ils sont embauchés – ce qui est plus courant que jamais dans le monde réel. L’expérience en cours d’emploi vous demandera plutôt de vous familiariser avec une base de code existante et d’y contribuer efficacement.
Les tests de codage sortent les développeurs de leur zone de confort.
De nombreux développeurs s’interrogent sur la raison d’être des tests de codage parce qu’ils sont appelés à effectuer une tâche dans un environnement qui ne leur est pas familier. Ils pensent donc raisonnablement qu’ils ne peuvent pas donner le meilleur d’eux-mêmes. Presque tous les développeurs disposent d’un environnement de développement intégré (IDE) entièrement personnalisé en fonction de leurs goûts et préférences, ce qui leur permet d’écrire du code efficacement. La question est donc de savoir comment ces développeurs peuvent donner le meilleur d’eux-mêmes lorsqu’ils sont plongés dans un environnement qu’ils ne connaissent pas et qu’ils n’utiliseront même pas lorsqu’ils seront autorisés à travailler pour l’employé potentiel. En outre, les développeurs peuvent se voir demander d’effectuer une tâche sur-le-champ pendant que les autres regardent. Cela augmente généralement l’anxiété du développeur. Il n’est donc pas à l’aise pour exécuter cette tâche.
Les tests de codage prennent généralement beaucoup de temps.
Une autre raison pour laquelle les tests de codage lors des entretiens ne sont pas du goût des développeurs de logiciels est qu’ils prennent beaucoup de temps. Soyez donc prudent lorsqu’une entreprise vous demande de passer un test sur sa plateforme ou son environnement. Vous demande-t-on de corriger un bogue ou de concevoir une fonctionnalité pour un service ou une application existants ? Si le test ne concerne pas une application, c’est qu’elle est déjà opérationnelle. Pour les difficultés techniques qui vous obligent à rentrer chez vous, veillez à ce qu’elles ne deviennent pas incontrôlables. Certaines entreprises affirment que vous ne devez consacrer que quelques heures au projet, tout en sachant que vous devrez investir beaucoup plus de temps et d’efforts que prévu. En outre, lorsqu’un projet génère des résultats que l’entreprise peut utiliser dans la production ou lorsqu’elle vous demande de passer une journée sur une tâche, ne demandez pas de compensation, car cela semble inapproprié.
Les développeurs seniors n’ont pas à faire leurs preuves.
La plupart du temps, les développeurs seniors ne sont pas disposés à effectuer des tests de codage parce qu’ils pensent qu’ils n’ont pas à faire leurs preuves. Ayant travaillé pendant plusieurs années et développé divers produits et échantillons de code, ils préfèrent mettre en avant leurs capacités. En tant que développeur senior, il peut être risqué de faire la preuve de ses compétences, car on vous demande de partager votre pensée originale. Rien n’empêchera l’entreprise de reprendre et de mettre en œuvre vos idées et de les exploiter de manière indépendante, même après vous avoir rejeté lors de l’entretien. Il y a un risque inhérent, et on vous demande d’apporter une valeur ajoutée dès le départ.
Conclusion
Les développeurs de logiciels expérimentés contestent généralement la validité des évaluations de codage pour les raisons susmentionnées. Par conséquent, pour les développeurs de logiciels, il n’est pas possible de sauter les évaluations de codage. Toute personne impliquée dans le processus d’embauche dans le secteur technologique sait que de nombreux développeurs ne sont pas qualifiés pour le poste, d’où la nécessité d’une sorte de test que les candidats doivent passer avant d’être convoqués à l’entretien.
Les ingénieurs logiciels ne sont généralement pas doués pour se vendre, et les meilleurs candidats se sous-estiment souvent énormément sur le papier. Relativement, un filtre de CV peut vous aider à éliminer certains candidats qui ne sont manifestement pas qualifiés pour le poste et à trier les CV par ordre de priorité. En outre, un filtre de CV a un penchant inhérent pour les candidats ayant de bonnes références (formation et expérience professionnelle). Les bons programmeurs peuvent venir de n’importe où, et l’utilisation de mots-clés signifie que vous passez probablement à côté d’un grand nombre d’excellents candidats. Mais vous ne pouvez pas vous contenter de faire passer des entretiens à tous les candidats.