Job Title: Software DeveloperJob Location: Montréal, QCJob Code: 39212Job Schedule: Day ShiftCompensation Range: Between $75,000 - $125,000 CDN annually Essential Functions: - Design, develop, and maintain Human-Machine Interface (HMI) software components using modern C++ and Qt.
- Contribute to the modernization and evolution of existing HMI IPMS solutions currently based on legacy C++ MFC technologies.
- Participate in software architecture discussions, technical design activities, and peer code reviews related to HMI application development.
- Develop clean, maintainable, efficient, and reusable software following established software engineering best practices.
- Troubleshoot, debug, and resolve software defects, integration issues, and system-level problems.
- Collaborate with cross-functional teams including Systems Engineering, Integration & Test, Quality Assurance, and Product stakeholders.
- Support software integration, validation, and testing activities.
- Adapt quickly to changing project requirements and evolving priorities within a dynamic development environment.
- Work effectively in situations involving changing requirements, evolving priorities and occasionally incomplete technical information.
- Contribute to technical decision-making and continuous improvement initiatives within the software team.
Qualifications: - Bachelor's degree in Software Engineering, Computer Engineering, Computer Science, or a related technical field. Equivalent practical experience may also be considered.
- Minimum of 7 years of professional software development experience.
- Strong proficiency in modern C++ development.
- Extensive hands-on experience developing HMI applications using Qt.
- Solid understanding of object-oriented programming, software architecture, and software design principles.
- Experience working on large and complex software systems.
- Strong analytical, troubleshooting, debugging, and problem-solving skills.
- Ability to work effectively in a fast-paced environment with continuously changing priorities.
- Demonstrated ability to work independently and contribute to technical decision-making.
- Strong communication and collaboration skills within multidisciplinary engineering teams.
- Bilingualism (French and English) is required.
Preferred Additional Skills:
- Experience modernizing or refactoring legacy software applications.
- Familiarity with distributed systems and client/server architectures.
- Experience working in Agile software development environments, including iterative development, sprint planning, and collaborative team workflows.
- Knowledge of CI/CD pipelines and automated testing practices.
- Experience working in mission-critical, defense, aerospace, naval, or regulated environments is considered an asset.
Eligibility Criteria: - Must be eligible for registration with the Controlled Goods Program;
- Must be eligible to obtain and maintain a government of Canada Reliability status and Secret Level 2/NATO Secret security clearance;
This job is for an existing vacancy