Senior Software Engineer - Financial Data & Domain Models

Montreal, QC, Canada
Full Time
Experienced
 

À propos du poste

Nous recherchons un(e) ingénieur(e) logiciel sénior passionné(e) par la conception de logiciels capables de transformer d'importants volumes de données transactionnelles en modèles métier intelligents.

Il ne s'agit pas d'un poste traditionnel en ingénierie des données. Bien que nous traitions des centaines de millions de transactions financières, notre objectif ne consiste pas uniquement à déplacer ou transformer des données. Nous développons des logiciels capables de comprendre les comportements financiers.

Notre unité de raisonnement est le membre individuel, et non une table ou un ensemble de données. Nous concevons des modèles métier riches représentant les personnes, leurs produits financiers, leurs comportements, leurs relations et leur situation financière. Ces abstractions alimentent des fonctionnalités intelligentes destinées à améliorer l'expérience utilisateur.

Si vous aimez concevoir des logiciels qui modélisent le monde réel plutôt que simplement manipuler des données, ce poste est pour vous.

Responsabilités

  • Concevoir et faire évoluer des modèles objets riches représentant des concepts financiers complexes.
  • Transformer des transactions financières brutes en abstractions utiles telles que des abonnements, paiements récurrents, commerçants, produits financiers et caractéristiques comportementales.
  • Développer des logiciels évolutifs capables de traiter des centaines de millions de transactions.
  • Collaborer avec les équipes produit, données et développement afin de modéliser des concepts financiers complexes.
  • Concevoir des architectures logicielles extensibles, maintenables et évolutives.
  • Concilier une conception logicielle de qualité avec les exigences du traitement massif de données.
  • Contribuer à l'évolution de notre plateforme d'intelligence financière.
 

Profil recherché

Exigences

  • Solides bases en développement logiciel.
  • Excellente maîtrise de la conception orientée objet et de la modélisation métier.
  • Capacité à concevoir des objets riches en comportement plutôt que de simples représentations de données.
  • Excellentes aptitudes en résolution de problèmes.
  • Curiosité pour les domaines techniques, financiers et comportementaux.
  • Capacité à évoluer dans des environnements complexes et ambigus.
  • Expérience en Python ou volonté d'en faire votre principal langage de développement.
  • Expérience en conception de systèmes logiciels évolutifs.

Atouts

  • Expérience avec Apache Airflow.
  • Expérience avec AWS.
  • Expérience dans le traitement de grands volumes de données.
  • Connaissance du Domain-Driven Design (DDD).
  • Expérience en fintech, services financiers, personnalisation, moteurs de recommandation, détection de fraude ou domaines similaires.

Ce qui vous distingue

Vous aimez comprendre la signification des données plutôt que simplement les transformer.

Vous vous posez naturellement des questions telles que :

  • Que représente réellement cette information?
  • Quel concept métier doit être modélisé?
  • Quel comportement appartient à cet objet?
  • Quelles preuves soutiennent cette interprétation?
  • Comment ce modèle pourra-t-il évoluer dans le temps?

Vous prenez autant de plaisir à concevoir une architecture logicielle robuste qu'à écrire du code de qualité.

Pourquoi nous rejoindre

Vous participerez à la conception d'une plateforme d'intelligence financière où l'architecture logicielle, la modélisation métier et le traitement de données à grande échelle se rencontrent pour créer des produits innovants.


About the Role

We are looking for a Senior Software Engineer who enjoys solving complex problems by transforming large volumes of transactional data into meaningful domain models.

This is not a traditional data engineering role. While we process hundreds of millions of financial transactions, our focus is not simply moving or transforming data. We build software that understands financial behaviour.

Our fundamental unit of reasoning is the individual member—not a table or a dataset. We design rich domain models that represent people, their financial products, behaviours, relationships, and evolving circumstances. These abstractions enable intelligent financial insights and support future product capabilities.

If you enjoy designing software that models the real world, rather than simply manipulating data, we'd like to meet you.

What You'll Do

  • Design and evolve rich object models that represent financial concepts and user behaviour.
  • Transform raw financial transactions into meaningful abstractions such as subscriptions, recurring payments, merchants, financial products, behavioural traits, and user insights.
  • Build scalable software capable of processing hundreds of millions of financial transactions while preserving clean domain abstractions.
  • Work closely with product, data, and engineering teams to model complex financial concepts.
  • Design software that is extensible, maintainable, and evolves as our understanding of the domain grows.
  • Balance elegant software design with the realities of large-scale data processing.
  • Continuously improve the architecture of our financial intelligence platform.

What We're Looking For

Required

  • Strong software engineering fundamentals.
  • Excellent object-oriented design and domain modelling skills.
  • Ability to design behaviour-rich objects rather than simply representing database records.
  • Strong analytical and problem-solving abilities.
  • Curiosity to understand technical, financial, and behavioural domains.
  • Ability to reason through complex systems and ambiguous requirements.
  • Python experience or a strong willingness to use Python as your primary development language.
  • Experience designing scalable software systems.

Nice to Have

  • Experience with Apache Airflow.
  • Experience with AWS.
  • Experience working with large-scale data processing.
  • Knowledge of Domain-Driven Design (DDD).
  • Experience in financial services, fintech, recommendation systems, personalization, fraud detection, or similar complex domains.

What Success Looks Like

You naturally ask questions like:

  • What does this data represent?
  • What concepts should exist in the domain?
  • What behaviour belongs inside each object?
  • What evidence supports this conclusion?
  • How will this model evolve as new products and rules emerge?

You enjoy modelling complex business concepts as much as writing production-quality code.

Why Join Us

You'll work on technically challenging problems at the intersection of software engineering, financial intelligence, and large-scale data processing. You'll have significant influence on the architecture of a platform designed to help people better understand their financial lives.


 
Share

Apply for this position

Required*
We've received your resume. Click here to update it.
Attach resume as .pdf, .doc, .docx, .odt, .txt, or .rtf (limit 5MB) or Paste resume

Paste your resume here or Attach resume file

Human Check*