Dans de nombreuses entreprises le management a tendance à considérer les développeurs comme de simples exécutants, tels les serreurs de boulons dans le film Les Temps Modernes. Loin de moi l’idée de critiquer ceux qui travaillent à la chaîne. Pour l’avoir fait c’est clair que c’est un travail très dur. Mais dans le cas des développeurs c’est une erreur que de considérer la production de code comme une chaîne de production telle qu’on la trouve dans l’industrie. Explications.
Écrire du code : une tâche très ardue
L’écriture de code n’a rien de la tâche répétitive pour laquelle on pourrait remplacer n’importe quelle personne par une autre au pied levé. En fait c’est même probablement l’une des tâches intellectuelles les plus complexes. D’ailleurs de nombreuses personnes n’hésitent pas à tenir des propos du type je ne comprends rien à ces trucs d’ordinateur tout en méprisant justement ceux qui les comprennent.
Et justement, comprendre ces trucs d’ordinateur c’est très compliqué. Un exemple très simple : vous remplissez une boîte de dialogue et le programme vous renvoie une erreur intelligible. Souvent gérer ce type d’erreur est très complexe et ne peut pas être fait à la chaîne. De même, certains programmes sont très rapides parce qu’ils ont été bien optimisés, et là encore c’est un processus très complexe.
Et dites-vous bien que si écrire du code était si simple et que les développeurs étaient des ressources jetables qu’on peut remplacer par le premier venu, vous n’auriez aucun mal à écrire tout un programme tel que LibreOffice.
Un mépris venu d’une position hiérarchique
En France on a tendance à vénérer les chefs et mépriser ceux qui sont en bas de la hiérarchie d’une entreprise. Alors oui être chef est un métier difficile pour ceux qui font bien leur travail, ce qui est hélas rarement le cas, beaucoup se contentant de déléguer sans jamais rien arbitrer. Les développeurs sont au contraire tout en bas de la hiérarchie pour les raisons qu’on comprend, mais tout comme le métier de chef c’est un domaine qui requiert de l’expertise.
Il faut notamment acquérir une certaine manière de penser qui est loin d’être triviale. Un bon exemple pour illustrer ceci est le dîner des philosophes. Dans la même veine imaginez une imprimante. Une approche naïve pourrait être de dire que dès que celle-ci reçoit un ordre d’impression elle se met à travailler, ce qui semble logique. Maintenant, si deux personnes demandent à imprimer chacune un document au même moment, que se passe-t’il ? Est-il acceptable que l’imprimante imprime les deux documents sur une même feuille ?
Typiquement ce genre de problématique ne peut être résolu qu’au cas par cas et en aucune façon de manière systématique. Ce qui explique qu’un développeur ne peut être un simple exécutant car il y a peu de chances que les donneurs d’ordres aient pensé à ce genre de cas.
Un mépris qui se retrouve dans le salaire
Une des illustrations principales du mépris dont sont victimes les développeurs se retrouve dans le salaire qu’on leur verse. Les informaticiens sont en effet parmi les plus mal payés des ingénieurs. Il est clair que les SSII ne sont pas étrangères à ce phénomène, de même que les clients d’ailleurs, mais cela n’explique pas tout. Le fait qu’ils soient en bas de la hiérarchie et que leur domaine d’activité soit considéré comme simple parce que l’informatique c’est simple j’ai fait un hello world contribue encore à accentuer ce mépris. Tout ça commence d’ailleurs dès les écoles d’ingénieurs où on explique aux étudiants que coder n’est qu’une phase transitoire et qu’ensuite ils vont devenir chefs, donc ceux qui ne le deviennent pas sont des losers qu’on peut prendre de haut… et mal payer. Tout le contraire de ce qu’il se passe aux États-Unis où il est courant qu’un développeur soit mieux payé que son chef si son expertise le justifie.
Dès lors il va de soi qu’à force de subir du mépris et des paies médiocres les développeurs n’aient aucun scrupule à aller voir ailleurs quitte à littéralement planter des entreprises, et ils ont raison de réagir ainsi. Pour ces dernières il s’agit d’une grosse perte car non seulement elles perdent des gens, mais surtout des personnes formées. Et quand on sait qu’il faut six à huit mois pour qu’un développeur soit pleinement opérationnel… pas besoin de faire un dessin. Ce type de comportement tout à fait justifié est hélas souvent très mal interprété par la hiérarchie, qui considère ses développeurs comme des mercenaires et les méprise donc davantage, tire les salaires vers le bas, et un cercle vicieux en résulte.
Bien évidemment tout ce turnover entraîne une baisse de qualité des logiciels car vu les plannings délirants souvent imposés la documentation et les tests passent à la trappe. Autrement dit la connaissance nécessaire pour faire évoluer les applications n’est que dans la tête de ceux qui sont partis, et les nouveaux doivent tenter de la reconstituer tant bien que mal, souvent avec de grosses lacunes qui engendrent des bugs. Au final tout le monde est perdant, les entreprises car leur comportement fait qu’elles perdent en compétitivité face à la concurrence, et les développeurs qui ont un niveau de vie qui baisse d’année en année.
En bref…
Considérer les développeurs comme de simples exécutants jetables et corvéables à merci est une stratégie qui peut fonctionner quelques mois voire quelques années, mais au bout du compte l’entreprise y perd. On le voit notamment dans la finance de marché où il faut toujours prendre les gens les moins chers, peu importe la compétence. Les logiciels produits sont souvent ultra-buggés, au point que les banques ont des procédures de rééquilibrage des comptes… sur des dizaines de millions d’euros chaque année. Et pour les éditeurs de logiciels c’est pareil, ce qui explique en grande partie pourquoi en France hormis Dassault nous n’avons pas de grands éditeurs…
Tout ça pour dire que considérer les développeurs comme des exécutants et les mépriser à ce titre revient à menacer l’économie tout entière !
Besoin de tester ton niveau en développement informatique ?
Cet article vous a plu ? Vous aimerez sûrement aussi :
- La démarche DevOps
- Entrepreneurs, pourquoi c’est important de bien payer vos développeurs
- Comment un manager peut-il (bien) challenger un développeur ?
Julien
Moi c’est Julien, ingénieur en informatique avec quelques années d’expérience. Je suis tombé dans la marmite étant petit, mon père avait acheté un Apple – avant même ma naissance (oui ça date !). Et maintenant je me passionne essentiellement pour tout ce qui est du monde Java et du système, les OS open source en particulier.
Au quotidien, je suis devops, bref je fais du dév, je discute avec les opérationnels, et je fais du conseil auprès des clients.