Staff Software Engineering Professional - Simulation Tools / Professionnel en génie du logiciel - Outils de simulation

Montreal, Canada
Departments – Simulation /
Full Time /
Hybrid
Nous recherchons un professionnel en génie logiciel fonctionnel pour joindre notre équipe de simulation. L’objectif de l'ingénieur en logiciels de simulation est de concevoir et de mettre en œuvre des applications Web, des API Web et l’infrastructure connexe, comme les bases de données et le DevOps. Vous concevrez ou intégrerez également une infrastructure de simulation en temps réel avec traitement de données à haut débit. Vous apportez une expertise technique dans les domaines des cadres de simulation.

We are looking for a Staff Software Engineering Professional to join our Simulation team. The goal of the Simulation Software Engineering Professional is to design and implement web applications, web APIs, and the associated infrastructure such as databases and DevOps. You will also design and/or integrate real-time simulation infrastructure with high rate data handling. You provide technical expertise in the areas of simulation frameworks.

Ce pour quoi nous avons besoin de vous (Why we need you):

    • Le professionnel en génie en logiciels de simulation est chargé d’analyser les besoins de nos clients en simulation et de soutenir le processus de conception et d’implémentation pour fournir les nouveaux outils de simulation et les maintenir à jour. Vous concevez et soutenez l'intégration des sous-systèmes de l'entreprise dans la simulation en construisant des cadres logiciels efficaces et intuitifs pour automatiser et orchestrer autant de processus que possible. Vous êtes pragmatique et capable de fournir des logiciels écrits dans une variété de langages (C/C++, Python, Javascript/Typescript).

    • The Simulation Software Engineering Professional is responsible for analyzing the needs of our simulation customers and supporting the design and implementation process to deliver new and maintain current simulation tools. You design and support the integration of the company's subsystems into simulation by building efficient and intuitive software frameworks to automate and orchestrate as many processes as possible. You are hands on and able to deliver software written in a variety of languages (C/C++, Python, Javascript/Typescript).

Ce que vous ferez (What you will do):

    • Identifier les opportunités et développer des outils et des services pour améliorer l'expérience utilisateur de bout en bout de la simulation.
    • Recueillir les exigences des clients internes et élaborer des feuilles de route pour la fourniture de produits de simulation.
    • Concevoir et intégrer des cadres de simulation pour les systèmes en temps réel et les systèmes basés sur les événements. 
    • Collaborer avec plusieurs IPT (équipe de production intégrée) au sujet de la facilité d’utilisation de la simulation, la collecte de données et l’analyse. 
    • Prendre en charge des API web d'intégration pour contrôler, déployer, configurer et visualiser les données et les actifs de simulation. 
    • Soutenir les opérations de développement de simulations en maintenant et en améliorant l’intégration continue et les systèmes automatisés de test et de déploiement dans les environnements de développement infonuagiques

    • Identify opportunities and develop tools and services to improve the end-to-end UX of simulation.
    • Gather requirements from internal customers and develop roadmaps for delivery of simulation products.
    • Architect and integrate simulation frameworks together both real-time and event based systems. 
    • Collaborate with several IPTs (Integrated Product Team) for simulation usability, data collection, and analysis. 
    • Support integration web APIs to control, deploy, configure, and visualize simulation data and assets. 
    • Support simulation development operations by maintaining and improving continuous integration, automated test and deployment systems in cloud-based development environments.

Votre parcours (What you have done):

    • Baccalauréat dans une discipline d'ingénierie avec plus de 10 ans d’expérience pertinente.
    • Au moins 5 ans d'expérience dans un environnement de simulation en temps réel
    • Maîtrise de C/C++/Rust/Python et/ou Typescript/Javascript/HTML/CSS
    • Expérience des API web ou d'autres formes de communications distribuées en réseau
    • Expérience du développement dans des environnements Linux et de conteneurs
    • Expérience de travail avec les simulations HIL/SIL et d’environnements d’essai
    • Solides compétences en conception et développement d’architecture logicielle
    • Approche créative de la résolution de problèmes
    • Excellentes aptitudes organisationnelles et en gestion du temps
    • Excellentes aptitudes à la communication écrite et verbale
    • Expérience avec les processus de développement de logiciels hautement automatisés et les outils modernes (git, GitLab/GitHub, JIRA)
    • Expérience dans le traitement de données de séries temporelles à haute fréquence

    • Bachelor’s degree in an engineering discipline with 10+ years of relevant experience
    • Minimum 5 years of experience working in a real-time simulation environment
    • Proficiency in C/C++/Rust/Python and/or Typescript/Javascript/HTML/CSS
    • Experience with web APIs or other forms of distributed networked comms
    • Experience developing in Linux and container environments
    • Experience working with HIL/SIL simulations and test environments
    • Strong software architecture design and development skills
    • Creative approach to problem solving
    • Excellent organizational and time management skills
    • Excellent written and verbal communication skills
    • Experience with highly automated software development processes and modern tools (git, GitLab/GitHub, JIRA)
    • Experience in handling high frequency time series data

Désiré (Desired):

    • Expérience de conformité à l'IMF 
    • Expérience de l'IaC et des pipelines automatisés
    • Expérience avec les protocoles Arinc (A429, A485)
    • Expérience en conception de systèmes de stockage de données hétérogènes 
    • Expérience dans le développement de systèmes de simulation en temps réel
    • Passionné par l’aviation, la mobilité aérienne avancée et l’avenir des transports
    • Expérience avec les plateformes infonuagiques (GCP, AWS) et la conteneurisation (Docker, k8s)

    • Experience conforming with FMI 
    • Experience with IaC and automated pipelines
    • Experience with Arinc protocols (A429, A485)
    • Experience designing heterogenous data storage systems 
    • Experience in developing real-time simulation systems
    • Passionate about aviation and the future of transportation
    • Experience with cloud platforms (GCP, AWS) and containerization (Docker, k8s)

Votre profil (Who you are):

    • Vous êtes une personne très motivée, autonome, dotée d’un large éventail de compétences et ne craignant jamais de relever des défis techniques complexes.
    • Vous avez la capacité d'agir en tant que leader/mentor lorsque cela est nécessaire, en aidant vos collègues à apprendre de nouveaux systèmes et de nouvelles technologies.
    • Vous disposez de solides aptitudes à la communication et pouvez aisément adapter vos communications en fonction du public visé.
    • Vous construisez rapidement des prototypes pour tester vos idées. 
    • Vous vous adaptez rapidement ou proposez les changements nécessaires pour obtenir des résultats rapides dans des délais opportuns
    • Vous relevez des défis, prenez des engagements et livrez des résultats correspondant à des attentes raisonnables
    • Vous avez un esprit d’équipe positif

    • You are a highly motivated, self starting individual with a broad set of skills and never afraid of facing complex technical challenges
    • You have the ability to act as a lead/mentor when required helping colleagues learn new systems and technologies
    • You have strong communication skills and can easily tailor your communications to suit the audience
    • You are quick at building prototypes to test your ideas 
    • You can adapt quickly or propose changes needed to achieve early results in a timely fashion
    • You embrace challenges and take commitments and deliver results within reasonable expectations
    • You are a positive team player