Principal Software Engineer (C++ / C#)
Mission-Critical HF Communications Systems
The Opportunity
We are looking for a Principal Software Engineer with deep expertise in modern C++ and C# to support the development of next-generation secure HF communication and networking systems.
This is a hands-on technical leadership role, where you will take ownership of architectural direction, influence engineering standards, and mentor engineers, while remaining actively involved in the design and development of high-performance, resilient software.
You will play a key role in delivering adaptive HF communications capabilities that support secure, reliable connectivity in challenging and contested environments.
What you will do
As part of the engineering team developing the next generation of adaptive, secure HF communications and networking capability, you will be responsible for technical leadership across the full software lifecycle.
Key responsibilities include:
* Leading the architectural design and technical direction of complex C++ software systems within the HF2000 communications stack.
* Designing and developing high-reliability, multi-threaded and distributed applications supporting HF radio networking, Automated Link Establishment (ALE), and adaptive frequency management.
* Driving the evolution of IP and non-IP data services over HF, including integration with wider defence network infrastructures.
* Providing technical oversight across embedded and Linux-based environments, ensuring performance, robustness and maintainability.
* Defining and enforcing software design principles, coding standards, and secure development practices.
* Supporting integration with hardware subsystems including radios, modems and network interfaces.
* Leading code reviews, design reviews and technical risk assessments.
* Mentoring and coaching software engineers, contributing to the ongoing growth of technical capability within the team.
* Collaborating closely with Systems Engineering, Hardware, Test and Project Management teams to ensure coherent end-to-end delivery.
* Supporting bids, technical proposals and customer engagements where required.
What we are looking for
Essential Skills and Experience
* C++ (C++14/17 or later) within complex, large-scale software systems.
* Proven experience defining software architecture for high-availability, performance-sensitive applications.
* Strong understanding of multi-threaded design, concurrency models and performance optimisation.
* Experience in network programming (TCP/IP, UDP, sockets) and distributed systems.
* Exposure to DevOps practices and delivery pipelines.
* Experience working within iterative development lifecycles (tailored Agile or similar).
* Strong working knowledge of modern development toolchains (Git, CI/CD, Jira, Azure DevOps or equivalent).
* Demonstrable experience working to defined design standards, coding standards and secure development practices.
* Proven ability to lead technical teams or act as technical authority within a project environment.
Desirable Skills and Experience
* Experience with software-defined radio (SDR), digital signal processing (DSP), or radio communications systems.
* Knowledge of HF communications standards (STANAG 4538, STANAG 5066, MIL-STD-188-110).
* Experience integrating software with bespoke hardware platforms.
* Background in defence, safety-critical, or highly regulated engineering environments.
* Familiarity with automated testing frameworks, simulation environments and model-based development approaches.
* Strong Linux development experience (embedded Linux desirable).