Quick Overview
Seniority
Mid Senior
Employment type
Full Time
Work mode
Hybrid
Location
Brighton, Sussex, United Kingdom
DockerRustScrumTDDAgileBashConfluenceC++GitJiraLESSPostgreSQLPythonReact
Job Description
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+ / C+ 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.
Similar jobs
- IO
Senior Software Engineer, Transport
NewIonQ
Oxford🇬🇧14 hours agoRustFPGACompliance+5Technology - TR
Senior Software Engineer (C++ / Qt)
NewTiger Resourcing Group Ltd
Brighton, Sussex🇬🇧Hybrid2 hours agoC++Technology - ZE
Principal Embedded Software Engineer
NewZENOVO LTD
United Kingdom🇬🇧£75k/yrHybrid2 hours agoTechnology - AL
Embedded Software Engineer
NewALTEN
Glasgow🇬🇧£35k - £65k/yrHybrid14 hours agoAgileConfluenceContinuous Improvement+1Technology - LE
Senior Engineer (Java, Typescript & Azure)
NewLegalAndGeneral
London🇬🇧Hybrid16 hours agoScrumAgileKanban+1Technology - LE
Forward Deployed Engineer (Java, Typescript & Azure)
NewLegalAndGeneral
Brighton and Hove🇬🇧Hybrid16 hours agoScrumAgileKanban+1Technology