Les banques font une curieuse utilisation de Python comme langage de programmation. Mais tout va bien

eFC logo
Les banques font une curieuse utilisation de Python comme langage de programmation. Mais tout va bien

Python est devenu le principal langage de programmation pour les postes en services financiers. eFinancialCareers recense actuellement 1 486 offres d’emploi en lien avec Python, contre 1 333 pour Java et seulement 891 pour C++. Cela n’a pas toujours été le cas.

Dans un commentaire publié récemment sur HackerNews, Sean Hunter, ancien vice president au sein de l’équipe strats de Goldman, raconte avoir introduit Python chez Goldman Sachs lorsqu’il y travaillait entre 2002 et 2011. « J’ai été le premier à déployer Python chez Goldman Sachs. À l’époque, c’était une « technologie non approuvée » mais le partner responsable de ma division m’a appelé pour me dire « Euh, salut Sean, c’est Armen. euh… j’ai entendu dire que vous aimiez Python… bon, si quelqu’un devait…euh installer Python dans le train… il ne se ferait sûrement pas virer. OK salut, » rapporte Sean Hunter.

À la suite de cet échange avec le partner, il explique que Python a été installé sur chaque ordinateur utilisé en risque et pricing dans la Securities Division de Goldman Sachs. C’était en 2002-2003. La révolution était en marche.

Sean Hunter – qui est aujourd’hui consultant – nous indique que Goldman a commencé à utiliser Python uniquement pour l’infrastructure informatique. Avant Python, Goldman utilisait Perl, mais Perl était très difficile à apprendre. « Le problème de Perl, c’est qu’il est incroyablement puissant mais tout aussi compliqué et difficile à comprendre. » Python requiert un niveau similaire de sophistication conceptuelle, ajoute-t-il : « c’est juste qu’il est beaucoup plus facile à transformer en code. »

Après avoir troqué Perl pour Python, Sean Hunter raconte que l’une des premières choses qu’il ait pu faire a été de pousser le code « dans le train » qui distribuait les mises à jour aux 20 000 ordinateurs asynchrones de Goldman, une chose qui avait toujours été beaucoup plus difficile auparavant.

Le monde étrange de la programmation en Python dans les banques

Sean Hunter a quitté Goldman Sachs il y a dix ans et a travaillé depuis pour un hedge fund, pour Palantir et pour une fintech. Son passage chez Goldman a donc sans doute constitué une bonne base pour la suite de sa carrière ailleurs. Pourtant, Cal Paterson, ancien développeur Python pour Bank of America, Citi et JPMorgan, laisse entendre que le temps passé à programmer en Python dans la banque peut en réalité impacter négativement l’employabilité dans d’autres secteurs.

Dans un article publié sur son blog la semaine dernière, Cal Paterson raconte que le ‘Python bancaire’ existe dans un monde parallèle étrange : le Python bancaire a évolué comme un moyen d’extraire des modèles financiers à partir d’Excel. Il emploie des magasins de valeurs « d’une simplicité bête et méchante » pour minimiser les erreurs, fait appel à des bibliothèques et des tables propriétaires, et fonctionne toujours avec un environnement de développement intégré (IDE en anglais) obligatoire, spécifique à chaque banque.

C’est pour cette raison que d’après lui, l’usage de Python dans les banques est très différent de celui qui en est fait dans les autres secteurs, et que les développeurs Python qui rejoignent des banques après un passage ailleurs ont besoin de temps pour s’adapter. Pire encore, et bien que les banques disposent de leurs propres pages GitHub, Cal Paterson voit se creuser le fossé entre le Python bancaire et le Python open source.

Chaque année passée dans une banque « est une année où les compétences nécessaires pour interagir avec un logiciel normal s’atrophient, » dit-il en guise d’avertissement.

La programmation en Python dans une banque n’a rien de si terrible

Est-ce donc si grave ? Franchement non pour qui veut faire toute sa carrière en services financiers. Mais si vous voulez travailler dans un autre secteur, vous risquez selon Cal Paterson de constater que vous avez pris du retard : « quand je suis parti, j’avais oublié en grande partie comment organiser pip et virtualenv - des compétences indispensables pour la pratique du Python standard ».

Une fois de plus pourtant, le fait que Cal Paterson ait réussi à se réinventer en codeur dans d’autres secteurs laisse supposer qu’il n’est pas complètement impossible de s’échapper de la banque

Les banques ont une longueur d’avance, mais c’est un secret

Voilà qui nous ramène à Sean Hunter. Car bien que les banques aient leurs propres écosystèmes Python aussi étranges soient-ils, il considère qu’elles ne méritent pas cette réputation de retardataires en matière de technologie.

Sean Hunter rappelle que durant sa période Goldman Sachs, au début des années 2000, la banque fonctionnait déjà avec ce qui serait aujourd’hui qualifié « d’environnement DevOps assez élaboré sous forme de « train » qui poussait son code. Il explique ainsi : « nous utilisions un pipeline CI/CD écrit en Perl pour construire et distribuer tout ce code. À l’époque, il y avait 20 millions de lignes en C++ et 10 millions en Java, et nous poussions le tout vers toutes nos machines dans le monde entier. » Il n’y avait rien de comparable ailleurs. « Il y a aujourd’hui de nombreux outils prêts à l’emploi pour le faire, mais à l’époque, c’était totalement nouveau. »

Sean Hunter ajoute que Goldman avait également une longueur d’avance dans la migration vers le type d’architecture distribuée qui allait finalement devenir le cloud. « Nous avions une grille de calcul interne très novatrice. On pouvait prendre un calcul, le scinder en une série de plusieurs blocs, le répartir sur différents serveurs, avoir les prix en temps réel en entrée et obtenir les résultats à l’autre extrémité. »

Sean Hunter n’a plus travaillé en finance depuis dix ans, et s’est donc largement détaché du stade où en sont les banques aujourd’hui. Mais le fait de ne plus entendre parler de nouveaux produits développés en interne ne signifie pas que les banques ont cessé d’innover. « Tout ce que nous faisions était top secret, et personne à l’extérieur n’en a jamais rien su, » confie-t-il sur cette période. « Les banques élaborent quantité de choses pour des cas d’usage spécifiques qui n’existent pas encore, et le monde finit par suivre. »

Ceci s’applique tout particulièrement au Python bancaire et au machine learning. – Les banques ont accès à certaines des plus grandes quantités de données dans le monde. Si quelqu’un utilise Python de manière innovante de nos jours, ce sera donc certainement une banque. La différence a parfois du bon.

Have a confidential story, tip, or comment you’d like to share? Contact: sbutcher@efinancialcareers.com in the first instance. Whatsapp/Signal/Telegram also available.

Bear with us if you leave a comment at the bottom of this article: all our comments are moderated by human beings. Sometimes these humans might be asleep, or away from their desks, so it may take a while for your comment to appear. Eventually it will – unless it’s offensive or libelous (in which case it won’t.)

A lire aussi…

Secteurs les plus recherchés

Loading...

Recherche emploi

Rechercher articles

Close