MISSION
Description du mandat :
Nous recherchons deux développeurs logiciels C++ pour contribuer au développement, à l’amélioration et à la maintenance d’une solution logicielle évoluant dans un environnement de systèmes embarqués et de traitement de données complexes.
Deux mandats sont à pourvoir :
- 1 mandat d’une durée de 11 mois
- 1 mandat d’une durée de 6 mois
Le mode de travail est hybride avec une présence minimale d’une journée par semaine au bureau ainsi qu’une présence additionnelle périodique selon les besoins du projet. Une certaine flexibilité est requise.
Responsabilités :
- Participer au développement de nouvelles fonctionnalités (analyse, conception, codage, tests et documentation).
- Corriger les anomalies et les enjeux identifiés dans les produits existants.
- Collaborer à la définition, à l’analyse et à la validation des exigences logicielles.
- Contribuer à l’architecture et à l’évolution des solutions logicielles.
- Participer aux revues de code et à l’amélioration continue des bonnes pratiques de développement.
- Participer à l’intégration des fonctionnalités et au déploiement des solutions.
- Collaborer avec les équipes de vérification et validation (V&V) afin d’élaborer des plans de tests formels et d’analyser les anomalies détectées lors des campagnes de validation.
- Participer à la planification et à l’estimation des livrables dans un environnement Agile.
- Produire et maintenir une documentation technique de qualité.
Qualifications requises :
- Baccalauréat en génie informatique, génie logiciel, génie électrique ou expérience équivalente.
- Minimum de 5 années d’expérience en développement logiciel.
- Excellente connaissance du langage C++.
- Expérience en développement logiciel sous Windows et/ou Linux.
- Maîtrise des outils de gestion de code source et d’intégration logicielle (GitHub ou équivalent).
- Bonne compréhension des concepts de programmation temps réel :
- Processus
- Threads
- Sémaphores
- Mécanismes de synchronisation
- Gestion de la mémoire
- Connaissance des protocoles réseau et des communications interprocessus :
- TCP/IP
- UDP
- Sockets
- IPC
Atouts :
- Expérience antérieure au sein d’un environnement similaire de développement logiciel complexe.
- Connaissance du langage UML (Unified Modeling Language).
- Maîtrise des patrons de conception (Design Patterns).
- Expérience en développement de tests unitaires et de tests système.
- Connaissance de systèmes embarqués, de détection, de communication, de transport ou d’environnements critiques.
Compétences recherchées :
- Excellentes aptitudes organisationnelles et de planification.
- Bonne capacité d’analyse et de résolution de problèmes.
- Excellentes habiletés de communication à l’oral et à l’écrit.
- Esprit d’équipe et aptitude à collaborer avec des intervenants multidisciplinaires.
- Autonomie, rigueur et sens de l’initiative.
- Orientation vers les résultats et la qualité des livrables.
Compétences essentielles :
- Développement C++.
- Développement logiciel sous Windows et/ou Linux.
- Protocoles réseau (TCP/IP, UDP, Sockets) et mécanismes IPC.
Position Description:
We are looking for two C++ Software Developers to contribute to the development, enhancement and maintenance of software solutions operating in a complex systems environment.
Two mandates are available:
- One 11-month contract
- One 6-month contract
The position follows a hybrid work model requiring a minimum of one day per week onsite, with additional onsite presence on a recurring basis according to project needs. Flexibility is required.
Responsibilities:
- Participate in the development of new features including analysis, design, coding, testing and documentation.
- Investigate and resolve defects identified in existing products.
- Collaborate in the definition, analysis and validation of software requirements.
- Contribute to software architecture and solution evolution.
- Participate in code reviews and continuous improvement of development practices.
- Support software integration and deployment activities.
- Work closely with Verification & Validation (V&V) teams to define formal test plans and investigate issues identified during validation campaigns.
- Participate in planning and estimating deliverables within an Agile environment.
- Produce and maintain high-quality technical documentation.
Required Qualifications:
- Bachelor's degree in Computer Engineering, Software Engineering, Electrical Engineering or equivalent experience.
- Minimum of 5 years of software development experience.
- Strong knowledge of the C++ programming language.
- Experience developing software on Windows and/or Linux platforms.
- Knowledge of source control and software integration tools (GitHub or equivalent).
- Strong understanding of real-time programming concepts including:
- Processes
- Threads
- Semaphores
- Synchronization mechanisms
- Memory management
- Knowledge of networking and inter-process communication technologies:
- TCP/IP
- UDP
- Sockets
- IPC
Nice-to-Have Qualifications:
- Previous experience in a comparable complex software development environment.
- Knowledge of UML (Unified Modeling Language).
- Knowledge of software design patterns.
- Experience developing unit tests and system tests.
- Knowledge of embedded, sensing, communication, transportation or mission-critical systems.
Key Competencies:
- Strong organizational and planning skills.
- Excellent analytical and problem-solving abilities.
- Strong verbal and written communication skills.
- Collaborative mindset and ability to work within multidisciplinary teams.
- Autonomy, rigor and initiative.
- Results-oriented approach with a focus on software quality.
Core Technical Skills:
- C++ software development.
- Software development on Windows and/or Linux.
- Network protocols (TCP/IP, UDP, Sockets) and IPC mechanisms.
GROUPE SII
Partenaire technologique de grandes entreprises depuis 1979, le Groupe SII est au cœur de l'économie de l'innovation, avec 16 000 employés, une présence internationale dans 20 pays et un chiffre d'affaires dépassant 1,621 milliard de dollars canadiens.
SII Canada offre à ses clients une expertise technique de pointe dans les domaines du développement d'applications, du web et du mobile, de la cybersécurité et du cloud computing. Nous fournissons également des services d'ingénierie, notamment pour les systèmes embarqués dans divers secteurs industriels. Notre ambition est de faire progresser les systèmes d'information et de contribuer à la création des produits et services de demain pour nos clients.
De plus, l'inclusion est au cœur de notre culture d'entreprise. SII Canada s'engage à offrir un environnement de travail équitable et respectueux qui favorise la diversité et l'égalité des chances
Découvrez
Let’s Tech Together
sur LinkedIn
par Mail