Embaucher un développeur junior, que dois-je demander? [fermé]


56

Nous recrutons actuellement un développeur junior pour m'aider, car j'ai plus de projets que je ne peux actuellement en gérer. Je n'ai jamais embauché quelqu'un qui n'était pas un ami ou au moins une connaissance. J'ai un entretien téléphonique avec le seul candidat qui m'a vraiment marqué (sur papier), mais je ne l'avais jamais fait auparavant.

Nos projets sont tous des applications Web à haute évolutivité et à utilisation intensive de données qui traitent des millions de transactions par heure, sur plusieurs serveurs et clients. Pour être spécifiques à la langue / à la pile, nous utilisons ASP.Net MVC2, WebForms et C # 4, MSSQL 2008 R2, s'exécutant tous sous Windows Server 2008 R2.

Que devrais-je lui demander? Comment dois-je structurer l'appel téléphonique?


5
Pourquoi un développeur junior et non un développeur senior?
Job

10
Coût; La société vient de devenir rentable ce trimestre ... et mon ego est fragile;)
Jeremy Boyd

48
À bien des égards, un développeur "peu coûteux" peut être plus coûteux qu'un développeur expérimenté / coûteux. Le commentaire sur l'ego fragile est carrément effrayant. Si vous n'embauchez jamais des personnes plus intelligentes que vous, vous êtes toujours le professeur et jamais l'élève. Vous serez laissé dans la poussière de cette façon.
JohnFx

6
Il y a des faux juniors (<3 ans d'expérience mais beaucoup de compétences). L'âge est-il important?
James P.

2
Si vous embauchez des développeurs débutants, cela signifie que vous ne pouvez pas évaluer leur expérience. Parce qu'ils n'ont pas beaucoup d'expérience dans leur courte carrière. D'autre part, vous pouvez évaluer leurs compétences en programmation et également voir comment ils écrivent du code. La première étape peut donc consister en un test de compétences, comme http://tests4geeks.com. Sur la deuxième étape, vous pouvez leur demander d'écrire des programmes simples à la maison. Dans votre cas, il pourrait s’agir d’une application MVC qui affiche la liste de certaines données à l’aide de JSON et AJAX. La liste s'actualise automatiquement avec une minuterie afin que l'article posté puisse être vu sans référence ..
dur

Réponses:


49

Demandez-leur quels blogs techniques ils lisent, demandez ce que le candidat trouve intéressant dans la technologie actuelle et pourquoi.

Essentiellement, pour une entrevue téléphonique, vous voulez savoir s’il s’agit d’une personne qui est enthousiaste pour la technologie et la programmation et qui est intéressée par l’apprentissage et la connaissance.

Comme il s'agit d'un junior, vous ne pouvez pas vous attendre à ce qu'ils sachent beaucoup de sujets avancés, mais vous voulez être sûr qu'ils puissent penser comme un programmeur. Donnez-leur un problème simple et demandez-leur de vous expliquer comment ils le résoudraient. Cela vous donnera un aperçu de la façon dont ils pensent et résolvent les problèmes.


J'aimerais pouvoir choisir deux réponses, car le vôtre et celui de Peter K. forment un excellent combo.
Jeremy Boyd

5
Cette réponse est limitée et blessera les personnes qui ne suivent que ce conseil. Pour l’écran du téléphone, suivez les conseils de Steve Yegge à ce sujet . Pour une personne, Have codage des défis et suivre Guide de Guerilla Joel à des entrevues . Vous avez une question de conception - "Quelles sont toutes les étapes nécessaires pour créer <insérer un logiciel commun, non trivial>?" Vous constaterez que quelle que soit l'expérience, toutes les bonnes recrues ont des réponses bonnes et rapides à ces problèmes.
Robert P

J'aimerais que les blogs de l'industrie tels que Yegge, Joel et Atwood +3 des blogs @RobertP soient des trésors pour quiconque interviewer ou occuper une position de direction quelconque. ou n'importe qui dans l'industrie vraiment, mais surtout si vous êtes bien placé pour guider ou jauger d'autres ingénieurs.
Jimmy Hoffa

26

J'adopte une approche ouverte pour les entretiens téléphoniques, mais pour mettre en place une structure, je demande généralement à la personne de parler à travers le CV qu'elle a soumis. Souvent, la façon dont ils parcourent leur CV suscitera d’autres questions et vous permettra de mieux comprendre leur nature.

L'autre chose à laquelle réfléchir lors de l'entretien téléphonique est de demander: est-ce que je peux travailler avec cette personne? Sont-ils énergiques? Ennuyeux? Précis?


20

Code avec eux.

Vous devriez absolument faire les choses d’entrevue habituelles. Mais je n'engage personne sans une séance de programmation en binôme avec eux.

Mon approche: je vais prendre 2-3 heures et un problème de jouet (par exemple, "Construisons Twitter v 0.1" pour un développeur à pile complète, ou "Implémentons une liste à partir de primitives" pour une personne dorsale). Nous allons nous asseoir devant le même ordinateur et nous allons discuter de la façon de le résoudre. Je vais écrire le premier test unitaire et dire: "Fais-le passer". Je vais peut-être écrire les prochains tests pour les aider à démarrer. Et puis je les laisse généralement courir, ne sautant que de temps en temps. Comme nous avons peu de temps, je vais les arrêter et leur demander où ils vont le prendre, et ce qu’ils voudraient faire avant de le pousser en direct.

Choses que je cherche:

  • Peuvent-ils bien collaborer?
  • Comprennent-ils les bases?
  • Peuvent-ils décomposer un problème en plusieurs parties?
  • Est-ce qu'ils valorisent le code propre?
  • Est-ce qu'ils attrapent leurs propres insectes?
  • Est-ce qu'ils essaient de faire des conneries quand ils ne savent pas quelque chose?
  • Est-ce qu'ils aiment coder?

17
Je doute sérieusement qu'un Junior réussisse bien une session de programmation à deux avec la mode style TDD, ou même des tests unitaires en général.
Martin Blore

3
Dépend des antécédents du programmeur junior. Je viens d’en embaucher un la semaine dernière qui a été excellent. Plus généralement, cela fait partie de ce que j'essaie de découvrir lors de l'entretien. S'ils ne sont pas bons pour la partie tests, je vais simplement écrire les tests moi-même ou les laisser charger à l'avance sans tests. De toute façon, laisse-moi voir quelles sont leurs forces et leurs faiblesses.
William Pietri

2
Je n’aimerais pas faire cela maintenant, après 10 ans d’expérience, peu importe quand j’étais junior. Une pensée horrible!
AnthonyBlake

3
Je me considérerais comme un programmeur débutant et j'apprécierais cette approche pour montrer comment et ce que je peux faire. Trop souvent, je rencontre des questions qui nécessitent des définitions parfaites du dictionnaire sans se soucier de leur utilisation et de leur mise en œuvre globale. Préféreriez-vous que je cite une liste mémorisée des utilisations du staticmot clé hors Wikipedia ou que je montre comment je peux l’utiliser dans un contexte viable et applicable?
amcc

7

What's your Stack Overflow account name?

L'un des meilleurs moyens de savoir à quoi ressemblera le code d'une personne consiste à le consulter directement. Une des meilleures façons de le faire est via SO.

Sinon, les questions standard s'appliquent. Demandez quelles sont les situations difficiles et comment ils les ont surmontées. Demandez-leur quelles nouvelles langues ils apprennent ou pensent apprendre, et pourquoi. Demandez-leur quel IDE ils utilisent et pourquoi l'ont-ils choisi? Quel contrôle de source?

Vous pouvez en apprendre beaucoup en posant des questions ouvertes qui pourraient ne pas concerner un projet spécifique, mais leur permettront plutôt de travailler avec vous dans leur processus de réflexion.


Il vaut mieux demander leur compte github, bien qu'ils auraient probablement partagé cette information s'ils avaient un compte.
Job

7
Cette fois-ci, je me suis connecté à SO et je me suis rendu compte que 90% des personnes qui y travaillent ne se préoccupent que du développement Web.
Pemdas

3
Bien que cela puisse fonctionner, ce n'est pas nécessairement exact. On peut mettre beaucoup d’efforts dans leur travail rémunéré que dans les conseils occasionnels donnés.
NoChance

5
Pour ce que ça vaut, certains des meilleurs développeurs de mon entreprise n'ont pas de compte SO ou ont une réputation <100. Bien sûr, c'est génial s'ils ont un compte avec une grande réputation, mais vous ne pouvez pas lire beaucoup dans les ne pas avoir un haut.
Jeremy Wiggins

En fait, si le candidat est un peu actif sur le SO (ou s’il était parfois actif dans le passé), vous trouverez probablement le lien le concernant dans son CV. Par ailleurs, les enquêteurs ont rarement le temps de se pencher sur une telle chose. Ce qui dans certains cas peut être bon pour vous, car par exemple, je ne suis pas fier de toutes les questions / réponses que j'ai postées sur SO.
Radu Murzea

6

Une chose que je n'ai pas vue ici dans ma lecture rapide est la nécessité de leur poser des questions sur:

1 - Volonté d'apprendre

2 - Capacité d'auto-apprentissage par rapport à une formation formelle

3 - Exemple de quelque chose qu'ils ont appris eux-mêmes dans le passé

4 - Un exemple de zones avec lesquelles ils ne sont pas à l'aise

5 - Question générale de haut niveau du type "si vous êtes chargé de créer une application Web sur ... quelles tâches doivent être effectuées et qui doit les effectuer" - Cela devrait vous donner une idée de leurs connaissances actuelles sur le processus de développement - It n’a pas besoin d’être précis, mais au moins, vous apprendrez leur point de vue tel qu’il est aujourd’hui.


4

Parlez-moi d'un projet sur lequel vous avez travaillé dans le passé

  • Décrivez l'architecture globale du projet. Haut niveau, c'est bien.
  • Quelle est la chose que vous avez aimé dans le projet?
  • Quelle est la chose que vous n'aimez pas dans le projet?
  • Qu'est-ce qui, avec le recul, aurait été différent?

C'est une excellente question pour les interviews à mon avis, par téléphone ou autrement. S'ils peuvent parler intelligemment d'un projet sur lequel ils ont travaillé, il y a de fortes chances qu'ils "l'obtiennent". Vous embauchez un développeur de niveau junior, il n'est donc pas important qu'il soit un expert, mais il doit au moins comprendre suffisamment son domaine pour en parler. Habituellement, les personnes que vous souhaitez embaucher n'auront aucun problème à gérer cette tâche, tandis que les personnes que vous voudrez peut-être éviter vous répondront en quelques phrases ou moins.

Que faites-vous pour rester au courant?

  • Quels blogs lis-tu?
  • Quels livres avez-vous lu / lisez-vous?
  • Rien d'autre?

Dans un secteur en constante évolution, j'estime qu'il est important pour eux de rester à jour. Ce n’est pas la question la plus importante que je pose en entrevue, mais s’ils ne peuvent rien dire à dire, ce n’est pas bon signe.

Dis-moi comment tu écrirais un cours de vélo

Peut-être une meilleure question pour un entretien personnel afin qu'ils puissent écrire un pseudo-code, mais je pense que cela pourrait également fonctionner pour un entretien téléphonique ... Décrivez un vélo (il a un guidon, des roues, etc.). Quelqu'un le monte. ) et demandez-leur de décrire comment ils modéliseraient les classes. Rien d'innovant ici, mais s'ils ont du mal à résoudre ce problème, ils sont probablement TROP encore trop jeunes pour constituer un atout.


2

Il y a beaucoup de bons conseils d'entrevue déjà écrits, mais je ne pense pas que vous puissiez combler ce poste tant que vous ne savez pas exactement ce qu'ils vont faire au jour le jour. Si votre première pensée était: "Tout ce dont j'ai besoin d'eux." Arrête. Trouvez un morceau de code spécifique à examiner. Choisissez le meilleur et le pire des codes à regarder et voyez s'ils connaissent la différence. Donnez-leur des zones de travail pour un premier projet rapide qui aurait pu être négligé.

J'espère que vous avez embauché le meilleur programmeur, mais chacun a des domaines dans lesquels il est meilleur / plus expérimenté que d'autres. Profitez-en et définissez leur rôle en conséquence.

Oh, et engagez quelqu'un qui a l'habitude de faire avancer les choses.


0

Lorsque vous discutez en privé avec le développeur, vous pouvez apprendre à le connaître, puis vérifier s'il est honnête avec vous.

Pour ce faire, vous pouvez lui poser la question suivante pour savoir à quel point il est honnête

  1. S'ils ont fait des certifications, comme une certification Microsoft, vérifiez avec eux s'ils ont vraiment étudié et effacez-les.

  2. Certains développeurs juniors qui ont réalisé leurs projets de dernière année n’auraient pas réalisé le projet eux-mêmes, c’est-à-dire que leurs amis l’auraient fait pour eux, etc.

Etre honnête joue un rôle très important lorsque le développeur junior se voit confier des projets confidentiels.

Si vous sentez que vous pouvez leur faire confiance, vous pouvez alors donner un questionnaire sur les technologies avec lesquelles ils sont recrutés, suivi d'un texte pratique avec un scénario permettant de vérifier si elles ont la capacité logique, c'est-à-dire de vérifier si elles ont un contact constant dans la programmation.


1
assumer le pire des gens?
tp1

+1 pour l'hypothèse. @ tp1 Garder toutes les options ouvertes. : D
Karthik Sreenivasan le

0

La PDG de Sandglaz, Nada Aldahleh, a récemment écrit un article à ce sujet sur son blog, basée sur sa propre expérience en matière de recrutement de développeurs pour sa startup. Voici quelques-unes des choses qu'elle recherche:

  • esprit de résolution de problèmes
  • de solides compétences en communication
  • poser des questions d'architecture et d'algorithme; un développeur débutant devrait être capable d'architecter de nouvelles petites fonctionnalités et des questions d'algorithme peuvent en dire long sur la mentalité de résolution de problèmes et le type de fondement dont elles disposent
  • casse-tête pour isoler les compétences analytiques

Et bien sûr, le test de programmation, qui ne devrait pas être composé de la question Fizz Buzz. Une tâche réelle pouvant être effectuée en quelques heures à votre bureau serait le meilleur type de test.

Vous pouvez lire plus de ses conseils ici: http://blog.sandglaz.com/how-to-interview-and-hire-junior-developers/

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.