“Python est comme un langage de programmation jouet comparé à C++”

Antony Peacock en sait long sur l’utilisation du C++ en finance. Développeur C++ senior chez Maven Securities, il est membre du comité des normes C++ et travaille sur la technologie de trading depuis 2008. Avant de rejoindre Maven, Peacock était développeur quantitatif au fonds spéculatif Citadel. Et avant de rejoindre Citadel, il était analyste quantitatif chez Barclays et Citi. Il code en C++ depuis plus de deux décennies.

“Vous pouvez devenir un assez bon programmeur C++ en peu de temps, mais devenir un expert prend très, très longtemps”, déclare Peacock. “Il y a beaucoup d’erreurs que vous pouvez faire dans le langage et des centaines de règles dont vous devez vous souvenir. C’est très, très compliqué, et vous apprenez à travers des années d’embûches et d’erreurs et en corrigeant les bogues et le code des autres.”

Commencez à apprendre le C++ jeune

Peacock a appris le C++ alors qu’il était encore à l’université, où il s’est spécialisé dans le codage de jeux vidéo. “Ma thèse était comme 100 000 lignes de code en C++”, dit-il. “Ce n’était peut-être pas un très bon C++, et il y a des quantités énormes que je ne connais toujours pas, mais j’ai passé des heures et des heures à pratiquer la compétence – je trouve toujours que beaucoup des meilleurs développeurs C++ sont autodidactes.”

Le problème aujourd’hui est que trop peu d’universités enseignent aux étudiants comment coder en C++, dit Peacock. Alors que certains, comme Baruch, enseignent toujours la langue comme un moyen de différencier leurs élèves, beaucoup sont passés à l’enseignement de langues beaucoup plus faciles comme Python.

Python contre C++

Python est idéal pour les prototypes, mais pas tant pour la construction de systèmes commerciaux, dit Peacock. “C’est presque comme un langage de jouet”, dit-il, avant de se corriger rapidement de peur de contrarier les développeurs Python. “- Python est un langage sérieux, mais c’est un outil qui a sa place. Vous pouvez l’utiliser pour construire des prototypes rapides, mais ce n’est pas un langage qui a le niveau de robustesse que vous voudriez si vous échangez des milliards de dollars .”

Contrairement à Python, C++ possède un compilateur statique qui vous oblige à corriger vos erreurs au fur et à mesure. En comparaison, Python est un langage à typage dynamique, qui ne révèle que si le code fonctionnera correctement lorsque vous essayez réellement de l’exécuter. Pour cette raison, Peacock dit que Python peut être un langage frustrant avec lequel travailler : “Python est très libérateur – il vous permet d’exprimer des pensées très rapidement et de manière concise sans avoir à trop vous soucier de la façon dont vous exprimez le langage, mais il y a beaucoup des gens de la finance qui passent beaucoup de temps à déboguer du code Python existant.”

Il y a aussi “beaucoup de mauvais C++” dans la finance, dit Peacock, mais le langage est d’un ordre différent de Python. “C’est comme un puzzle géant”, dit-il. “C’est le langage des utilisateurs experts – vous pouvez faire les choses avec un grand niveau de contrôle, mais cela demande beaucoup plus d’efforts.”

Cette complexité, combinée à la publication fréquente de standards et de nouvelles fonctionnalités (la dernière en date étant C++20) est ce qui rend le C++ difficile à vraiment maîtriser. Plus vous en apprenez sur la langue, moins vous réalisez que vous savez vraiment, dit Peacock : “Bjarne Stroustop [the man credit with inventing C++, who works for Morgan Stanley] est plutôt content de se lever lors de conférences et de dire qu’il se note 7/10 en tant que développeur C++ », observe-t-il.

Devriez-vous apprendre C++ au lieu de Python ?

C’est mois cela vaut la peine d’apprendre le C++. Avec l’épuisement de l’offre d’étudiants universitaires compétents en C++, Peacock dit que l’industrie financière se bat pour un petit groupe de développeurs dans le langage.

Certaines entreprises choisissent de saisir l’ortie et de former elles-mêmes les gens. Chez Maven Securities, Peacock prévoit de recruter environ 10 recrues diplômées en septembre (contre deux l’année dernière) et de les former en C++20. Il embauche également des développeurs expérimentés qui souhaitent travailler sur les systèmes de pointe de Maven. “Les entreprises doivent être plus réactives à la pénurie de talents C++ et faire plus pour enseigner les compétences aux gens”, dit-il.

Plus tard ce mois-ci, Peacock organise un webinaire de formation C++ gratuit pour les personnes intéressées par les emplois de trading algorithmique avec le célèbre formateur C++ Rainer Grimm et Richard Hickling, l’ancien technologue de la salle des marchés qui est parti pour créer une société d’analyse cryptographique l’année dernière. Il a également rassemblé une liste de conférences C++ et de réunions de groupes d’utilisateurs auxquelles assister sur le blog de Maven.

Il est possible d’apprendre le C++, souligne Peacock – mais cela demande des efforts et de la patience. “Nous pouvons vous apprendre, mais vous devez également avoir votre propre motivation et des mentors pour vous guider dans le processus. Il existe de très bonnes ressources en ligne de nos jours, et la plupart des conférences sont rediffusées sur YouTube.”

Cliquez ici pour créer un profil sur eFinancialCareers. Rendez-vous visible auprès des recruteurs qui recrutent pour des emplois dans la technologie et la finance.

Vous avez une histoire confidentielle, un conseil ou un commentaire que vous aimeriez partager ? Contact : sbutcher@efinancialcareers.com en premier lieu. Whatsapp/Signal/Telegram également disponible (Telegram : @SarahButcher)

Soyez patient si vous laissez un commentaire en bas de cet article : tous nos commentaires sont modérés par des êtres humains. Parfois, ces humains peuvent être endormis ou loin de leur bureau, votre commentaire peut donc prendre un certain temps avant d’apparaître. Finalement, ce sera le cas – à moins que ce ne soit offensant ou diffamatoire (auquel cas ce ne sera pas le cas.)

Photo de Huy Hung Trinh sur Unsplash

Leave a Comment