12 Oct
|
Epsilon Solutions
|
Montreal
12 Oct
Epsilon Solutions
Montreal
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 .
* Solid 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.
📌 C++ Software Developer (Montreal)
🏢 Epsilon Solutions
📍 Montreal