Développeur logiciel haute performance (HPC / Optimisation)

Bureau Montréal, QC
Statut Permanent - Temps plein

Depuis sa première transaction en 2005, MAG Energy Solutions contribue à l’efficacité énergétique en Amérique du Nord via l'achat et la vente de contrats physiques et financiers d'énergie. Vous réaliserez des projets autour de diverses applications destinées aux traders et scientifiques de données de MAG Energy Solutions.

Vous rejoindrez une équipe dont le travail a un impact direct sur la performance des traders. Intégré au département de Modélisation de réseaux, votre rôle consiste à anticiper les congestions du réseau électrique et à fournir des analyses quantitatives fiables et rapides, permettant aux équipes de trading de prendre des décisions éclairées dans des environnements hautement compétitifs.

Postuler dès maintenant
Ce que vous ferez :
  • Implémenter et exécuter efficacement des modèles d’optimisation à grande échelle dans des environnements de calcul intensif;
  • Concevoir et optimiser des algorithmes à faible latence en identifiant les goulots d’exécution afin d’améliorer la scalabilité des systèmes via des outils de benchmarking et de profiling;
  • Développer des implémentations lisibles, testées et maintenables;
  • Collaborer étroitement avec les experts en optimisation et les développeurs logiciels;
  • Participer à l’évolution des outils en améliorant leur performance en production;
  • Documenter les modèles, les choix algorithmiques et les résultats de manière claire et exploitable afin de faciliter la maintenance, l’évolution et le transfert de connaissances;
  • Identifier, analyser et corriger des problèmes techniques dans le logiciel, en s’appuyant sur le profiling, le débogage, l’analyse des logs et l’ajout de tests, afin d’améliorer la fiabilité des outils et de répondre aux besoins opérationnels.
Ce que nous recherchons :
  • Compétences techniques essentielles : 
    • Expertise en programmation parallèle et concurrente : maîtrise avancée du multithreading, des mécanismes de synchronisation et des stratégies de réduction de la contention;
    • Solides compétences en implémentation d’algorithmes performants, avec une attention particulière à la gestion mémoire et aux performances;
    • Bonne compréhension de l’architecture des ordinateurs;
    • Expérience en optimisation de performance à l’aide d’outils de benchmarking et de profiling;
    • Très bonne maîtrise du développement en C#, C, C++ ou Rust;
    • Très bonne connaissance des structures de données et des algorithmes;
    • Capacité à écrire du code clair, modulaire, testé et maintenable;
    • Maîtrise fonctionnelle de l’anglais.
  • Compétences techniques optionnelles (un atout) :
    • Expérience sur systèmes à grande échelle;
    • Compréhension avancée des architectures matérielles (NUMA, vectorisation/SIMD, gestion du false sharing, etc.);
    • Capacité à démontrer des gains de performance mesurés;
    • Compréhension des méthodes de décomposition pour la programmation mathématique;
    • Familiarité avec des problèmes de recherche opérationnelle;
    • Connaissance des réseaux électriques;
    • Calcul distribué / MPI;
    • Bonne connaissance de SQL et de la conception de bases de données;
    • Parallélisme GPU.
  • Formation :
    • Excellence académique;
    • Détenir un diplôme universitaire en informatique, en logiciel, en recherche opérationnelle ou tout autre discipline jugée pertinente; 
    • Détenir une expérience professionnelle pertinente minimale de trois (3) ans en informatique, en logiciel ou en recherche opérationnelle qui démontre des aptitudes en optimisation de la performance.
  • Compétences relationnelles :
    • Esprit analytique marqué et rigueur technique dans l’analyse, la prise de décision et l’exécution;
    • Capacité à collaborer efficacement avec des profils techniques et métier, dans un contexte exigeant et orienté résultats;
    • Sens des enjeux opérationnels et clients, avec une capacité à prioriser et à livrer des solutions fiables dans des délais contraints;
    • Être curieux (goût du challenge technique) et faire preuve de créativité.
Pourquoi choisir MAG?
  • Conditions compétitives : Salaire de base compétitif avec rémunération variable basée sur la performance, ainsi que quatre (4) semaines de vacances dès l’embauche;
  • Horaire typique : Quarts de travail de huit (8) heures du lundi au vendredi, horaire de jour, moyenne de quarante (40) heures par semaine;
  • Perspectives d’avenir : Une opportunité clé dans un secteur en plein essor, avec un fort potentiel de développement et de rémunération;
  • Avantages sociaux : Contribution de l’employeur au-dessus du marché à l’assurance collective (télémédecine comprise) et au régime de retraite;
  • Mode de travail hybride : Tous les lundis, mardis et jeudis, les employés se réunissent au bureau pour favoriser la collaboration;
  • Environnement de travail convivial : Poste de travail assis-debout, deux (2) à trois (3) écrans par personne, chaise et clavier ergonomiques, bureaux récemment rénovés, accès souterrain direct à partir du métro Peel, stationnement sécurisé intérieur pour vélos, salle de gym gratuite, déjeuners servis tous les lundis, mardis et jeudis, et ce n’est pas tout!;
  • Culture d’entreprise dynamique : Réunions d’équipe lors des journées en présentiel, Golden Friday (½ journée de congé le dernier vendredi du mois), activités mensuelles (match des Canadiens, voyages organisés, 5@7), valorisation de l’équipe plutôt que de l’individu, taux de rétention du personnel de 98% et beaucoup plus encore!
Notre processus de recrutement :
  1. Entrevue de pré-sélection téléphonique;
  2. Test psychométrique en ligne;
  3. Première entrevue en personne;
  4. Test technique à la maison;
  5. Deuxième entrevue en personne.

Postulez dès maintenant!
Envoyez-nous votre curriculum vitae ainsi que vos relevés de notes universitaires.
Seuls les candidats retenus seront contactés.

Faites-nous parvenir votre candidature dès maintenant.

Faites-nous parvenir votre candidature. Nous vous contacterons si un poste correspondant à votre profil est à pourvoir.

« * » indique les champs nécessaires

Ce site est protégé par reCAPTCHA et la Politique de confidentialité et les Conditions d’utilisation de Google s'appliquent.

Il est possible de télécharger plusieurs documents simultanément.

Déposez les fichiers ici ou
Types de fichiers acceptés : pdf, doc, docx, txt, rtf, Taille max. des fichiers : 5 GB.