Développeur C/C++ (Senior)
- Montreal, QC, Canada
Full-time
Applications open in a new tab.
Job details
- Job type
- Full-time
- Apply by
- Posting language
- English · French
- Posted
Original job description
English section of this bilingual listing.
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:
- Knowledge of networking and inter-process communication technologies:
- 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.
Read the full bilingual original
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
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é.
- 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
- 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.
- 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.
- Développement C++.
- Développement logiciel sous Windows et/ou Linux.
- Protocoles réseau (TCP/IP, UDP, Sockets) et mécanismes IPC.
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
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.
- 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
- 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.
- 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.
- C++ software development.
- Software development on Windows and/or Linux.
- Network protocols (TCP/IP, UDP, Sockets) and IPC mechanisms.
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
More about this job
Responsibilities
Develop, enhance, integrate, test, and maintain C++ software, including implementing features, resolving defects, and contributing to software architecture. Collaborate with requirements, code review, Agile planning, documentation, deployment, and Verification & Validation activities.
Requirements
Requires a bachelor's degree in computer, software, or electrical engineering, or equivalent experience, and at least five years of software development experience. Candidates should have strong C++ skills, experience with Windows and/or Linux, source control tools, real-time programming concepts, and networking and inter-process communication technologies.
Skills
- C++
- Windows
- Linux
- GitHub
- Real-Time Programming
- Processes
- Threads
- Semaphores
- Synchronization
- Memory Management
- TCP/IP
- UDP
- Sockets
- Inter-Process Communication
- Agile
- UML
Visa sponsorship
Not detected in the job text
Categories
- Software
- Technology
- Engineering
Keywords
- C++
- Windows
- Linux
- GitHub
- Real-Time Programming
- Processes
- Threads
- Semaphores
- Synchronization Mechanisms
- Memory Management
- TCP/IP
- UDP
- Sockets
- Inter-Process Communication
- UML
- Design Patterns
- Unit Testing
- System Testing
- Embedded Systems
- Verification and Validation
- Agile
- Software Architecture
- Software Integration
- Software Deployment
- Code Reviews
- Technical Documentation
- Mission-Critical Systems
- Requirements Analysis
- Defect Resolution