J'ai récemment eu un entretien téléphonique avec une entreprise. Après cet entretien téléphonique, on m'a dit de terminer une courte mission de programmation (un petit programme; cela ne devrait pas prendre plus de trois heures).
Je procéderais avec prudence. Évaluez la pertinence du défi pour l'emploi et assurez-vous que le remboursement futur de l'employeur fera valoir 3 heures de votre temps.
Je remets en question la valeur de ces types de tests, et je préfère juger quelqu'un sur ses réalisations passées. Une tâche courte prédéfinie ne peut rien dire à l'employeur de ce que vous pouvez faire. Seulement ce que vous ne pouvez pas faire, et cela peut être rapidement déterminé avec quelques questions par téléphone.
Les tests ont leur place. Posez-vous les questions suivantes sur le test et répondez en conséquence.
- Le test est-il équitable compte tenu de votre niveau de carrière actuel?
- Le test a-t-il une réponse correcte clairement définie?
- L'enquêteur s'intéresse-t-il à votre potentiel en tant que personne ou manifeste-t-il plus d'intérêt pour les résultats des tests (c'est-à-dire que les agences de recrutement sont terribles pour cela).
- Le test représente-t-il le type de travail que vous aimeriez faire ou est-ce une vérification ambiguë des compétences (c'est-à-dire un test si vous connaissez la syntaxe Java)?
Je ne suis directement chargé de terminer la mission et de rendre le code.
Vous venez de répondre à votre propre question.
Immédiatement, je prévoyais de le lancer sur Github, d'écrire une suite de tests pour celui-ci, d'utiliser Travis-CI (intégration continue gratuite pour les référentiels publics Github) pour exécuter les suites de tests et d'utiliser CMake pour créer les makefiles Linux pour Travis-CI.
Non, ce n'est pas ce qu'ils vous ont demandé de faire.
De cette façon, non seulement je peux démontrer que je comprends comment utiliser Git, CMake, Travis-CI et comment écrire des tests, mais je peux aussi simplement créer un lien vers la page Travis-CI afin qu'ils puissent voir la sortie des tests. J'ai pensé que cela le rendrait un peu plus pratique pour l'intervieweur.
Je ferais attention de démontrer mes compétences trop tôt ou trop tard dans le processus d'entrevue. Si vous sentez que vous n'avez pas bien réussi lors de l'entretien et que vous essayez maintenant de compenser, cela ne fonctionnera pas. D'un autre côté, faire trop quand on ne le demande pas trop montre un empressement. Cela pourrait amener l'employeur à contrer avec une offre de salaire inférieure à ce que vous attendiez.
Cependant, je suis un peu inquiet de voir que faire tout cela pour une tâche relativement simple serait mauvais.
Oui, ça a l'air mauvais. Résoudre leur défi avec une seule ligne de code sera bien plus impressionnant qu'un projet entièrement débusqué.
D'après mon expérience, ce n'est pas comme ça que vous gagnez l'entretien d'embauche, mais c'est une façon de perdre le travail. Le test de code est un problème de contrôle qualité. Chaque entreprise qui utilise des tests de code lors de l'embauche de personnes le fait, car auparavant, elle n'utilisait pas de tests de code. Ils ont eu une mauvaise expérience de quelqu'un qui a glissé à travers les fissures du processus d'entrevue qui n'aurait pas dû.
Ils prendront votre code source et le feront circuler au bureau. Les gens vont commenter cela, et ce que vous ne voulez pas qu'ils disent, c'est "Il a fait cette erreur? Mais passait du temps à utiliser Git, CMake et Travis-CI. Quel idiot d'avoir raté cette erreur."
C'est ça. Tu as perdu.
Ils veulent savoir que vous pouvez coder, car ils ne peuvent pas vous l'apprendre. Git, CMake et Travis-CI peuvent facilement être enseignés.