« C’est ridicule ce
(reformulation libre de débats trouvés sur Twitter)getTauxRemboursementSecu()
. Le code on le fait en anglais.
Je ai eu ce débat quasiment dans chaque équipe que j’ai traversé. Les réponses n’ont pas toujours été les mêmes et — sans vous dire quoi faire dans votre situation spécifique, bien que mon avis générique soit assez tranché — je peux au moins partager les expériences.
Ils ont choisi l’anglais
Pour autant que je m’en souvienne ça a été décidé par cohérence, parce que c’est comme ça que ça se fait dans le développement, parce que le langage lui-même est en anglais, ou/et pour avoir un jour des collaborateurs non francophones dans l’équipe.
Décision facile
Je n’ai vu aucune équipe revenir sur cette décision. Elle est comprise, acceptée et respectée par tous. Tous savent ou pensent savoir parler assez anglais pour ça. Ça a même pu fait partie des critères de recrutement (et peut-être que le fait que ça soit un critère de recrutement a pu influencer la décision).
Cohérence limitée
Attention toutefois à l’argument de cohérence dans le code pour avoir tout en anglais. On déchante en fait rapidement avec des cas spécifiques. Pour avoir vécu justement le cas de l’introduction, comment traduire « sécurité sociale » dans le taux de remboursement de la sécurité sociale ?
C’est un nom propre et utiliser un terme générique n’a pas trop de sens voire pourrait induire en erreur si un jour il s’agit effectivement d’aller à l’international avec d’autres organismes. Garder le terme français fait un peu sauter les argument de cohérence et d’uniformité du code.
Le problème apparaît de toutes façons dès qu’on va à l’international, qu’on soit en anglais ou en français, parce qu’il va falloir introduire des termes de plusieurs langues. Il reste que pour une équipe franco-française avec un produit français, on déchante un peu sur le bénéfice de cohérence attendu.
Jusqu’où aller
La limite n’est pas facile à trouver. Le code en anglais a parfois transpiré sur les commentaires de code, sur les discussions d’architecture et sur les propositions de changement (oui, j’ai traduit « pull request », que vas-tu faire ?), puis les commentaires de ces demandes dans GitHub, les documentations techniques, etc.
La limite est celle qui se trace entre la tech et le produit : le produit continue à travailler dans leur langue naturelle. L’idée d’ajouter une frontière supplémentaire entre tech et produit ne va malheureusement pas trop dans le sens que je souhaite pour mes équipes.
La seule équipe qui n’a pas eu ce problème c’était une équipe réellement internationale sur plusieurs pays, dans une boite US. Eux n’ont jamais eu à se poser la question.
Les termes métiers
Où que soit la limite, j’ai souvenir de difficultés pour passer d’une langue à l’autre, de la création de lexiques pour nos termes et concepts métiers dans les différentes langues, et de débats sur comment représenter tel ou tel concept juridique ou jargon spécifique qui n’a pas d’équivalent dans une autre langue.
C’est moins simple qu’il n’y parait. Je crois qu’à chaque fois l’équipe s’est fait prendre par des faux amis, des traductions malheureuses, et des termes imprécis ou qui se sont révélés trop génériques, au point de poser problème.
C’est même arrivé dans une équipe qui travaillait sur un produit pour le Royaume Uni. Changer un terme métier après coup parce qu’on a utilisé le mauvais dans tout l’environnement de développement, c’est très loin d’être une évidence. Je pense qu’ils vivent encore avec un terme qui représente des choses différentes suivant qu’il est utilisé dans le code ou dans le métier et par les utilisateurs. C’est généralement exactement la situation qu’on cherche à éviter.
On ne maîtrise pas l’anglais
Je crois que c’est mon préalable. La croyance que tout le monde parle anglais dans la tech est fausse. Presque tout le monde sait lire de l’anglais technique, avec un niveau de compréhension variable. La plupart savent écrire de l’anglais, mais souvent avec un niveau de vocabulaire plutôt basique.
L’anglais n’est pas maîtrisé, les nuances ne sont pas disponibles, le vocabulaire reste générique, les connotations ne sont pas comprises ou pas voulues. On est parfois sur le niveau de langue d’un enfant de maternelle, mêlé à d’autres personnes qui ont une maîtrise assez élevée.
Un frein à la communication
L’effet majeur que j’ai vu, c’est toutefois le frein à la communication.
Le métier du développement informatique est majoritairement un métier social. L’enjeu n’est pas de taper des lignes mais de comprendre le métier, d’y trouver des solutions, et de faire avancer ensemble des projets. La communication est au cœur.
L’anglais qui transpire sur les commentaires du code, c’est déjà un peu de frein. On utilise du vocabulaire moins précis et quelques faux amis. Ce n’est pas dit que la compréhension y gagne alors que les commentaires sont déjà trop souvent sous-estimés.
Avec de vrais impacts
Quand les échanges des propositions de modification et des discussions d’architecture étaient fait en anglais, on avait une vraie perte mesurable : Des échanges moins cordiaux et plus d’incompréhensions.
Personnellement je l’interprète parce qu’un langage mal maîtrisé, sans nuances, ça ne permet pas d’être efficace. On n’explique pas les concepts de la même façon à un enfant de maternelle, et pourtant on maîtrise souvent les langues étrangères moins bien qu’un enfant de maternelle.
S’il y a une limite que je fixerais si jamais je devais passer à l’anglais dans une équipe uniquement française, c’est de ne pas dépasser les fichiers de code. Les demandes de modification, les discussions d’architecture et tous les échanges ne doivent se faire que dans la langue la mieux maîtrisée par l’équipe.
Ils ont choisi le français
Et les autres ? J’ai aussi eu des équipes qui ont choisi le français. Le code est alors mixte. Les fonctions purement techniques sont généralement en anglais. Les termes métiers sont par contre repris tels quels. Parfois ça donne même des noms de fonction à moitié en français et à moitié en anglais, et pas qu’à cause des préfixes comme get ou set.
Décision faible
C’est moche, peu convaincant, ça semble bancale. La question se repose de temps en temps et les partisans de l’anglais n’ont jamais semblé vraiment considérer qu’on avait pris la bonne décision (alors qu’en passant à l’anglais, les partisans du français considéraient la question tranchée définitivement et ne la relançaient pas). J’interprète ça comme une frustration latente sur les incohérences qu’on rencontre quotidiennement.
J’ajouterai que plus l’égo est grand, plus cette frustration est importante, surtout pour ceux qui sont en haut de la courbe de Dunning-Kruger avec l’impression du « on ne fait pas comme il faudrait pour que ce soit bien fait, moi je sais comment il faudrait faire mais ils ne sont pas au niveau ».
Sans défaut
Pour autant, je n’ai jamais rien constaté comme problème si ce n’est cette frustration de ceux qui aimeraient passer à l’anglais.
Les termes métiers sont compris et partagés à l’identique dans toute l’entreprise. Les termes utilisés sont tous compris par tous. Les échanges sont fluides. Les personnes se comprennent (et quand ce n’est pas le cas, le vocabulaire n’en est pas la source). Le code n’est pas plus difficile à utiliser pour autant, quand bien même il y aurait ce mélange de langues.
Et donc ?
Mon biais est probablement évident. La pureté théorique rencontre souvent la réalité pratique. Le sentiment de cohérence me semble bien bien moins important que les problèmes rencontrés en utilisant plusieurs langues dans l’entreprise.
Tant que je peux utiliser le français dans une entreprise française constituée à 90% de francophones, la question ne se pose quasiment plus pour moi.
Peut-être qu’un jour le personnel de l’entreprise devra s’internationaliser, soit avec des bureaux dans d’autre pays, soit par un rachat. On prévoit ça comme un avenir souhaitable pour la croissance mais est-ce que ça va vraiment arriver ? À quelle échéance ? Est-ce qu’handicaper l’entreprise en attendant est vraiment un bon investissement ?
On parle souvent de dette technique. Passer à l’anglais trop tôt, est pour moi une vrai dette, majeure. Il est possible que l’investissement soit pertinent. Dans les cas que j’ai rencontré, c’était surtout une erreur.
J’ajouterai : Attention aux décisions prises par l’égo et par l’aspiration à faire ce qu’on pense que les autres font ou devraient faire. C’est un vrai facteur de mauvaises pratiques.
Plutôt que sélectionner mes recrutement en fonction du niveau en anglais, je préfère filtrer pour éviter les personnes qui mettent trop d’égo dans leurs choix et interactions.
Laisser un commentaire