D' autres ont fourni des réponses de que j'upvoted comme une question de nécessité . La raison pour laquelle j’écris une autre réponse, c’est que ce que je veux dire ne correspondra probablement pas à un commentaire et qu’il faut dire quelque chose sur la qualité d’une entrevue d’emploi dans le domaine de la programmation.
Dans le premier bon entretien, je me souviens, nous avons beaucoup discuté sans hâte. Tout d'abord, pendant une heure, au téléphone, à propos de la conception orientée objet et des avantages et inconvénients de son implémentation en C ++. Ensuite, sur site, j'ai parlé à plusieurs personnes de leurs pratiques de développement logiciel, de l'intégration, des tests, du contrôle de version et de la gestion de la configuration, des équipes et des responsabilités, de la technologie et de la conception. C'était une interview d'une journée entière qui comprenait un déjeuner avec les personnes qui m'interviewaient. Avec le recul, tout était question de savoir si je pouvais m'intégrer de manière productive dans ce qu'ils faisaient déjà.
Depuis lors, les bonnes interviews ont toutes été longues, des conversations d'une à deux heures sur le développement de logiciels. Il n'y a eu aucune question de résolution de problème, aucune énigme et aucun défi de codage.
Si je devais interviewer quelqu'un pour un travail de programmation aujourd'hui, je procéderais de la sorte. Je demanderais des opinions sur un large éventail de sujets et laisserais de côté la profondeur:
- Quelles sont vos préférences de langage de programmation? Pourquoi?
- Comment aborder la gestion des exceptions?
- Les avantages de la conception en couches ne sont-ils pas un mythe?
- L'intégration continue n'est-elle pas un fardeau pour l'efficacité?
- Celui qui a écrit un morceau de code devrait en être le propriétaire, pas vrai?
- Que faites-vous pour entrer dans "flux".
- Comment les défauts signalés doivent-ils être inclus dans un plan de projet?
- ...
Ce sont des questions avec plus d'une réponse, et elles traitent toutes de sujets sur lesquels un développeur de logiciel devrait avoir une opinion éclairée. Je suis entièrement d'accord avec les réponses qui mentionnent de vrais problèmes antérieurs rencontrés en tant que sujet de conversation (et non en tant que questions).
Les études les plus scientifiques sur le développement de logiciels efficaces depuis Peopleware indiquent que les meilleurs programmeurs sont ceux qui comprennent la dynamique du développement de logiciels, même s'ils n'ont pas les QI les plus élevés. Je préfère prendre une recrue qui est désireuse d'apprendre que quelqu'un avec des n
années d'expérience qui se résume à une 1
année d'expérience à plusieurs n
reprises. Mon point de vue personnel est envers les candidats qui ont tendance à sortir des sentiers battus et qui savent en même temps s’intégrer à la (ma) boîte actuelle.