Ces derniers temps, plusieurs signes fugaces, diffus mais bien présents ne m’ont pas échappé: sur Twitter des “stage développement en startup non rémunéré, excellente ambiance” tandis que sur Linkedin, Remixjobs ou autre job board des “recherche stagiaire(s) expérimenté(s)” ou encore “stagiaire excellente connaissance en [remplacez ici par votre techno]” éclosent deci delà. A ne pas s’y méprendre, la saison 2012 des stages abusés est désormais ouverte!
Comme à mon habitude, bien que la traite des stagiaires touche tous les domaines sans exception d’une entreprise (et certainement la palme revenant aux pauvres stagiaires market/com réduits à effectuer du cold calling toute la journée couplé à du remplissage d’Excels ignobles et gestion des papiers, du café ainsi que de l’entretien de la moquette) je me concentrerai dans ce billet uniquement sur le stagiaire développeur dans le contexte d’une jeune startup, que nous appellerons ici Kevin.
Pour un jeune entrepreneur qui recrute, idéalement, Kevin est (les points se cumulent):
- Gratuit. Lorsqu’on bootstrap sa startup, que l’on a en tout et pour tout 400€ de capital, un projet en développement et pas de clients avant quelques semaines, cet aspect est crucial.
- Un codeur hors pair. Il est expert dans la technologie recherchée, et aussi toutes les autres si possible. Il a de l’expérience (certainement sur son temps libre, car c’est bien connu, ce n’est pas sur les bancs de cours qu’il l’aura acquise)
- Disponible 8 mois ou plus. Ça serait bête de se priver, quitte à prendre du temps à le recruter, à lui montrer comment on fait le café et vu qu’il est gratuit, autant le garder à vie.
- Un passionné de débug. Oui, Kevin est spécial, il aime ce que tout développeur normalement exècre. Il pourra donc repasser derrière moi ou les autres devs pour terminer et pister/corriger les bugs. Chouette.
Pour Kevin son stage représente (un seul point possible):
- Une corvée imposée par son cursus. Un douloureux mais bref moment à passer avec un diplôme au bout.
- Une expérience unique où il pourra s’épanouir et progresser, apprendre de nouvelles technologies, participer à des projets intéressants.
- Sans avis. Ne sait pas trop ce qu’il fait là.
- Une chance d’être payé une fortune, de monter sur la capitale ou de venir en France, de sortir le soir faire la fête, prendre un grand appartement, dépenser, économiser, acheter. Au moins 1800€ net/mois + primes
- Jauger la faculté d’adaptation, la rigueur et la propreté du code (in situ, autrement que durant les entretiens). Je fais toujours commencer mes stagiaires par un travail ingrat et conspué plus haut dans mon billet: le débug. En effet, en fonction de comment Kevin se débrouille, je le place deux à cinq jours sur du débug/résolution d’issues Github sur le projet, mais très rarement plus. Cela permet de donner une vision d’ensemble du projet à Kevin en lui assignant des tickets sur différentes fonctions/langages de notre solution. Il doit ainsi se documenter et se renseigner sur la solution, son architecture, les méthodes afin de mener à bien cette tâche. Ensuite, la façon dont il corrigera ces bugs indique clairement sa façon de penser et de coder: Kevin est plutôt du genre à corriger le souci en 2 secondes en hackant comme un cochon 4-5 lignes indigestes de surcharge ou réfléchira-t-il plus longtemps pour re-factorer proprement ce qui est nécessaire? Bien qu’à 70% du temps on s’oriente vers la première solution, cela donne d’importantes indications pour les points suivants
- Déléguer et faire gagner en autonomie. Directement lié au point précédent, il est important de rapidement laisser Kevin se débrouiller seul sur ses tâches. Pour cela, je prends une à deux semaines à regarder exhaustivement tous les commits de Kevin. Github facilitant grandement la tâche, je commente tout ce qui ne va pas, tout ce qui a besoin d’être amélioré, ligne par ligne. De même, je m’assure que Kevin sache où il doit aller et comment y aller: un SCRUM détaillé et réaliste est établi avec lui tous les lundis, et il sait ainsi à quoi s’en tenir chaque semaine (Gardez en tête qu’il ne peut aller aussi vite et efficacement que vous ou vos CDI dans un premier temps, au mieux à la fin de son stage..)
Même s’il est possible d’écrire encore et encore sur ce sujet, je terminerai pour ce billet (encore une fois bien long) par ceci: un stagiaire n’est pas un employé accessible financièrement. Il est nécessaire en startup lorsqu’on débute, car c’est tout ce que l’on peut s’offrir. Il peut être nécessaire lorsque l’on souhaite “défricher” un poste nouveau avant d’en faire un poste à plein temps. Mais dans tous les cas, bonne ou mauvaise recrue, c’est une fois de plus ce que vous attendez de lui et ce que vous lui confiez qui déterminera la qualité de son travail et le bon déroulement de son stage. Ne confiez pas une nouvelle et importante feature à un stagiaire “moyen” sous peine de voir éclore celle-ci mais de tout devoir reconstruire (en deux fois plus de temps) pour la faire évoluer tout comme ne cantonnez pas un “bon” stagiaire à 4 mois de débug ou compatibilité IE6 par manque de confiance sous peine de ne pas profiter de son potentiel ;)
Dans tous les cas, je ne saurais que conseiller à Kevin de faire son stage en environnement startup, c’est là qu’il aura (malgré un salaire moindre certes) le plus de responsabilités, le plus de fun et la réelle impression d’apporter à l’entreprise et participer à son développement. D’ailleurs, il me semble que Balloon recrute… ;)