Software Engineer, Embedded Software Engineer, C++ Developer
Listed on 2026-09-12
-
Software Development
Embedded Software Engineer, C++ Developer, Software Engineer, Embedded Systems/ Firmware/ IoT
Software Engineer
Location: Tewkesbury, UK (Hybrid)
Employment Type: Full-time
Salary: Competitive
SummaryAllen-Vanguard is seeking a Software Engineer.
In this position, you will be actively involved in the full software development process including requirements definition, high‑level design, implementation, simulation, verification, and support.
The role focuses on applications in digital signal processing (DSP), and you should have practical experience working with DSP concepts and implementations. The ability to conceptualise, develop, and implement new algorithms is important, along with strong numeracy skills to support the testing, verification, and validation of DSP modules.
You will be expected to work with a moderate degree of independence, while collaborating effectively within a multidisciplinary team, so flexibility, adaptability, and a proactive approach to learning are highly valued.
You will be involved in the OpenCPI framework, including the development of Board Support Packages (BSPs), workers written in C++ and VHDL, as well as associated tests and applications; a high degree of competence in this area is required.
Role and Responsibilities- Design and implement real‑time embedded firmware in C / C++ on ARM microcontrollers and microprocessors, and in FPGA SoCs.
- Develop software for simulating and implementing signal processing algorithms (C++/Python).
- Develop test harnesses to stimulate software modules and hardware systems.
- Write and execute verification plans for software integrated into systems.
- Design, implement, simulate and test VHDL modules.
- Construct FPGA SoC designs.
- Create OpenCPI BSPs for existing and new PCBs.
- Create OpenCPI workers (C++/VHDL).
- Work with other engineering disciplines (systems, hardware, RF) in debugging PCBs and system integration.
- Develop user interface software on PC/mobile platforms.
- Develop software to support manufacturing build, configuration, and test of systems.
- A Bachelor of Computer Engineering / Computer Science Degree or related College Diploma.
- Typically, 3+ years of experience in software development.
- Experience with either C/C++ in an embedded environment, or with VHDL.
- Development experience under Linux in an embedded environment.
- Real‑time embedded development and debug experience.
- Python/Shell scripting.
- Experience in the use and configuration of Linux/POSIX systems.
- Experience with ML and AI techniques.
- Experience with SDR frameworks (OpenCPI, GNURadio).
Allen‑Vanguard develops cutting‑edge RF systems used globally across the defence and security sector. Our work relates to developing C-IED and C-UAS capabilities – what we build has a genuine real‑world impact, helping to protect people, infrastructure, and operations.
You will be joining a small, experienced team where your work is visible, and you can see the impact of what you are delivering. This isn’t a narrow, siloed role – as part of a nimble team, you will be involved across the full software lifecycle and gain hands‑on experience in all aspects of software development, working closely with systems, hardware, and RF engineers to solve practical, complex problems.
You will have the opportunity to contribute ideas, learn from experienced colleagues, and continue developing your skills. We encourage people to take ownership of their work while building their experience across a range of technologies.
We offer a competitive salary alongside a range of benefits covering health and wellbeing, savings, and life insurance.
We are committed to creating an inclusive, supportive, and flexible working environment, and to giving people the space to do their best work.
Development is important to us – both through hands‑on project…
(If this job is in fact in your jurisdiction, then you may be using a Proxy or VPN to access this site, and to progress further, you should change your connectivity to another mobile device or PC).