Proximie
Headlands Technologies LLC
Développeur logiciel C++
À propos du poste
Description du poste de Développeur logiciel (C++) pour Headlands Tech
Lieux : Amsterdam ; Chicago ; Londres ; New York
Les jeunes diplômés doivent postuler via l'offre d'emploi séparée pour jeunes diplômés.
Nous sommes fiers d'être un lieu de travail qui respecte l'égalité des chances et d'offrir à nos employés un environnement de travail exempt de discrimination et de harcèlement. Toutes les décisions d'emploi chez Headlands Tech sont basées sur les besoins de l'entreprise, les exigences du poste et les qualifications individuelles, sans égard à la race, la couleur, la religion ou les croyances, l'origine nationale, le sexe, l'orientation sexuelle, l'identité/expression de genre, l'âge, le statut de vétéran protégé, le statut de personne handicapée, ou toute autre caractéristique protégée par la loi applicable. Headlands Tech ne tolérera aucune discrimination ou harcèlement basé sur l'une de ces caractéristiques.
En soumettant cette candidature, vous acceptez notre règlement général sur la protection des données (d1yu8ia9htmon.cloudfront.net/gdpr-privacy-policy/) et nos politiques de confidentialité (d1yu8ia9htmon.cloudfront.net/privacy-policy/).
Périmètre
En tant que développeur logiciel chez Headlands Tech, vous concevrez, développerez et implémenterez les logiciels de trading de la société en langage de programmation C++. Vous travaillerez en étroite collaboration avec les équipes de recherche, systèmes et opérations pour architecturer, implémenter et analyser de nouveaux algorithmes de trading électronique automatisé. Vous jouerez un rôle clé dans la conception et la construction de l'infrastructure logicielle de la société pour soutenir les activités nouvelles et existantes. De plus, vous étendrez la plateforme de recherche propriétaire de la société pour améliorer les performances et prendre en charge de nouvelles bourses, produits et fonctionnalités.
Au quotidien
Il ne s'agit pas d'une liste exhaustive, mais d'une sélection des types de tâches que les développeurs logiciels chez Headlands Tech entreprennent lors du développement et de la maintenance d'un système de trading automatisé à grande échelle fonctionnant 24 heures par jour.
- Construire, maintenir et améliorer la connectivité aux bourses
- Tirer parti de l'infrastructure existante, en étendant les fonctionnalités si nécessaire
- Développer une compréhension approfondie du comportement des bourses pour l'intégrer à notre système de trading existant
- Maintenir et étendre l'infrastructure de recherche principale
- Concevoir, implémenter et maintenir des systèmes de stockage distribués avec diverses exigences de performance et de fiabilité
- Résoudre les limitations de performance au sein de nos propres logiciels, des bibliothèques et applications open source, de Linux, etc.
- Examiner les nouvelles technologies pour améliorer la stabilité, l'évolutivité et les performances
- Implémenter de nouvelles stratégies de trading en collaboration avec les équipes de recherche et d'opérations
- Étendre le framework de stratégie pour permettre de nouveaux comportements et améliorer ceux existants
- Examiner les problèmes de signal pour le système de trading
- Rapprocher les différences entre les performances des stratégies de trading en simulation et en production
- Examiner les problèmes de trading en production en collaboration avec les équipes d'opérations, systèmes et recherche
- Optimiser les performances du système de trading en direct
- Mesurer la latence et le débit par des microbenchmarks, du profilage, du traçage, etc.
- Optimiser le code existant en utilisant des structures de données sans verrouillage, des intrinsèques de compilateur, etc.
- Développer de nouveaux algorithmes pour résoudre les limitations de performance à un niveau d'abstraction supérieur
- Réarchitecturer des composants du système de trading pour éliminer les goulots d'étranglement
- Programmation réseau fondamentale
- Implémenter des protocoles réseau de bas niveau
- Examiner les captures réseau pour comprendre la latence et le comportement des communications de la bourse et internes
- Assurer la stabilité et la fiabilité continues du système de trading
- Construire des systèmes de surveillance pour les stratégies de trading et toutes les autres pièces de notre infrastructure
- Mener des revues de code d'autres développeurs, chercheurs et membres de l'équipe d'opérations
Qualifications
- Diplôme préféré dans un domaine lié à l'informatique (par exemple, informatique, génie informatique, etc.)
- À défaut, une expérience professionnelle approfondie en développement logiciel
- Maîtrise des fondamentaux de l'ingénierie logicielle
- Intérêt réel pour la résolution de problèmes techniques, ainsi qu'une forte capacité à implémenter des solutions
- Faible ego, capable de travailler à la fois en équipe collaborative et de manière autonome
- Engagement à concevoir et implémenter des solutions entièrement automatisées, évolutives et maintenables avec des tests approfondis
- Capacité supérieure à écrire en C++, ou expérience avec un autre langage de programmation impératif typé statiquement
- À l'aise pour opérer à différents niveaux d'abstraction, des machines individuelles aux systèmes distribués à grande échelle
- Solide connaissance des détails informatiques tout au long de la pile technique
- Connaissance de Linux un plus
- Expérience dans l'industrie du trading préférée mais non obligatoire
