Back to results

C++ Software Developer

  • Montreal, QC, Canada

Contract

Applications open in a new tab.

Job details

Job type
Contract
Apply by
Experience
5+ years of software development experience.
Posting language
English
Posted

Original job description

C++ Software Developer

Montreal, QC

Contract

Position Overview

The Software Developer will be responsible for developing new software capabilities and/or correcting identified deficiencies for sensor-based software products.

The Software Developer will work across all phases of the software development lifecycle, including **requirements definition, architecture, development, unit testing, integration, validation, and documentation**.

In collaboration with other software developers, architects, and V&V specialists, the Software Developer will propose and implement improvements to achieve high-quality software deliverables.

Responsibilities

* Participate in the development of new features, including **design, coding, testing, and documentation**.

  • Investigate and resolve bugs identified in software products.
  • Collaborate in the development of requirements, feature design, and validation of software requirements.

* Participate in **code reviews** and contribute to improving software development practices.

  • Participate in the **integration of functionalities and deployment of solutions**.
  • Support V&V specialists in defining formal test plans and investigating issues identified during formal validation activities.

* Participate in planning and delivering software releases within an **Agile development framework**.

Required Technical Skills & Experience

  • Bachelor's degree in **Computer Engineering, Software Engineering, Electrical Engineering**, or equivalent experience.

* 5+ years of software development experience.

* Strong knowledge of C++ programming.

* Experience developing software on **Windows and/or Linux** environments.

* Knowledge of software integration and **source control tools**, such as GitHub or similar platforms.

* Knowledge of **real-time programming concepts**, including:

  • Processes and threads
  • Semaphores
  • Synchronization mechanisms
  • Memory management
  • Knowledge of **networking protocols**, including:
  • TCP/IP
  • Sockets
  • UDP
  • Knowledge of **Inter-Process Communication (IPC)** mechanisms.

Nice to Have

  • Knowledge of **UML (Unified Modeling Language)**.
  • Knowledge of **software design patterns**.
  • Experience developing **unit tests and system tests**.
  • Knowledge or experience with **avionics, vehicles, sensors, or communications systems**.

Key Skills

  • Strong organizational and planning skills.
  • Good **oral and written communication** skills.
  • Dynamic and results-oriented approach.
  • Strong team spirit and ability to collaborate effectively.
  • Strong sense of initiative and problem-solving ability.
More about this job

Responsibilities

Develop and improve sensor-based software products, including designing, coding, testing, integrating, validating, and documenting new features. Investigate and resolve defects, collaborate on requirements and formal validation, participate in code reviews, and support Agile software releases.

Requirements

Requires a bachelor's degree in Computer Engineering, Software Engineering, Electrical Engineering, or equivalent experience, plus at least five years of software development experience and strong C++ skills. Candidates should have experience with Windows and/or Linux, source control and software integration, real-time programming concepts, networking protocols, and IPC.

Skills

  • C++
  • Software Development
  • Windows
  • Linux
  • Git
  • Real-Time Programming
  • Processes and Threads
  • Semaphores
  • Synchronization
  • Memory Management
  • TCP/IP
  • Sockets
  • UDP
  • Inter-Process Communication
  • Code Reviews
  • Agile

Visa sponsorship

Not detected in the job text

Categories

  • Software
  • Technology
  • Engineering

Keywords

  • C++
  • Sensor-Based Software
  • Requirements Definition
  • Software Architecture
  • Unit Testing
  • Integration Testing
  • Validation
  • Documentation
  • Windows
  • Linux
  • Git
  • Source Control
  • Real-Time Programming
  • Processes and Threads
  • Semaphores
  • Synchronization Mechanisms
  • Memory Management
  • TCP/IP
  • Sockets
  • UDP
  • Inter-Process Communication
  • UML
  • Software Design Patterns
  • System Testing
  • Avionics
  • Vehicles
  • Sensors
  • Communications Systems
  • Agile

Report this job