Avant toute chose, il convient de dire qu’en matière de développement, les besoins diffèrent beaucoup selon les projets. Le plus important est de comprendre d’abord le besoin auquel un développeur doit répondre : quel type de problématiques techniques va-t-il rencontrer (scalabilité, forte charge, etc.) ? Quel environnement technique va-t-il rejoindre (approche TDD, méthodes agiles) ? Doit-il mettre en place des outils (gestion de version, intégration continue, bug tracking) au sein de l’équipe qu’il va rejoindre ? Aura t-il un rôle d’encadrant technique ?
Les réponses à ces questions amènent à chercher des développeurs aux compétences et expériences parfois différentes. Quant au marché, il est très tendu côté candidats : la demande excède largement l’offre. Plus que dans d’autres métiers, la veille constante, la passion, les projets personnels valident la qualité des candidats – indépendamment de leur école.
Les écoles d’ingénieurs viennent souvent renforcer l’aspect « tête bien faite ». Les écoles d’ingénieurs généralistes, a fortiori celles qui sont précédées d’un enseignement en classes préparatoires, offrent des garanties en termes de capacités en algorithmie. Ainsi, les profils ingénieurs ont souvent « appris à apprendre » et montent plus facilement en compétence sur de nouveaux langages. Ils comprennent mieux le fonctionnement interne des langages de programmation.
Certaines écoles sont très orientées développement/programmation et, mécaniquement, c’est en provenance de ces écoles que les start-ups que nous accompagnons recrutent le plus de candidats. Je pense en particulier à EPITECH qui a mis en place une pédagogie innovante au lancement de l’école en 1999 ; pédagogie partiellement reprise et renforcée par 42.
À EPITECH, les étudiants travaillent en mode projet, dans des schémas proches de ce que l’on retrouve en entreprise. La pédagogie pousse l’esprit d’initiative et les candidats sont très opérationnels pour le développement – web notamment.
Les profils provenant de l’ETNA (filiale du groupe IONIS, le groupe d’EPITECH) réalisent leurs études en alternance. Cela permet de se fondre plus rapidement encore dans le monde professionnel.
D’un point de vue empirique, on rencontre beaucoup de profils développeurs provenant de l’école du web Hétic qui propose des cursus spécialisés sur les métiers du web. Les écoles telles qu’EPITA, l’ESGI ou SUPINFO forment également un grand nombre de bons développeurs.
Parmi les écoles d’ingénieurs, certaines sont spécialisées (ESTACA dans les transports, ESTP pour le bâtiment) et il est très rare de croiser des candidats qui viennent de ces écoles.
D’autres sont plus généralistes et, dans ce cas, on observe un nombre non négligeable de candidats (qui suivent souvent une spécialité développement et réseaux) provenant de l’UTC, l’ECE, l’UTT, des petites Mines (Nantes, Saint-Etienne, etc.), des polytechniques, des INSA (Rouen, Lyon) ou encore des écoles Centrales (Marseille, Lille).
Il serait logique de croire que les meilleurs développeurs sont issus des écoles d’ingénieurs les plus réputées mais cette assertion est inexacte. En effet, on constate que les plus grandes écoles d’ingénieurs comme Polytechnique, Centrale Paris, Supélec ou Télécom ParisTech fournissent bon nombre de profils entrepreneuriaux.
Il est courant de croiser des ingénieurs issus de ces tops schools à la tête de start-ups, notamment dans un rôle de CTO. Les candidats provenant de ces grandes écoles semblent donc avoir une propension plus importante à créer des entreprises. On peut expliquer cela par plusieurs facteurs :
En fonction des besoins des clients, le nombre de candidats autodidactes est loin d’être négligeable, en particulier sur les profils orientés administration systèmes. De nombreux passionnés codent depuis leur enfance, lorsqu’ils ont eu leur premier ordinateur. De même, les communautés open-source qui gravitent autour de différents langages et technologies favorisent l’auto-apprentissage ou le côté peer-to-peer.
Les évolutions sont extrêmement rapides dans ces métiers et un développeur qui ne se met pas régulièrement à jour est vite dépassé. Le côté autodidacte fait donc partie du métier de développeur, quelle que soit la formation académique initiale. Dans notre métier, nous côtoyons également bon nombre de candidats ayant suivi un parcours universitaire avec un niveau Licence ou Master. Il n’est pas rare de croiser des Doctorants.
À noter que les profils issus d’universités comme Pierre et Marie Curie à Paris ou Claude Bernard à Lyon sont particulièrement représentés, car elles ont un positionnement scientifique.
Depuis plusieurs années déjà, on observe une recrudescence des formations alternatives aux traditionnelles écoles d’ingénieurs ou du web. Encouragées par les pouvoirs publics qui souhaitent favoriser l’émergence de ce type structures pour répondre à une demande de développeurs de plus en plus importante, celles-ci accueillent généralement des candidats en reconversion ou cherchant à acquérir des compétences complémentaires pour enrichir leur CV.
Parmi les structures les plus connues, nous pouvons citer Le Wagon (Ruby), Simplon (Javascript), IronHack (Vue.js & React.js), la Wild Code School (PHP, Javascript & mobile), The Hacking Project (Ruby & React.js), ou encore Le Reacteur (React native) qui sont des formations qui s’étalent sur plusieurs mois. Elles s’adressent majoritairement aux développeurs novices excepté pour Le Réacteur qui s’adresse également aux développeurs plus confirmés souhaitant maitriser un autre langage. Alors comment évaluer les élèves issus de ces formations ?
"La meilleure façon de voir si les personnes sortant de ce genre de formation ont la tête bien faite est de procéder à un test technique : poser des questions de culture générale informatique, voir si elles font de la veille ; regarder leur portfolio sur GitHub pour voir leur capacité à livrer du code ; leur faire faire des exercices techniques, pour voir leur capacité à bien développer", Felix Gaudé, co-fondateur du Hacking Project.
Il est clair que le niveau des étudiants y est plus disparate que celui au sein des écoles d’ingénieurs qui bénéficient d’une formation plus poussée et s’appuient sur des bases plus solides, notamment concernant les acquis algorithmiques.
Cependant, nous avons pu observer ces dernières années qu’il y avait de bons (voire très bons) profils provenant de ces formations alternatives. Le principal enjeu réside dans l’évaluation de ces derniers par rapport au marché. En effet, il est compliqué de jauger immédiatement leur niveau car, très souvent, ils n’ont aucune expérience professionnelle dans le développement.
Toutefois, ils sont encouragés durant leur formation à réaliser de la veille technologique, des sides projects, qu’il est facile de consulter sur Github. Cela peut donner un bon aperçu de la qualité de leur code et des langages utilisés.
Tout comme pour les profils juniors qui sortent d’écoles d’ingénieurs, les startups misent là sur un potentiel. Ce potentiel se valorise d’autant plus qu’il se conjugue à une vraie curiosité intellectuelle, à une personnalité avenante, à une veille technologique poussée, à des projets techs concrets à montrer en entretien (hackathon, projets open-source, etc.). Tout ceci joue un rôle-clé dans "l’embauchabilité" des profils qui ont suivi des formations dites alternatives.
En définitive, il n’y a pas de recette miracle pour dénicher les meilleurs développeurs car il y a une multitude de variables à prendre en compte. Au-delà du diplôme et des compétences techniques, on ne peut évidemment négliger l’aspect humain, ce qui complique la tâche lorsqu’il s’agit de trouver le bon candidat.
Une des règles essentielles dans ce métier est de ne pas se fier uniquement au parcours académique et de n’avoir aucun préjugé. Ce sont les compétences, la capacité à apprendre et la personnalité qui sont déterminantes.
Toutefois, on retrouve des caractéristiques communes à certains profils, en fonction des parcours académiques qu’ils ont suivis ou des types d’entreprises dans lesquelles ils ont travaillé. Cela permet d’orienter les recruteurs dans leurs recherches.