L’édito de GNU/Linux Magazine n°235 !

L’autre jour, au restaurant, j’étais attablé derrière une table de développeurs. J’étais donc incognito, et c’est alors que d’une oreille distraite je pus les entendre fustiger les choix patronaux d’employer des développeurs indiens. Et là je me dis : tiens, voilà un bon sujet d’édito ! En effet, cela fait déjà quelque temps que le développeur indien sévit sur nos terres… mais que lui reproche-t-on au juste ?

Depuis quelques années l’Inde est devenue une sorte de Géant de la sous-traitance informatique mondiale. Avec des salaires particulièrement bas, l’offre indienne est particulièrement attractive… mais à quel prix ? Le développeur indien étant vu comme un développeur low cost, on pourrait supposer qu’il doit nécessairement être moins bon que le développeur européen (français en l’occurrence), ne pas respecter les conventions de codage, ne pas écrire de commentaire, ni même de test unitaire, etc. C’est en tout cas ce que j’ai entendu, n’ayant jamais eu à collaborer avec de tels développeurs.

Pourtant, si l’on réfléchit quelques instants, qu’est-ce qui pourrait différencier le développeur français du développeur indien ? Même si les formations ne sont sans doute pas équivalentes, les fondamentaux restent les mêmes et « ce que l’on conçoit bien s’énonce clairement, et les mots pour le dire arrivent aisément » (Nicolas Boileau) ! Cet extrait de « L’Art poétique » expliquant comment bien écrire en français peut être transposé dans notre domaine en « ce que l’on conçoit bien s’énonce clairement, et le code pour l’écrire arrive aisément ». C’est d’ailleurs la base de la méthodologie de débogage dite du Rubber Duck ; j’ai découvert son nom à la rédaction de cet éditorial, je l’ai toujours appelée méthode du Teddy Bear : expliquez votre problème à un ours en peluche (ou tout autre objet inanimé) et la solution vous apparaîtra comme par miracle (pas toujours, mais souvent). Or donc, si le problème est énoncé clairement, quel que soit le développeur (bon ou mauvais), il produira toujours un meilleur résultat que si le projet reste flou. Donc pour un développeur français ou indien d’un niveau faible – comprendre incapables de prendre une initiative en termes de programmation – sans structuration claire des tâches à effectuer il sera utopique d’espérer un code convenable.

Si, comme chez nous, il y a de mauvais développeurs indiens, comme chez nous, il doit nécessairement y en avoir des bons… Il y a fort à parier que tout comme pour les bons développeurs français il faudra les payer correctement sous peine de les voir s’envoler vers d’autres cieux et que ce ne sont donc pas eux les fameux « développeurs indiens » dénigrés par les développeurs de la table voisine.

Où se situe alors le problème puisque finalement les profils sont équivalents ? Le problème est qu’il y a de plus en plus de besoins de développeurs, mais pas nécessairement de candidats ayant le bon profil ou de proposition salariale en adéquation avec les attentes du poste et qu’à choisir entre un mauvais développeur payé en France et un mauvais développeur payé en Inde, économiquement parlant le calcul sera vite fait. Il faut donc continuer à apprendre et à s’améliorer.

Dans GNU/Linux Magazine, nous continuons à penser qu’il faut comprendre comment fonctionnent les choses pour pouvoir les coder. Ce mois-ci avec l’exemple du simulateur d’une machine Enigma nous le montrons encore, alors bonne lecture et n’oubliez qu’au final nous sommes tous le « développeur indien » de quelqu’un…

Tristan Colombo


Retrouvez GNU/Linux Magazine n°235 :