- Location
- Montreal, QC,CA, CA
- Type
- Full-time
- Department
- IT
- Seniority
- Senior
- Education
- Master
- Source
- Eightfold
Description
Bachelor's degree in computer science, software engineering or a related field. Minimum of 10 years' experience in professional C++ software development. Minimum of 5 years' experience working with the Qt framework. Experience with Qt QML. Strong understanding of object-oriented design principles and design patterns. Experience with multithreading and concurrent programming. Experience with build systems such as CMake and Qmake. Experience using Git or other version control systems. Strong communication skills and the ability to collaborate effectively across multiple functions. Fluent English language skills, both written and verbal. Master's degree in computer science, software engineering or a related field. Experience with CAN bus communications. Experience with Ethernet-based systems. Experience with embedded Linux environments, including Yocto, Boot2Qt and Ubuntu. Experience working in Agile software development environments. Experience with Continuous Integration and Continuous Deployment (CI/CD) practices in a regulated environment. Working proficiency in French. Baccalauréat en informatique, en génie logiciel ou dans un domaine connexe. Minimum de 10 ans d'expérience en développement logiciel professionnel en C++. Minimum de 5 ans d'expérience avec le cadre de développement Qt. Expérience avec Qt QML. Solide compréhension des principes de conception orientée objet et des patrons de conception. Expérience en programmation multithread et concurrente. Expérience avec des systèmes de construction tels que CMake et QMake. Expérience avec Git ou d'autres systèmes de gestion de versions. Excellentes aptitudes en communication et capacité à collaborer efficacement avec plusieurs fonctions de l'organisation. Excellente maîtrise de l'anglais, tant à l'oral qu'à l'écrit. Maîtrise en informatique, en génie logiciel ou dans un domaine connexe. Expérience avec les communications sur bus CAN. Expérience avec les systèmes basés sur Ethernet. Expérience dans des environnements Linux embarqués, notamment Yocto, Boot2Qt et Ubuntu. Expérience dans des environnements de développement logiciel Agile. Expérience des pratiques d'intégration continue et de déploiement continu (CI/CD) dans un environnement réglementé. Connaissance fonctionnelle du français. Concevoir, développer et maintenir des applications utilisant C++ et Qt (Qt 5/Qt 6). Concevoir l'architecture et mettre en œuvre des solutions logicielles robustes, évolutives et performantes. Développer des applications multiplateformes pour les environnements Windows, Linux et Linux embarqué. Concevoir des interfaces utilisateur réactives et intuitives à l'aide de Qt QML. Optimiser les performances des applications, l'utilisation de la mémoire et la fiabilité des logiciels. Rédiger un code propre, maintenable et bien documenté. Effectuer des revues de code et agir comme mentor auprès des développeurs moins expérimentés. Diagnostiquer, déboguer et résoudre des problèmes techniques complexes. Collaborer avec des équipes multidisciplinaires afin de soutenir les objectifs de développement de produits. Effectuer toute autre tâche connexe, au besoin.