Senior C++ / Qt Software Developer
- Brossard, QC, Canada
Full-time
Applications open in a new tab.
Job details
- Job type
- Full-time
- Apply by
- Experience
- At least 7 years of professional C++ software-development experience.
- Posting language
- English
- Posted
Original job description
Senior C++ / Qt Software Developer
Location: Brossard, Québec
Work model: Onsite, 3 days per week
Language: Strong English required; French is an asset
About the opportunity
Amaris Consulting is looking for a Senior Software Developer with strong expertise in C++ and Qt to join a building-systems engineering team in Brossard.
You will work on a product simulator used by Engineering, Quality Assurance, and Product teams to develop, test, and validate real devices and systems. Using Qt with QML and/or Qt Widgets, you will build intuitive and reliable user interfaces while contributing to the simulation engine and supporting software components.
You will collaborate with software engineers, UX designers, testers, and product stakeholders in a cross-functional environment.
Key responsibilities
- Design, develop, and maintain the simulator’s user interface using C++ and Qt.
- Develop Qt applications using QML, Qt Widgets, or both.
- Implement simulation features that accurately reproduce the behavior of real devices and systems.
- Integrate the user-interface layer with simulation engines, back-end services, and system components.
- Improve simulator performance, stability, responsiveness, and usability.
- Collaborate with UX and UI designers to transform mockups and requirements into working interfaces.
- Apply object-oriented design, multithreading, event-driven programming, and software architecture principles.
- Write clean, tested, maintainable, and well-documented code.
- Participate in code reviews and contribute to development standards.
- Contribute to unit testing, integration testing, and continuous-integration activities.
- Troubleshoot and debug issues across the application and software stack.
- Document technical designs, implementation decisions, interfaces, and configuration details.
- Follow software-development best practices, quality standards, and secure coding practices.
- Collaborate with Engineering, QA, Product, UX, and other technical stakeholders.
Required qualifications
- Bachelor’s degree in Computer Science, Software Engineering, Computer Engineering, or a related field. Equivalent professional experience may be considered.
- At least 7 years of professional C++ software-development experience.
- Strong hands-on experience with modern C++, including C++11, C++14, C++17, or later.
- Solid professional experience with Qt, including QML, Qt Quick, Qt Widgets, or a combination of these technologies.
- Strong understanding of:
- Object-oriented programming
- Multithreading
- Event-driven programming
- Software architecture
- Interface design and integration
- Experience with Git and modern source-control practices.
- Experience working in Agile or Scrum environments.
- Strong debugging and troubleshooting skills.
- Strong communication skills in English.
- Ability to work onsite in Brossard 3 days per week.
- Eligibility to work in Canada.
Nice-to-have qualifications
- Experience developing:
- Simulators
- Emulators
- Virtual test environments
- Hardware-in-the-loop or software-in-the-loop tools
- Experience with embedded Linux or real-time systems.
- Experience with Qt Quick Controls and custom QML components.
- Familiarity with CMake, qmake, or similar build systems.
- Experience with CI/CD pipelines and automated builds.
- Experience with Qt Test, GoogleTest, or other unit-testing frameworks.
- Background in:
- Fire detection and alarm systems
- Security systems
- HVAC and building automation
- Industrial controls
- Embedded products
- Experience integrating user interfaces with hardware or simulation engines.
- French communication skills.
What success looks like
- The simulator provides a stable, responsive, and intuitive experience for Engineering, QA, and Product teams.
- Simulation features accurately reproduce the behavior of real devices and systems.
- The Qt user interface is maintainable, well tested, and consistent with product requirements.
- Software defects are identified and resolved efficiently across the application stack.
- Unit, integration, and continuous-integration practices are consistently applied.
- Technical documentation remains clear, complete, and useful for future development and maintenance.
- Strong collaboration is maintained between software engineering, UX, QA, and product stakeholders.
Why join this opportunity?
This is an opportunity to work on a technically challenging product simulator that supports the development and validation of real-world building and safety systems. You will contribute to modern C++ and Qt software while working closely with engineering, UX, QA, and product teams.
More about this job
Responsibilities
Develop and maintain a C++/Qt simulator interface and simulation features that accurately reproduce real devices and systems, integrating the UI with simulation engines and other software components. Improve performance and reliability, write and test maintainable code, troubleshoot issues, document technical decisions, and collaborate with engineering, UX, QA, and product teams.
Requirements
Requires a bachelor’s degree in a relevant field or equivalent professional experience, at least 7 years of C++ development, and strong experience with modern C++ and Qt technologies such as QML, Qt Quick, or Qt Widgets. Candidates should also have experience with software architecture, multithreading, Git, Agile or Scrum, debugging, strong English communication, eligibility to work in Canada, and availability to work onsite in Brossard 3 days per week.
Skills
- C++
- Qt
- QML
- Qt Quick
- Qt Widgets
- Object-Oriented Programming
- Multithreading
- Event-Driven Programming
- Software Architecture
- Interface Design
- Git
- Agile
- Debugging
- Simulation Development
- Unit Testing
- CI/CD
Visa sponsorship
Not detected in the job text
Categories
- Software
- Technology
- Engineering
- Consulting
Keywords
- C++
- C++11
- C++14
- C++17
- Qt
- QML
- Qt Quick
- Qt Widgets
- Qt Quick Controls
- CMake
- qmake
- Git
- Agile
- Scrum
- Multithreading
- Event-Driven Programming
- Object-Oriented Programming
- Software Architecture
- Simulation Engine
- Simulators
- Emulators
- Embedded Linux
- Real-Time Systems
- Hardware-in-the-Loop
- Software-in-the-Loop
- CI/CD
- Qt Test
- GoogleTest
- Building Automation
- Fire Detection and Alarm Systems