Aller au contenu

Test technique de recrutement pour développeur web


Callisto

Sujets conseillés

Bonjour à tous,

Dans le cadre du recrutement des développeurs web dans l'agence web dont je suis le gérant, je suis en train de mettre en place un test technique qui permet de tester les compétences d'un développeur web.

Je fais donc appel à la communauté pour savoir ce qui, d'après vous, est vraiment représentatif des compétences d'un développeur web en 2010. Je précise que l'agence web privilégie les technologies libres, on retrouve donc le développement en environnement LAMP (Linux + Apache + MySQL + Php) mais aussi l'utilisation de frameworks JavaScript (surtout MooTools et Jquery) ainsi que le gestionnaire de version Subversion. Les postes de travail sont sous Ubuntu.

Voici quelques idées de compétences qu'il me paraît important de vérifier :

  • Programmation avancée en Php : orienté objet, sessions, manipulation des entêtes serveur, ...
  • Langage SQL et création de bases de données sous MySQL : création de requêtes avec jointure, connaissance des différents types de données MySQL et des principaux moteurs de stockage,...
  • Connaissance approfondie de (X)HTML/CSS et capacité à produire du code aussi bien valide que compatible avec les différents navigateurs utilisés
  • Expérience de base avec Photoshop et/ou The Gimp pour le découpage des maquettes graphiques
  • Maîtrise d'au moins un framework JavaScript (Jquery, MooTools, YUI, Dojo, etc.) et aisance avec les techniques AJAX
  • Connaissance de plusieurs CMS : Spip, Joomla!, Wordpress, ...
  • Bases en administration système sous Linux : installation et configuration des principaux éléments techniques d'un serveur web (Apache, Php, MySQL, etc...), connaissances de base d'un shell
  • Bonne culture web sur notamment tout ce qui concerne le référencement naturel
  • Connaissance de l'intérêt d'utiliser des gestionnaires de version lors du travail en équipe

Voilà tout ce qui me vient à l'esprit. Alors voilà, le problème c'est que ça fait beaucoup trop de choses à tester lors d'un test technique qui ne devrait pas prendre plus d'une heure. Bien sûr, le CV est là, mais c'est très fréquent qu'il y figurent des compétences souvent très théoriques... :whistling:

D'après votre expérience (en tant que développeur pro ou amateur, employeur, professionnel du recrutement, etc...), quels seraient donc les points prioritaires à tester chez un candidat à un poste de développement web ?

Je précise que le test technique que je suis en train de mettre en place est en réalité le 2è test que passent les candidats. Une première idée sur le candidat m'est donnée par le test technique effectué en ligne et disponible à tout le monde à cette adresse : http://test.moon-websites.com. Ce test se veut relativement simple mais tout de même exhaustif au regard des principales technologies employées dans notre agence web : HTML, CSS, Php, MySQL et JavaScript.

D'ailleurs, même si j'ai déjà abordé cet aspect sur un autre forum et que ce n'est pas du tout le but de ce sujet (car j'ai bien compris qu'il est interdit de demander un avis sur un site :) ), n'hésitez pas à me faire part de vos éventuels commentaires sur la nature 1er test si vous en avez. Peut-être serait-il plus approprié de le faire sur l'autre forum en question pour ceux d'entre vous qui ont un compte là-bas ?

Merci d'avance pour vos commentaires et votre éventuel apport de nouvelles idées.

Lien vers le commentaire
Partager sur d’autres sites

Commence par tester des notions de base d'algorithmie. Genre demande leur d'écrire un algo de tri. Tu vas déjà éliminer 90% des candidats (c'est malheureux).

Au delà, tu mélanges (à tort ou à raison) des notions de développement avec des notions plus liées à un graphiste, ainsi que de la configuration de CMS (théoriquement plus basique que du développement) et de l'admin système. Tu peux tester tout ce que tu veux pour avoir une idée de ce que le candidat sait faire, mais ne t'attends pas à avoir un candidat qui sait faire tout ça (sinon envoie-les moi, je suis preneur!).

Un point à prendre en compte, c'est le temps qu'il faut pour répondre à tout ça. Mes tests de recrutement prennent déjà >2 heures, le tien prendrait probablement la journée une fois concrétisé :-(

Jacques.

Lien vers le commentaire
Partager sur d’autres sites

Je n'aime pas les tests de recrutement, surtout parce qu'ils ne reflètent pas les qualités vraiment nécessaire pour le développement, pour moi un bon développeur ne connais pas forcement tel ou tel langage sur le bout des doigts, mais est capable de chercher l'information dont il a besoin et de s'en servir convenablement, les tests servent la plupart du temps à tester les connaissances d'un développeur, et non pas sa capacité d'adaptation, ce qui est pour moi presque plus important que les connaissances.

Comme test, je serait plus du genre à poser une problématique sur un point que le candidat ne connait pas, et d'observer comment il s'y prend pour résoudre le problème.

Concernant les compétences recherchés, je pense que l'on ne le répètera pas assez souvent : NON un webdeveloppeur n'est pas le couteau suisse du web, on ne peut avoir a la fois :

- Un expert en développement,

- Un expert base de données,

- Un expert graphiste,

- Un expert système

C'est quatre métiers différents. Par exemple, je pense être un assez bon développeur, et actuellement, je travaille avec un bon concepteur de base de données, et bien, la structure de ses bases, et ses requêtes sont bien différentes des miennes, et surtout bien plus optimisées, c'est un vrai plaisir de travailler avec une base bien conçue, ainsi qu'avec ses requêtes.

Photoshop ou Gimp, c'est clairement pas le boulot du dev.

Idem pour l'administration système sous linux.

Lien vers le commentaire
Partager sur d’autres sites

jcaron et Dadou, vous soulevez tous les deux un point très important et avec lequel je suis entièrement d'accord : un développeur web n'est pas quelqu'un qui sait (bien) faire un site de A à Z, de sa conception, à sa promotion, en passant par son graphisme, son code, son hébergement et son contenu. J'ai par ailleurs bien aimé la formulation de Dadou et je me permets de la reprendre afin qu'elle soit un peu plus vue et comprise par la profession :)

Un webdeveloppeur n'est pas le couteau suisse du web

L'expérience m'a toutefois montré qu'il existe autant de profils de développeur web que de développeurs web. Je m'explique : j'ai connu des développeurs web qui se limitaient au Php/MySQL/JavaScript, j'en ai connu d'autres qui associaient merveilleusement bien ces compétences de base au référencement naturel, d'autres qui étaient également des intégrateurs CSS hors-pair et aussi des personnes qui maîtrisaient l'intégration CSS et l'administration système avancée mais pas le Php. Bref, j'ai l'impression que toutes les combinaisons sont possibles.

Je ne veux pas dire par là que je cherche une perle aussi rare qu'introuvable qui saura tout faire à la fois, mais je souhaite pouvoir déceler des talents ou du potentiel là où on ne l'attend pas forcément. La structure de l'agence est suffisamment souple pour que notre façon de travailler puisse s'adapter aux spécificités de nos collaborateurs, plutôt que l'inverse comme on le voit habituellement.

Dadou : bien sûr, la création de maquettes graphiques sous Photoshop/Gimp n'est pas du ressort d'un développeur web, mais il n'est pas rare de trouver des développeurs web capables de s'occuper aussi bien du backend (Php/MySQL) que du frontend (HTML/CSS) et dans ce cas, ils auront besoin d'aller chercher des bouts de maquette graphique (préalablement réalisée par un graphiste) dans un PSD/XCF. S'ajoutent à ça la connaissance des particularités des principaux formats d'image (PNG, JPG, GIF), le support inégal par les navigateurs et notamment les problématiques liées à la transparence, etc. C'est à ça que je pensais quand j'ai écrit Expérience de base avec Photoshop et/ou The Gimp pour le découpage des maquettes graphiques.

jcaron : je comprends l'intérêt de demander à un dev de réaliser un algo de tri, mais je suis d'accord avec toi, je risque de me couper aussitôt de 90% des postulants et ce n'est pas mon but. Je préfèrerais retenir un développeur web qui n'est pas forcément très à l'aise avec la récursivité (mais qui a tout de même de bonnes connaissances en Php) mais qui connaît très bien tel ou tel CMS, qui est au courant de la dernière trouvaille SEO et qui connaît Jquery sur le bout des doigts.

Un point à prendre en compte, c'est le temps qu'il faut pour répondre à tout ça. Mes tests de recrutement prennent déjà >2 heures, le tien prendrait probablement la journée une fois concrétisé :-(

Entièrement d'accord avec toi, c'est aussi pour ça que j'essayais d'avoir l'avis de la communauté pour voir quels étaient les aspects les plus intéressants. Je n'ai pas l'intention de tester tout ça, et puis j'estime qu'un test de recrutement ne pourra jamais tester de manière exhaustive et objective les compétences de quelqu'un (ne pas oublier le facteur stress !), pour ça il y a la période d'essai.

Comme test, je serait plus du genre à poser une problématique sur un point que le candidat ne connait pas, et d'observer comment il s'y prend pour résoudre le problème.

Je ne vais pas dévoiler une partie du 1ertest technique, mais il y a en effet un exercice que presque personne ne sait réaliser sans avoir cherché 5 minutes sur le net. La réalisation de cette partie est donc censée démontrer les capacités de trouver une information et s'adapter à un problème nouveau, ce qui finalement arrive très très fréquemment dans la journée type d'un développeur web :)

En définitive, non je ne cherche pas le couteau suisse du web, le webmaster des années 90, le métier s'est énormément spécialisé depuis, mais je suis pleinement conscient de l'étonnante biodiversité qu'on peut trouver dans ce milieu et je cherche à la mettre en valeur là où elle existe, voire à l'encourager. Autrement dit, si je devais tester (ce qui ne me semble pas du tout prioritaire) les compétences de base en administration système, ce ne serait certainement pas éliminatoire et de même pour la connaissance d'un CMS particulier. D'autant plus que si l'envie et la capacité d'apprendre sont au rendez-vous, ces compétences additionnelles viendront tout naturellement par la suite.

Lien vers le commentaire
Partager sur d’autres sites

Callisto,

Voici comment nous procédons. Un petit test rapide en rapport avec le projet en cours (la dernière fois sur un framework Ajax) et comme il n'est pas possible de tester l'ensemble des connaissances, un appel téléphonique aux anciens employeurs pour prendre des références. Ce dernier point est habituellement assez efficace.

Sylvain

Lien vers le commentaire
Partager sur d’autres sites

Salut,

j'ajoute ma petite contribution.

Personnellement je ne vois aucun intérêt à tester des compétences qui ne sont pas requises pour le poste offert. Je pense que cela aura plus tendance à perturber le candidat qu'autre chose.

En discuter lors des entretiens oui, c'est important de couvrir tout le panel des connaissances et aptitudes du candidat. Mais tester des choses qui ne sont pas liées au poste offert me parait être une perte de temps et une une source de confusion. Une perle rare connait parfaitement sa valeur, et ce type de test peut parfaitement lui donner une fausse impression sur le poste. Ce qui pourrait avoir comme conséquence de faire fuir le candidat.

Même en période de crise pour l'emploi en général, les "vraies perles rares" choisissent leur employeur et non pas l'inverse, il ne faut pas l'oublier.

Si l'employeur juge que des tests "hors poste" sont indispensables, c'est que, à mon avis, l'employeur a mal défini les besoins de son entreprise. En tant que candidat, un employeur qui ne sait ce dont à besoin sa société n'est pas non plus pour me rassurer. A moins que ce soit alimentaire, je passe mon chemin.

Voilà mes impressions sur le sujet.

Je n'aime pas les tests de recrutement, surtout parce qu'ils ne reflètent pas les qualités vraiment nécessaire pour le développement, pour moi un bon développeur ne connais pas forcement tel ou tel langage sur le bout des doigts, mais est capable de chercher l'information dont il a besoin et de s'en servir convenablement, les tests servent la plupart du temps à tester les connaissances d'un développeur, et non pas sa capacité d'adaptation, ce qui est pour moi presque plus important que les connaissances.

Comme test, je serait plus du genre à poser une problématique sur un point que le candidat ne connait pas, et d'observer comment il s'y prend pour résoudre le problème.

:thumbsup:

++

Patrick

Lien vers le commentaire
Partager sur d’autres sites

Je ne vais pas dévoiler une partie du 1ertest technique, mais il y a en effet un exercice que presque personne ne sait réaliser sans avoir cherché 5 minutes sur le net. La réalisation de cette partie est donc censée démontrer les capacités de trouver une information et s'adapter à un problème nouveau, ce qui finalement arrive très très fréquemment dans la journée type d'un développeur web :)

J'ai regardé ton test, et franchement, je ne vois pas de quel exercice tu parles, et pour ma part, je ne ferais pas un test type, mais un test basé sur le CV du gars, c'est à dire piocher dans les éléments qu'il ne sait pas faire.

Lien vers le commentaire
Partager sur d’autres sites

Objectivement, poser des questions d'algo n'est à mon sens pas une bonne idée. Je pense qu'il faut d'abord vérifier les capacités de modélisation du candidat et le fait qu'il soit sensibiliser à chercher dans la littérature les bonnes solutions algorithmiques.

Aujourd'hui, en sortie d'école d'informatique, avec un algo de tri vous éliminez bien plus que 90% des candidats, et c'est malheureux !

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...