
Image:
DAVID HOLT ,
CC BY 2.0Selon les statistiques du portail Stack Overflow, le secteur financier est parmi les dix industries les plus populaires parmi les développeurs. Aujourd'hui, nous allons parler de ce à quoi s'attendre pour les spécialistes qui envisagent de commencer une carrière dans les sociétés financières.
Conditions de travail
Les emplois dans la finance sont certainement différents des emplois dans les startups ou les grandes sociétés informatiques. Voici une approche plus traditionnelle de l'organisation du processus de travail, il est rarement possible de rencontrer des bureaux «design» ou beaucoup de divertissement pour les employés. Souvent, il existe également un certain code vestimentaire, qui peut être inhabituel pour les développeurs travaillant dans des startups.
Par exemple, il n'y a pas si longtemps, les journalistes de Business Insider ont analysé la popularité des sociétés financières parmi les candidats LinkedIn et ont constaté que Morgan Stanley, qui occupait la 4e place, en attirait beaucoup en raison de l'absence d'un code vestimentaire trop strict (par rapport à d'autres banques).
Lorsque vous obtenez un emploi dans une banque d'investissement, un fonds spéculatif ou une société de courtage, il est également difficile de compter sur un
bureau d'
études avec d'énormes espaces de jeu et de sport, des salles de massage, des chambres à coucher et des aliments entièrement gratuits. Très probablement, cela se produira, mais pas à une échelle telle que dans Google conditionnel.

Par exemple,
le bureau Goldman Sachs possède une salle de sport et les employés peuvent bénéficier d'une remise sur ses cartes de club. Un fait intéressant: même sur les écrans des simulateurs des moniteurs de veille économique s'affichent:

Comme vous pouvez le voir, du point de vue des attributs externes de la «fraîcheur», le travail dans le domaine de la finance peut être inférieur aux startups informatiques et aux grandes entreprises technologiques. Pourquoi, alors, de nombreux développeurs viennent-ils encore dans ce domaine? Ceci est facilité par la possibilité d'utiliser des technologies avancées pour travailler sur des projets intéressants.
À quels projets puis-je participer?
Le marché financier est représenté par un large éventail d'entreprises: il y a des bourses, des banques, des fonds d'investissement, des sociétés de courtage et des développeurs de logiciels indépendants (par exemple, des robots commerciaux). En conséquence, les développeurs peuvent participer à une variété de projets allant de l'écriture de systèmes et d'outils de trading pour travailler avec le Big Data à la construction d'infrastructures utilisant le matériel le plus moderne.
En utilisant ITI Capital comme exemple, vous pouvez comprendre à quoi les professionnels de l'informatique sont confrontés dans les sociétés de courtage. Nous développons notre propre système de trading Matrix, le terminal
SmartX (plus d'informations sur l'historique de ce projet peuvent être trouvées
ici ), développe une API pour notre infrastructure appelée
SmartCOM . Un domaine distinct est la création d'applications mobiles pour le commerce en ligne.
Interface du terminal de trading SmartXDans le domaine de la finance, la vitesse et la productivité maximale sont importantes, par conséquent, beaucoup d'efforts sont consacrés à l'amélioration de ces indicateurs des produits logiciels créés. Dans le blog, nous avons parlé à plusieurs reprises du fonctionnement, par exemple, de l'
optimisation du terminal de trading.
Langages de programmation courants
Une partie importante de l'infrastructure des sociétés de courtage et des échanges est créée en utilisant le langage C ++ - avec lui, une variété de produits sont créés à partir des bibliothèques pour calculer les modèles de prix des dérivés jusqu'aux modules pour le traitement des flux de données. Les spécialistes qui connaissent cette langue sont très demandés. De plus, le créateur de la langue, Bjarne Stroustrup,
travaille chez Morgan Stanley Investment Bank en tant que directeur de la technologie.
En plus de C ++, C # et Java sont très répandus - avec leur aide, ils implémentent souvent certaines parties des applications de trading ou des services front-end des sociétés financières (par exemple, les interfaces graphiques des terminaux de trading).
Les langages de script, tels que Python, MATLAB et R, sont également utilisés pour décrire les stratégies de trading et les modèles de prototypage. Les langages de script sont également populaires, qui peuvent même être intégrés dans des terminaux de trading, tels que
TradeScript , avec lesquels les robots de trading peuvent être écrits directement. à l'intérieur du terminal SmartX.
Une stratégie TradeScript simple enregistrée dans la fenêtre du terminal de tradingDe plus, selon les recruteurs des sociétés financières interrogés par le portail Efinancial Careers, les développeurs Python sont en demande - ce langage est indispensable pour créer des outils analytiques et des modèles quantiques - les technologies de traitement des données comme Hadoop, Cassandra et Scala gagnent également en popularité.
De quoi d'autre avez-vous besoin pour pouvoir
Chaque entreprise a ses propres exigences, mais certaines tendances dans ce sens peuvent également être formulées. Les spécialistes de l'utilisation des infrastructures lorsqu'ils entreront dans le domaine de la finance n'auront pas à reconstruire sérieusement, mais les développeurs peuvent avoir besoin de connaissances spécifiques.
Pour obtenir un emploi dans une entreprise financière sérieuse, vous devez nécessairement connaître parfaitement la POO et les algorithmes standard. Le développement de systèmes financiers client-serveur va également de pair avec une programmation multi-thread. Par conséquent, le spécialiste ne devrait pas avoir peur des tâches impliquant, par exemple, l'écriture d'un serveur TCP standard, d'un serveur d'équilibrage de charge et d'un serveur hautes performances.
Les bases de données sont au cœur des systèmes pour le secteur financier, les développeurs auront donc besoin d'une connaissance approfondie de SQL. La connaissance des opérateurs de sélection simples ne sera pas suffisante - assez souvent au cours du travail, vous devrez gérer la création de procédures de stockage, gérer les index et divers types de verrous.
Les systèmes de trading utilisent généralement la plate-forme UNIX (souvent Linux). Pour Windows, des terminaux de trading avec des interfaces graphiques sont généralement créés, tandis qu'UNIX est utilisé pour développer le "moteur" des logiciels de trading. De plus, les spécialistes impliqués dans le développement de logiciels commerciaux doivent être capables de travailler avec des
GPU , des
coprocesseurs et des cartes réseau modernes (par exemple, Mellanox et Solarflare).
N'oubliez pas les connaissances technologiques qui s'appliquent spécifiquement au secteur financier - avant de chercher un emploi dans une société de courtage conditionnel, vous devez comprendre, par exemple, les protocoles de transfert de données comme FIX ou, dans le cas de la Bourse de Moscou, ASTS Bridge dans notre Le blog a publié toute une série de documents sur ces technologies (
FIX ,
Fast ,
Plaza II ,
ASTS Bridge ).
Autres documents financiers et boursiers d' ITI Capital :