Senior Software Engineer (C++ / Qt)

Tiger Resourcing Group

C++ / Qt Software Engineer

Role Overview

The overall responsibility of the C++ / Qt Software Engineer is to design, develop and maintain software applications, working as part of the Global R&D organisation on products targeted towards the Onshore, Offshore and Transportation markets.

Key Responsibilities

  • Design, implement and maintain features across the control system platform in C++ on Linux, balancing functionality, performance, reliability and long-term maintainability.
  • Develop and evolve the operator-facing GUI (Qt) and contribute to the wider client/server architecture, audio routing and system integration layers.
  • Work within a safety-conscious development lifecycle producing the design, traceability and verification evidence that goes with it.
  • Take part in design and code reviews, uphold coding standards and help mentor and develop less experienced Engineers.
  • Integrate the control system with the wider ecosystem of the organisation - audio routing, SIP/RTP voice path and multicast audio distribution over IP network technology
  • Diagnose and resolve complex defects across the software, network and integration boundaries, including on live and customer-acceptance environments.
  • Engage with Project, Product, QA and customer stakeholders to deliver against milestones and acceptance criteria.

Skills and Experience Required

Essential:

  • Strong, demonstrable experience in C++ (C++14 / C++17 or later) with solid object-oriented design skills.
  • Proven experience developing and testing GUIs and applications using the Qt5 framework in an IDE (VSCode or QtCreator).
  • A sound grasp of software architecture, concurrency and writing testable, reliable code.
  • Good working knowledge of Linux as a development and target platform.
  • Experience with Git for version control in a collaborative team environment.
  • Familiarity with XML for configuration and data interchange.
  • Experience working in an Agile / Scrum environment.
  • Comfortable with Bash scripting for development and build tasks.
  • Familiarity with collaboration tools such as Jira, Confluence, Teams and Slack.
  • Strong problem-solving skills across software, networking and system integration.
  • Good written and verbal communication skills and the ability to work effectively with both engineering and non-engineering stakeholders.

Desirable:

  • Experience with Ubuntu / Debian Linux systems.
  • Familiarity with GitLab, including CI/CD pipelines.
  • Knowledge of VoIP / telephony technologies: Asterisk, SIP, PCM.
  • Experience with network analysis tools such as Wireshark.
  • Knowledge of PostgreSQL or other relational databases.
  • Experience with containerisation and virtualisation: Docker, VirtualBox.
  • Python scripting ability.
  • Familiarity with test-driven development (TDD) practices.
  • Knowledge of XMPP or ONVIF protocols.
  • Web development experience (e.g. React, Rust, Go).

Personal Attributes

  • Takes ownership and follows problems through to a robust resolution.
  • Collaborative and willing to share knowledge and raise the standard of those around them.

Apply Now →

Application opens at the source listing. Free for jobseekers.