Senior Embedded Software Engineer Filtronic
Listed on 2026-10-16
-
Software Development
Embedded Systems/ Firmware/ IoT, Embedded Software Engineer, Unix/Linux, C++ Developer
Filtronic is looking for a Senior Embedded Software Engineer to join our growing software engineering team in Cambridge.
You will play a key role in the design, development and integration of embedded software and firmware for advanced RF and communications products, working across the full product lifecycle from concept and development through to volume manufacture.
The role has a strong focus on Zephyr-based embedded development, with opportunities to work across embedded Linux, Yocto, bare-metal firmware, networking and secure communications.
You will work closely with experienced RF, FPGA, hardware and systems engineers, contributing to products supporting applications across telecommunications, space, high-altitude platforms and defence.
What you’ll be doingAs a Senior Embedded Software Engineer, you will contribute to the architecture, development, integration and support of embedded software across a range of products and subsystems.
Your responsibilities will include:- Architecting, developing and maintaining embedded firmware using Zephyr and bare-metal environments.
- Developing and maintaining embedded Linux systems, including Yocto-based platforms.
- Carrying out prototype board bring-up, using software debugging techniques, oscilloscopes and logic analysers.
- Designing and maintaining board-to-board and digital communication interfaces, including CAN, SPI, I²C, UART and RS422.
- Developing networking interfaces and services, including REST APIs, SNMP agents and OpenAPI specifications.
- Developing secure communications, including authentication, encryption, secure firmware updates and system hardening.
- Supporting vulnerability assessment and security improvement using appropriate tools and techniques.
- Developing embedded Linux services, daemons, device drivers and communication middleware.
- Leading technical troubleshooting and root-cause analysis of embedded networking and security issues.
- Defining embedded software requirements, interface specifications and technical documentation.
- Working collaboratively with hardware, FPGA and systems engineers to ensure reliable data and control interfaces.
We’re looking for an experienced embedded software engineer who can contribute across the software development lifecycle and is comfortable working close to the hardware.
Essential experience and skills:- Strong professional experience developing low-level embedded software and firmware.
- Strong experience developing software using Zephyr. (This is a hard requirement.)
- Experience with prototype board bring-up and hardware/software integration.
- Ability to read and interpret circuit schematics and component datasheets.
- Strong C and C++ programming skills, including experience optimising software for CPU, memory and other resource-constrained environments.
- Experience developing digital communications interfaces such as CAN, SPI, I²C, UART and RS422.
- Strong debugging and diagnostic skills using tools such as oscilloscopes, logic analysers and software debugging tools.
- Strong analytical, communication and technical documentation skills.
- ARM Cortex-M and Cortex-A development, particularly STM
32. - Yocto, Peta Linux or similar embedded Linux build systems.
- Linux kernel architecture, device drivers, bootloaders, systemd and Linux services.
- Other RTOS environments and/or bare-metal firmware development.
- Secure networking protocols including TLS, SSH, IPSec and HTTPS.
- Authentication, encryption, secure boot and secure firmware update mechanisms.
- Python development.
- Experience working with high-frequency RF systems.
- MISRA C/C++ or other high-reliability software development frameworks.
- Linux automation, CI/CD and automated testing.
- Container technologies such as Docker or Kubernetes.
- Practical experience…
(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).