Connexion

Détails du poste

  • Lieu de travail : Montreal
  • Type de poste : Permanent à temps plein
Job Description

We are seeking an ML Solutions Architect who functions as a software engineering generalist with specialized ML domain-adjacent experience. In this role, you will be responsible for the high-level design of systems that integrate ML models into our broader product suite. You will act as a technical consultant, evaluating whether customer needs should be met with off-the-shelf solutions or handed off as specialized research projects to our RL and DL teams.

Responsibilities

  • System Integration & Coprocessing: Design and implement the software layers that allow ML models to interact with a real-time rendering engine. This includes managing data pre-processing and post-processing (coprocessing) to ensure high-performance execution
  • Technical Consulting: Evaluate incoming customer requirements to determine the optimal path forward. You will decide if a task can be solved using off-the-shelf tools or if it requires a deep-dive research project to be handed off to our Deep Learning or Reinforcement Learning engineers.
  • Language-Agnostic Engineering: Build and maintain wrappers, APIs, and microservices that allow our ML stack to remain flexible and language-agnostic across different production environments.
  • Cross-Functional Coordination: Act as the primary technical liaison between technical leadership, customers, and the core engineering team to spec out data and integration requirements.
  • Modular Execution: Break down complex product visions into manageable architectural components, ensuring that ML components ship as part of a stable, scalable software product

Nous recherchons un·e architecte de solutions ML agissant comme généraliste en génie logiciel, avec une expérience spécialisée connexe aux domaines du ML. Dans ce rôle, vous serez responsable de la conception de haut niveau de systèmes intégrant des modèles ML à notre gamme de produits plus large. Vous agirez à titre de consultant·e technique, en évaluant si les besoins des client·e·s peuvent être satisfaits par des solutions clés en main ou s’ils doivent être confiés à des projets de recherche spécialisés auprès de nos équipes en apprentissage par renforcement (RL) et en apprentissage profond (DL).

Responsabilités

  • Intégration des systèmes et coprocessement : Concevoir et mettre en œuvre les couches logicielles permettant aux modèles ML d’interagir avec un moteur de rendu en temps réel. Cela comprend la gestion du prétraitement et du post-traitement des données (coprocessement) afin d’assurer une exécution à haute performance.
  • Conseil technique : Évaluer les exigences des client·e·s afin de déterminer la meilleure approche. Vous déciderez si une tâche peut être réalisée à l’aide d’outils clés en main ou si elle nécessite un projet de recherche approfondi à confier à nos ingénieur·e·s en apprentissage profond ou en apprentissage par renforcement.
  • Génie logiciel indépendant du langage : Concevoir et maintenir des enveloppes, des API et des microservices permettant à notre pile ML de demeurer flexible et indépendante du langage dans divers environnements de production.
  • Coordination interfonctionnelle : Agir comme principal point de contact technique entre la direction technique, la clientèle et l’équipe d’ingénierie centrale afin de définir les exigences en matière de données et d’intégration
  • Exécution modulaire : Décomposer des visions de produits complexes en composantes architecturales gérables, en veillant à ce que les éléments ML soient livrés dans le cadre d’un produit logiciel stable et évolutif.


Qualifications

Basic Qualifications

  • Education: Degree in Computer Science, Software Engineering, or a related field
  • Professional Experience: Proven experience as a Software Architect or Systems Engineer in a fast-paced environment.
  • Industry Context: Prior experience in industries with complex multi-disciplinary teams such as robotics, smart grids, precision agriculture, game development, or aerospace.
  • Generalist Tooling: Fluency with Git, and the Unix shell, with a strong ability to work across multiple programming languages as needed (ideally including one or more of Python, C++, C#).
  • Architectural Knowledge: Deep understanding of how to integrate ML models into production software (e.g., API design, message brokers, and containerization, compute and memory budgeting).
  • ML Literacy: While you may not be training models daily, you must have enough ML-adjacent experience to understand model constraints, data requirements, and the "state of the art."

Desired Characteristics

  • Experience with fine-tuning and deploying models is a plus.
  • Strategic Decision-Making: Ability to perform "Build vs. Buy" analyses for ML components.
  • Communication: Exceptional ability to translate high-level product vision into concrete engineering specs for both technical leadership and specialized engineers.
  • Conscientiousness: High attention to detail regarding system stability and interoperability.

Qualifications de base

  • Formation : Diplôme en informatique, en génie logiciel ou dans un domaine connexe
  • Expérience professionnelle : Expérience démontrée à titre d’architecte logiciel ou d’ingénieur·e systèmes dans un environnement dynamique.
  • Contexte industriel : Expérience préalable dans des secteurs comportant des équipes multidisciplinaires complexes, tels que la robotique, les réseaux intelligents, l’agriculture de précision, le développement de jeux ou l’aérospatiale
  • Outils généralistes : Maîtrise de Git et du shell Unix, avec une forte capacité à travailler dans plusieurs langages de programmation au besoin (idéalement un ou plusieurs parmi Python, C++, C#).
  • Connaissances architecturales : Compréhension approfondie de l’intégration de modèles ML dans des logiciels en production (p. ex. conception d’API, courtiers de messages, conteneurisation, gestion des budgets de calcul et de mémoire
  • Culture ML : Bien que vous n’entraîniez pas nécessairement des modèles au quotidien, vous devez posséder une expérience connexe suffisante pour comprendre les contraintes des modèles, les exigences en matière de données et l’état de l’art.

Atouts souhaités

  • Une expérience en ajustement fin et en déploiement de modèles constitue un atout.
  • Français (Canada)
  • Prise de décision stratégique : Capacité à effectuer des analyses « développer ou acheter » pour les composantes ML.
  • Communication : Excellente capacité à traduire une vision produit de haut niveau en spécifications techniques concrètes à l’intention de la direction technique et des ingénieur·e·s spécialisé·e·s.
  • Rigueur : Grand souci du détail en ce qui concerne la stabilité des systèmes et leur interopérabilité.


Additional Information

As part of our selection process, external candidates may be required to attend an in-person interview with an NBCUniversal employee at one of our locations prior to a hiring decision. NBCUniversal's policy is to provide equal employment opportunities to all applicants and employees without regard to race, color, religion, creed, gender, gender identity or expression, age, national origin or ancestry, citizenship, disability, sexual orientation, marital status, pregnancy, veteran status, membership in the uniformed services, genetic information, or any other basis protected by applicable law.

If you are a qualified individual with a disability or a disabled veteran and require support throughout the application and/or recruitment process as a result of your disability, you have the right to request a reasonable accommodation. You can submit your request to