À titre d'hypothèse, si je devais interviewer quelqu'un pour un nouveau poste de développeur PHP lorsque mon expérience est en .NET, comment puis-je déterminer si l'exemple de code qu'ils m'ont fourni est efficace et de bonne qualité?
En d'autres termes, quelle est la meilleure façon d'évaluer le code d'un programmeur si vous n'êtes pas familier avec le langage?
code-quality
interview
code-reviews
Jason Towne
la source
la source
Réponses:
Les éléments que vous ne pourrez pas évaluer sont l'utilisation correcte des idiomes linguistiques et l'utilisation des bibliothèques. Ce ne sont donc pas des choses que vous devriez essayer de regarder.
Ce que vous pouvez évaluer, c'est:
Les points ci-dessus (bien que non exhaustifs) indiqueront si le code sent ou non et devrait être quelque chose qu'un programmeur expérimenté peut identifier comme bon ou mauvais.
En bref - recherchez les éléments qui devraient indiquer un bon code quelle que soit la langue.
la source
Demandez-leur de l'organigramme ou de vous guider à travers dans le cadre de l'entrevue. Vous avez l'excuse parfaite pour demander et cela en dit long sur la façon dont ils pensent pour voir comment ils expliquent.
S'ils veulent passer à votre langue préférée, vous savez que vous avez beaucoup de mentorat à venir, vous devriez donc rechercher avant tout de bonnes compétences en logique / raisonnement.
S'ils vont continuer à travailler dans leur langue préférée, vous devrez accepter qu'ils me géreront un peu eux-mêmes sur les détails spécifiques de la langue jusqu'à ce que quelqu'un d'autre arrive de toute façon, donc tout ce que vous aurez à interagir avec est également le côté design.
la source
Mis à part le code à tête creuse / manifestement incorrect, efficace dépendra largement du compilateur / interprète de la langue en question, et vous ne pourrez pas vraiment le regarder à partir d'un exemple de code. Un exemple de code pourrait être magnifiquement écrit et élégant comme de la porcelaine fine sur des napperons, mais fonctionner lentement s'il est compilé / mal interprété.
Vous ne pourrez pas évaluer l'utilisation idiomatique des fonctionnalités / sucre syntaxique / conventions de langage sans une certaine familiarité.
Vous devriez être en mesure de dire s'il est bien écrit en général sur la base de considérations universelles telles que l'ordre, le flux de contrôle, le nom des variables, l'ordre des opérations, etc.
Cependant, plus concrètement, si vous savez ce que la langue va entrer dans le processus, vous pouvez essayer de trouver un ou plusieurs guides de style pour cette langue, aller à la librairie et feuilleter quelques livres pour cette langue et parcourez les exemples de code à la recherche d'analogues à quelque chose que vous connaissez w / dans la langue de votre choix, consultez un ou plusieurs projets open source qui utilisent cette langue, et ainsi de suite.
Si vous avez le temps et s'il n'y a pas d'obstacle aux coûts, vous pouvez même aller jusqu'à mettre en place un environnement de développement pour ce langage et lancer une application Hello World, faire un code kata ou autrement écrire une simple petite application en elle. Vous développerez un cadre de référence rudimentaire assez rapidement et non seulement cela vous donnera une longueur d'avance dans le but spécifique de réviser le code en question, vous pourriez être contraint par le langage et vous diversifier un peu.
la source
Quelle que soit la langue:
Je ne dis pas que tout code qui ne contient pas tout cela est automatiquement médiocre, mais je considère que ce sont des indicateurs de quelqu'un qui a réfléchi et pris en considération sa pratique.
Cependant, pour tous ces indicateurs, vous devez vous demander quelle est la raison d'être du code. Il peut y avoir une bonne raison spécifique à la langue de leurs choix ... et après cela, Google est votre ami quand eux et les autres candidats s'en vont, car vous pouvez vérifier si ce qu'ils ont dit semble plausible ...!
Bonne chance, car l'embauche de bonnes personnes est l'un des rôles les plus importants dans votre organisation;)
la source
Vous devriez demander à quelqu'un qui connaît la langue en question de venir à l'entretien ou de regarder l'échantillon. Une telle personne trouvera beaucoup plus probablement les mauvais endroits, le cas échéant.
Le candidat va-t-il travailler en équipe? Laissez les membres de l'équipe le rencontrer et lui poser des questions sur ses compétences.
la source
Demandez-leur quelles sont les limites rencontrées lors de l'utilisation de la langue. Demandez-leur de vous montrer une simple requête SQL. Tout développeur Php digne de ce nom devrait être capable de lancer une requête de sélection / mise à jour / suppression de base sans trop d'effort.
doug
la source