Les non-talents
Après avoir écrit la série d'articles sur la recherche des talents, j'ai reçu de nombreux commentaires et questions de la part, notamment, des développeurs français. Pour beaucoup, je dois faire une précision : cette série d'articles parlait des talents, autrement dit les développeurs qualifiés et passionnés. Beaucoup d'entreprises, surtout provinciales, ne recherchent pas les talents, mais les personnes ayant une certaine maîtrise, souvent partielle, d'une ou plusieurs technologies.
Est-ce qu'une petite entreprise provinciale qui ne se distingue en rien des milliers des autres ne fera-t-elle pas mieux d'avoir, par exemple, deux talents à la place d'une douzaine de codeurs ? Personnellement, je suis persuadé que si, et mon expérience auprès d'un bon nombre de petites entreprises le confirme. Un vrai talent fait toute la différence : il augmente considérablement les capacités de l'entreprise, a suffisamment d'initiative par comparaison à l’inertie fréquente des gens qui travaillent dans ces entreprises en province, et possède une productivité considérable. Actuellement, le problème majeur des petites entreprises qui embauchent les codeurs, c'est qu'ils ne comprennent pas que l'écriture du code ne constitue que 10 à 20% du projet, que le code lui-même n'a qu'une importance mineure dans le succès du projet, et enfin qu'un codeur n'a souvent pas la capacité d'écrire un code de qualité. Ils se retrouvent alors avec un groupe de gens incapables de former une équipe et incapables en tant que tels de réaliser le projet d'une qualité même médiocre.
On peut faire facilement la comparaison avec le domaine de la construction immobilière. Imaginez un choix : faire construire une maison par une équipe spécialisée d'architectes, juristes, électriciens, etc., ou alors confier la construction à un groupe de maçons qui vous assurent qu'ils croient être capables de faire la menuiserie, de mettre les conduites de gaz et même de peindre les murs. Pour on ne sait bien-sûr pas quelle raison, ces maçons acceptent de travailler pour le SMIC, alors qu'un architecte exige un salaire quatre fois plus grande.
Mais je diverge. Je disais donc, les petites entreprises de province ne cherchent pas les talents, mais les codeurs. Approche critiquable, mais qui doit être acceptée tant qu'on a pas réussi à changer la culture française de recherche de médiocrité, si ce n'est nullité, dans tout ce qui a un rapport avec IT en général et le domaine de développement des logiciels en particulier.
Dès lors, avant d'appliquer les conseils que je donne dans la série d'articles qui précède, il faut tout d'abord déterminer si l'entreprise s'inscrit dans ce courant de médiocrité, ou bien si elle recherche actuellement à réaliser les produits qui vont amaze (dans le sens dans lequel ce terme est employé par Stephen Denning) leurs clients. Dans le premier cas, la série d'articles ne s'applique pas.
Maintenant, beaucoup de questions que j'ai reçu portent sur la façon pour ces entreprises-là d'écrire leurs annonces d'emploi et de chercher les non-talents d'une manière générale. Voyons donc ce qu'il en est.
Qu'est-ce qu'un non-talent ?
Comme j'ai expliqué ci-dessus, embaucher un talent nécessite un changement considérable de culture de l'entreprise. Un talent au sein d'une entreprise qui vise la médiocrité n'apportera pas beaucoup (notamment parce que les collègues vont faire tout pour l’empêcher) et ne restera pas longtemps, puisque l'entreprise ne peut lui apporter ce dont il en a besoin.
Les non-talents, en revanche, ont souvent des motifs différents.
Une partie des techniciens à ne pas négliger est constituée des profils de “the Dead Sea effect” de Bruce F. Webster : leur but est d'avoir un environnement stable, statique, prédictible. Contrairement aux talents, ils n’apprécieront pas d'avoir à apprendre les nouvelles technologies ou de changer leurs méthodes de développement. Ces gens-là constituent les travailleurs fidèles qui, idéalement, maintiennent durant toute leur carrière, le projet qu'eux-mêmes ont commencé quinze ou vingt années auparavant.
Ces techniciens sont motivés par la stabilité et la tranquillité du travail.
Une autre partie est constituée des « techniciens-ouvriers ». Pour eux, programmer est une façon de pouvoir payer leurs factures. Ils travaillent pour l'argent, et s'ils sont éventuellement intéressés par la programmation, ce n'est certainement pas cet intérêt-là qui est le principal facteur qui les motive à travailler. Il est facile de repérer les techniciens-ouvriers pendant ou en amont d'un entretien : ils ne publient pas d'articles, ils n'ont pas ou peu de projets open source, ils contribuent peu à la communauté, ils ne sont pas prêts à former les jeunes développeurs et ils ne peuvent parler avec passion de leur métier.
Leurs motifs se réduisent à avoir un salaire, mais ils acceptent volontiers d'avoir un salaire pas très haut.
Enfin, une dernière partie, ce sont les gens qui auraient pu être des talents, qui ont lu The Mytical Man Month ou Code Complete et qui gardent un certain intérêt pour le développement, mais l'effacent au travail face à un projet banal et inintéressant dans le contexte d'une entreprise Dilbertesque. Ces gens, ce sont souvent les bons étudiants qui espéraient avoir par la suite le travail de leur rêve, et qui, après avoir changé plusieurs fois d'employeur, se sont rendus compte que partout, on attend d'eux de la médiocrité, l'absence d'initiative, la soumission totale à un chef de projet le plus stupide (plus il est stupide, plus il sera haut placé dans la hiérarchie) et bien entendu le désintéressement total dans le projet et beaucoup d'hypocrisie. Pourquoi ces gens-là ne prennent pas-t-ils la peine d'essayer de changer les choses ? Surement les traits de caractère les conduisent à adopter un comportement passif.
Ces gens-là peuvent par moments considérer leur travail intéressant ; ils peuvent essayer de faire le travail le mieux possible dans les mesures du possible, malgré la pression de leurs collègues et supérieurs hiérarchiques, mais leurs motifs sont différents des talents dans la mesure où ces derniers chercheront à adopter un rôle proactif au sein de l'entreprise, à influencer les processes et les méthodes et à chercher les projets avec un plus grand challenge technique, éventuellement en dehors de l'entreprise, à défaut de pouvoir le faire à l'intérieur.
Résumons : les non-talents sont motivés par un travail stable et tranquille, un salaire comme seule contrepartie de leur travail, et un rôle passif qui se traduit également par l'absence de responsabilités importantes.
Il est essentiel de comprendre cela pour pouvoir rechercher effectivement les meilleurs de ces profils.
Offres d'emploi
Beaucoup de questions que j'ai reçu sont relatives aux offres d'emploi. Imaginons qu'une entreprise médiocre est consciente qu'elle ne peut fournir de conditions de travail nécessaires à un talent, et recherche donc juste une personne ayant une relative maîtrise d'une technologie. Comment doit être rédigé leur offre d'emploi ? Quels sont les éléments à y inclure ou à omettre ?
Les consignes de la série d'articles précédente peuvent s'appliquer à ce cas là également. Il convient ici aussi de présenter la personne, l'entreprise et le contexte. L'erreur courante est de vouloir présenter l'entreprise meilleure qu'elle l'est. L'usage des termes prétentieux ou dont l'auteur ne connaît pas forcement la signification y contribue beaucoup. Mon dernier emploi était appelé « analyste programmeur » et s'effectuait dans le « département R&D ». Selon l'entrepreneur. En réalité, c'était simplement un travail de codeur dans une entreprise qui ne peut faire ni recherche, ni développement, faute d'avoir le niveau nécessaire. Les termes prétentieux comme « à la pointe des technologies », « innovant », « excellence » sont souvent utilisés à tort par les entreprises médiocres. Ils peuvent parler également de l'environnement agile ou autres choses à la mode (selon eux), n'ayant toutefois aucune idée de ce que c'est que l'agilité.
Pourquoi mentir à ce niveau est tellement préjudiciable pour l'entreprise ? D'une part, parce que la personne, une fois embauchée, découvre vite la réalité ; actuellement, une personne avec un peu d'expérience le découvre déjà lors de l'entretien d'embauche, voire même en amont de l'entretien. D'autre part, ceci autorise, voire même oblige le candidat à mentir également en présentant son profil de la même manière que l'entreprise présente le sien. On retrouve dès lors un expert en plein de choses être embauché dans un département R&D d'une entreprise à la pointe de la technologie à recherche d'excellence : autrement dit un codeur PHP amateur au sein d'une boîte de trois personnes qui font des sites web sur mesure pour les commerçants de la ville. Était-ce vraiment utile de jouer à ce jeu de « on est les meilleurs » ?
Le problème avec ce genre de mensonges est que ça peut ne pas attirer les profils que j'ai décrit auparavant, en particulier tous les gens qui cherchent un travail dans un environnement calme et stable, et en même temps attirer les jeunes programmeurs qui veulent découvrir l'excellence technologique et l'innovation, faute de l'avoir durant leur cursus universitaire. Ces jeunes auraient pu apporter beaucoup dans ce monde, et il est dommage de briser leurs carrières en leur faisant découvrir ce genre d'entreprises comme étant à la pointe de la technologie.
Outre la présentation de la personne, de l'entreprise et du contexte et vu qu'on ne cherche plus un développeur, mais on codeur, il convient de mettre cette fois-ci la liste des technologies. Pourquoi ? Spécifiquement parce que les personnes qu'on recherche ici sont celles qui ne souhaitent pas et n'ont souvent pas la capacité à apprendre les nouvelles. Ce que je veux dire par là et sans être en rien négatif envers ces gens, c'est qu'un développeur est censé pouvoir s'adapter en un temps limité à des exigences technologiques, notamment pour avoir la liberté de choisir la meilleure technologie pour la résolution d'un problème donné. En revanche, on codeur n'a pas ce rôle-là : son rôle, c'est d'écrire le code en un langage donné, point. Si l'entreprise souhaite qu'il migre vers une nouvelle technologie, à elle de payer sa formation et de lui laisser plusieurs mois pour l'apprendre.
Exemples
Voici plusieurs exemples commentés d'offres d'emploi pour la ville de Poitiers.
Exemple 1
Titre : Développeur (H/F) H/F
Poste/Missions :
- Vous créez des programmes en répondant aux attentes du client (interne ou externe).
- Vous apportez toute l’assistance nécessaire à l’ensemble des utilisateurs en termes de conseil et de formation, dans le respect du système Qualité du groupe et des engagements Qualité clients.
- Vous participez au développement informatique.
- Vous contribuez aux opérations de paramétrage et d’éventuelles modifications, et assurez le suivi du produit.
- Vous pouvez être amené à concevoir les documentations pour les utilisateurs.
Expérience requise :
- Environnement SQL Server, Visual Studio.
- Connaissances en programmation (SQL, C#, PHP, Javascript).
- Capacité d'analyse, aime le travail en équipe et le contact avec les utilisateurs.
- Sens du service et respect des délais.
Formation/profil :
- Connaissances en programmation (SQL, C#, PHP, Javascript).
- Environnement SQL Server, Visual Studio.
Expérience souhaitée : Vous avez 2 ans d'expérience sur un poste similaire.
Remarques :
Il manque la présentation. Quelle est cette entreprise ? Qui parle ? Pourquoi recherche-t-il des codeurs ? Est-ce qu'il s'agit d'une petite boîte de trois personnes, ou d'une entreprise de plusieurs centaines de salariés ?
La liste des technologies est ambiguë : le mélange de C# et PHP est étrange. J'envisage néanmoins la possibilité pour une entreprise de produire, par exemple, les web services en PHP et un client lourd en C#, donc ce n'est pas particulièrement alarmant.
Exiger une expérience sur un poste similaire est raisonnable. J'espère juste que l'entreprise ne base pas son choix de candidat sur cet élément-là, et est consciente qu'il existe aussi bien des postes où le codeur perd le niveau, plutôt que d'en gagner.
Conclusion : hormis quelques erreurs (« les documentations » au pluriel ?), les termes louches tels que « engagements Qualité » et toute absence de présentation, cette annonce a l'avantage d'éviter les erreurs les plus fréquentes et être claire et authentique.
Exemple 2
Titre : Développeur Web Front-End (HTML5 / Javascript) H/F
Société :
Vous rêvez ergonomie HTML5 chaque nuit ? Vous ne pouvez pas prendre votre petit déjeuner sans réaliser un algorithme Javascript ? Votre paire de chaussures ressemble à une feuille de style CSS3 ? Alors rejoignez notre équipe...
Missions :
Participer au développement d'une application Web unique et à l'ensemble de ses IHM et fonctionnalités. Réel(le) passionné(e), vous avez une excellente maîtrise des langages orientés front-end.
Formation/profil :
Connaissances requises :
- HTML5
- CSS3
- Javascript
- JQuery
Connaissances souhaitées :
- Bootstrap
- Backbone.js
- Requirejs
- Underscorejs
- LESS
Et la partie back-end, dans tout ça ?
Aucune connaissance particulière n'est demandée pour le moment. Cette partie est réalisée en C# MVC 4, par plusieurs développeurs spécialisés. Cependant, si vous avez des compétences dans ce langage, dans l'exploitation du moteur Razor ou de technologies telles que Linq et Entity Framework, vous êtes le (la) bienvenu(e). Dans le contraire vous serez formé(e) au nécessaire voire à plus si vous le souhaitez...
Mais qui êtes-vous ?
Leader régional dans la réalisation d'applications Web et Mobile, notre équipe réalise, entre autre, le développement d'un TMS full web (Ticketing Management System). La 3ème version de ce logiciel, entend utiliser toutes les techniques Web les plus modernes telles que : Ajax, REST/JSON, WebAPI, Websockets, Webservice, Responsive Design. Il ne manque plus que vous pour participer à ce futur succès...
D'ailleurs si vous avez lu jusque-là, c'est que ce poste de développeur est fait pour vous !
Expérience souhaitée :
Aucune particulière.
Remarques :
L'auteur a voulu donner un air « cool » à l'annonce, mais ne savait pas réellement comment s'y prendre. Certainement pas en mettant des choses qui ne veulent rien dire. Et oui, « ergonomie HTML5 » veut dire autant que « couleur Java » ou « graphisme Haskell ». Pourquoi un algorithme en JavaScript ? Comment les chaussures doivent-elles ressembler à un fichier CSS ? D'une manière similaire, une personne qui n'a pas d'humour ne doit pas tenter d'écrire les choses humoristiques.
S'agissant de l'authenticité, il s'avère que je travaillais sur le projet dont il est question dans cette annonce, ce qui me permet de dire que l'annonce a autant d'authenticité qu'un commercial de France Loisirs. D'ailleurs, la même agence a publié une autre offre d'emploi pour un développeur C#. On y parle d'une « équipe dynamique et passionnée » pour designer en réalité un groupe de six personnes dont le dynamisme et la passion se caractérise surtout le vendredi soir quand ils peuvent enfin se débarrasser de leur travail pour deux jours. Curieusement, il n'en est nullement question des méthodes Agile ; pourtant, le groupe a fait des efforts considérables pour faire semblant de mettre en place une pseudo-gestion Waterfall pour ensuite l'abandonner au profit de l'absence de méthode. De la même façon, n'ayant aucune équipe à proprement parler, mais uniquement des personnes travaillant chacun de son côté, je m'attendais à voir la mention de « l'esprit d'équipe ».
Toujours est-il que les expressions tels que « application Web unique », « Réel(le) passionné(e) », « excellente maîtrise des langages » et « les techniques Web les plus modernes » sont des bons signes que quelque chose ne va pas. Les exemples des « techniques les plus modernes » comme Ajax ou REST confirment facilement l’hypothèse que soit la personne ne sait pas très bien de quoi elle parle, soit veut à tout prix utiliser les termes prétentieux. On est à la pointe de la technologie, voyez, on utilise même ASP.NET MVC 4 (soit une version qui date de plus de deux ans et a été remplacée un bon bout de temps par une nouvelle version) et Ajax (soit un terme qui remonte à 2005).
Le fait que la personne ne réalise pas que « C# MVC 4 » ne correspond strictement à rien et que « Javascript », « JQuery », « Requirejs », « Underscorejs », « Websockets », « Webservice » et « Responsive Design » ne s'écrivent pas comme ça est également un point qui conduit à se poser les questions. Est-ce que c'est une personne qui participe au projet qui a écrit l'annonce ? Si oui, pourquoi ne connaît-elle pas les noms des technologies utilisées ? Ne les avait-elle jamais vu mentionnée nulle part ? Si c'est une personne extérieure au projet, pourquoi ne pouvait-elle pas demander de l'aide à quelqu'un qui fait partie du projet ?
Le titre du poste ne correspond pas au poste en question. Vu que l'entreprise recherche un code monkey, il est incorrect de spécifier qu'ils recherchent un développeur. Programmeur serait un terme plus approprié, tout en évitant la connotation péjorative de « codeur ».
L'entreprise est-elle bien présentée ? On sait qu'il s'agit, selon eux, d'un leader régional dans la réalisation d'applications web et mobile, description plus que problématique (notamment parce que la moitié des entreprises de la région croît être le leader). Hormis cela, l'annonce ne contient rien pour se faire une idée de l'entreprise, si ce n'est le souhait de donner un air « cool » sans être capable de le faire.
Ni la personne, ni le contexte ne sont présentés.
Conclusion : l'annonce aurait pu avoir l'avantage d'être précise sur les exigences en termes de technologies, mais le fait qu'elle a été écrite par une personne qui ne sait pas les noms de ces technologies laisse des doutes sur ce que l'entreprise recherche réellement. La présentation est particulièrement mauvaise, n'étant pas authentique tout en étant prétentieuse.
Exemple 3
Titre : Webdéveloppeur (H/F)
Société :
[...] est une agence web située à Poitiers (86). Son activité regroupe la création de sites internet, référencement, progiciels, applications mobiles.
Missions :
Création de sites web (sites vitrine, e-commerce, sur mesure) en passant par leur développement et leur maintenance.
Formation/profil :
Vous êtes réactif(ve) et motivé(e) et voulez mettre vos connaissances au profit d’une équipe de passionnés au sein d’une société dynamique alors cet emploi vous correspond. Doté(e) d’un bon relationnel et d’un fort esprit d’équipe, vous êtes rigoureux(se) et autonome afin de gérer au mieux vos projets. Passionné(e) d’Internet, vous aimez les challenges et savez vous adapter de manière permanente aux nouvelles technologies. Vous maîtrisez le langage web intégration HTML, CSS et développement PHP.
Expérience souhaitée :
Avoir acquis une licence professionnelle en rapport avec les nouvelles technologies serait un plus.
Remarques :
L'entreprise est présentée brièvement, mais la présentation est inachevée. Il n'y a aucune information sur le style de l'entreprise, sa taille.
Les expressions « une équipe de passionnés », « société dynamique », « bon relationnel », « fort esprit d’équipe », « rigoureux(se) et autonome », « challenges » laisse présager le pire. En revanche, l'entreprise a l'avantage de ne pas prétendre d'être le « leader régional », de chercher une « excellence technologique », etc.
Le titre n'a aucun sens. Ils cherchent un codeur ou un intégrateur (ou une personne pouvant faire les deux tâches).
Conclusion : la personne aurait dû passer davantage de temps en se présentant et en présentant l'entreprise et le contexte, et moins de temps à faire une énumération des expressions douteuses.
Conclusion des exemples
Nous voyons que dans les trois cas, les problèmes majeurs sont le manque de présentation, la mauvaise utilisation des termes et, sauf la première annonce, un certain manque d'authenticité. En revanche, tous ont l'avantage de citer très clairement les technologies que le candidat doit connaître.
Un autre exemple
Voyons maintenant comment est-ce qu'il est possible d'écrire une annonce qui évite les erreurs qui ont été commises dans les exemples d'avant. L'exercice ici est d'écrire une annonce fictive de recherche d'un codeur PHP pour une petite entreprise de fabrication des sites web sur mesure qui est pour le moment submergée par les commandes des clients. Il s'agit d'une entreprise imaginaire qui est tout à fait ordinaire et banale : quatre codeurs viennent tous les jours pour faire avancer les projets qui n'ont rien d'intéressant. Il y a un directeur, dont le rôle est surtout administratif, comptable et commercial. Les programmeurs travaillent souvent seuls, chacun sur son projet, mais peuvent par moment travailler en groupe (et non équipe) de deux lorsque le projet est urgent. L'entreprise a récemment souhaité mettre l'accent sur l'ergonomie et le design, mais faute de pouvoir trouver les talents, elle n'a que leurs deux graphistes qui y travaillent.
Titre : programmeur PHP
Description :
Je suis le directeur de la société Exemple SARL basée à Lunel, à deux pas de Montpellier. Notre société réalise les sites web pour les petites et moyennes entreprises partout dans la région Languedoc-Roussillon. La société comporte quatre programmeurs PHP et deux graphistes et, face à une récente croissance de commandes de nos clients, cherche à augmenter son effectif en accueillant un programmeur supplémentaire.
Votre tâche sera de gérer de A à Z les projets de nos clients. À ce titre, vous allez définir les aspects techniques du projet, évaluer les délais, réaliser les tests fonctionnels, tests système, tests d'intégration et les tests unitaires, rédiger le code et assurer le déploiement effectif de ce code sur le serveur du client ainsi que sa maintenance.
Vous travaillerez seul(e), ou, plus rarement, en groupe. Vous allez également être en contact fréquent avec le client et l'une de nos graphistes.
Profil :
Je cherche un programmeur ayant une expérience suffisante en PHP, HTML et CSS. Idéalement :
- Vous connaissez la programmation orientée objet,
- Vous savez expliquer les points faibles de PHP et les moyens de les contourner,
- Vous avez utilisé CodeIgniter et Symfony,
- Vous avez déjà réalisé plusieurs sites internet dynamiques,
- Vous avez les notions de base de HTTP, REST, JSON, AJAX, XML,
- Vous connaissez certaines méthodes de développement, leurs avantages et leurs inconvénients.
Les connaissances en ergonomie, le design d'interaction et l'expérience utilisateur seraient très appréciables.
Rémunération :
Votre salaire dépendra de votre expérience mais ne pourra malheureusement pas être supérieure à 30 000 €/an brut. En revanche, nos salariés ont une mutuelle, les horaires flexibles et le remboursement de 50% des frais de transport. Vous bénéficiez également d'une journée rémunérée (en dehors de votre congé) pour une sortie par mois pour vous et votre famille au sein de Languedoc-Roussillon, les frais de déplacement étant remboursée à 50% par l'entreprise.
Contrairement aux exemples précédents, celui-ci contient assez d'informations sur la personne, l'entreprise et le contexte. L'annonce reste parfaitement transparente sur l'entreprise : on y voit à la fois sa taille et son style. Il n'y a aucune prétention à l'humour et la personne n'essaie pas d'être « cool », sans pour autant avoir un sérieux inutile d'une corporation.
Il n'est pas question d'excellence, de dynamisme, de réactivité. Juste sept personnes qui se voient jour après jour pour faire avancer les projets qu'ils ont sous leur charge, au rythme d'une petite entreprise du sud de la France. Pourtant, il y a là dans l'annonce et la question de sens de responsabilités, et de l'autonomie ; juste que, contrairement aux annonces mal écrites où la personne se croit obligée de mettre les mots clés, celle-ci fait comprendre les choses sans avoir besoin de les nommer.
De la même façon, la mention de la présence de deux graphistes femmes est un avantage indéniable, mais un avantage qu'on ne peut exprimer directement, uniquement faire comprendre la chose.
L'annonce est également très claire sur les compétences requises et souhaités. Si elle avait été écrite par l'actuel directeur sans connaissances techniques, il a sûrement demandé conseil à l'un des programmeurs, à quelqu'un qui connaît plutôt bien la culture PHP.
Qu'on est-il de la contrepartie financière ? L'annonce ne cherche pas à la cacher. Il y a le maximum possible, il y a aussi le signe qui montre que le directeur aurait été heureux de payer plus s'il avait cette capacité, et comment il contrebalance le salaire si petit. Par la même occasion, il réaffirme les priorités : l'entreprise est tout à fait consciente que ses salariés ont des familles et une vie personnelle. Le fait que l'entreprise se situe pas loin de la mer, dans une région agréable à vivre, a également son importance.
Si en plus de l'annonce de ce genre, le directeur en question fait un effort d'être proactif, comme j'expliquais dans la série d'articles à ce sujet, et qu'il confie l'entretien à l'ensemble des quatre programmeurs, il a toutes les chances de trouver un salarié qui correspondra parfaitement aux besoins et sera parfaitement satisfait de tout ce que l'entreprise peut lui proposer en retour de ses efforts.