Description

Senior C++ Developer | C++/Qt | Linux | Fire Prevention Systems

Mission Description

We are looking for a Senior C++ Developer to design, develop, and maintain a C++/Qt simulator that plays a central role in a multi-component software suite for fire prevention systems. The role will focus on evolving the simulator, ensuring accurate representation of real-world fire prevention panel behavior, and maintaining seamless integration with the broader software ecosystem.

The successful candidate will join a small, highly collaborative team and will be expected to work autonomously, make sound technical decisions, troubleshoot complex issues, and contribute to the long-term architecture, quality, and maintainability of the product.

Key Responsibilities

  • Design, develop, and maintain the C++/Qt simulator, implementing new features and enhancements that accurately model real-world fire prevention panel behavior.
  • Navigate, extend, and maintain an existing C/C++ Linux codebase, ensuring reliable integration between the simulator and other software components.
  • Design and maintain clean, scalable interfaces and multi-component software architecture across the broader application ecosystem.
  • Diagnose and resolve complex software, integration, and runtime issues, using strong debugging and problem-solving skills across interconnected components.
  • Develop and maintain Bash and scripting-based build, test, and development workflows to improve engineering efficiency and software quality.
  • Produce clear technical documentation and contribute to architectural decisions, coding standards, and long-term product maintainability.

Qualifications

  • 7+ years of hands-on C++ development experience, with strong expertise in modern C++ and ideally significant Qt experience.
  • Strong professional experience with C/C++ on Linux, including the ability to understand, troubleshoot, and extend an existing Linux-based codebase.
  • Proficiency with Bash and general scripting, particularly for build, testing, automation, and development workflows.
  • Demonstrated ability to work with multi-component software architectures, designing clean interfaces and interactions between modules.
  • Strong debugging, analytical, and problem-solving skills, with experience working across complex and interconnected software systems.
  • Ability to work autonomously in a small team, make sound technical/architectural decisions, communicate effectively, and produce high-quality technical documentation.