Senior Embedded Software Engineer
Role details
Job location
Tech stack
Job description
The Embedded Software Engineer will design and develop robust embedded Linux control platforms, networked control systems, and Zephyr- or bare-metal-based close-coupled subsystems. The role has a strong focus on system management, diagnostics, secure communications, and inter-processor communication.
A background in RF, particularly extremely high frequency RF systems, would be advantageous.
You will analyse existing product architectures, define and implement new software solutions, and help ensure reliable and secure communication across distributed processing elements.
You will be a key part of a multidisciplinary team working on controllers and their subsystems, connected by CAN buses, networks, and serial interfaces. Your initial focus is likely to be on the subsystems connected to the main controller board. These systems are constrained in RAM, storage, and compute capacity, so your ability to write efficient, reliable code for resource-constrained devices will be especially valuable.
You are also likely to work on Yocto Linux within the controller systems.
You will play an important role in analysing and resolving issues in existing products, as well as developing new systems using a range of design methodologies. This includes designing and implementing communication protocols between FPGA devices, ARM Cortex-M real-time subsystems, and Cortex-A-based Linux environments such as STM32MP and AMD Zynq devices, ensuring reliable inter-processor communication across the full system architecture.
Key Responsibilities
-
Architecting, developing, and maintaining subsystem firmware in Zephyr or bare-metal environments.
-
Architecting, developing, and maintaining embedded Linux systems using Yocto.
-
Supporting board bring-up, including diagnosis using oscilloscopes, logic analysers, and software-based debugging techniques.
-
Designing and maintaining board-to-board communication protocols.
-
Designing and maintaining networking interfaces, including REST APIs, SNMP agents, and OpenAPI specifications.
-
Implementing and debugging TCP/UDP communication layers, low-level networking behaviour, and protocol performance.
-
Developing secure communication methods and applying best practices for authentication, encryption, secure OTA updates, and system hardening.
-
Using tools such as Nmap, OpenVAS, Nessus, or similar to assess system vulnerabilities and improve security.
-
Developing system services, daemons, device drivers, and communication middleware on embedded Linux.
-
Leading troubleshooting and root-cause analysis for embedded networking and security issues.
-
Defining embedded software requirements, interface specifications, and technical documentation.
-
Working closely with hardware, FPGA, and systems engineers to ensure reliable and secure data and control flow.
Requirements
Filtronic is seeking a highly skilled Embedded Software Engineer with strong expertise in embedded Linux, Yocto-based systems, RTOS development, and networking and secure communications. Experience with Zephyr is particularly desirable., * Bachelor's degree in Computer Science, Electronic Engineering, or a related field, or equivalent practical experience in low-level embedded systems development.
- Strong professional experience in embedded Linux software development.
- Professional experience in one or more real-time operating systems (RTOS) and/or bare-metal development.
- Solid experience in prototype board bring-up.
- Strong proficiency in C/C++ for embedded systems, including optimising CPU and RAM utilisation.
- Knowledge of digital communication interfaces such as Gigabit Ethernet, CAN, SPI, I2C, UART, and RS422.
- Strong debugging experience using oscilloscopes, logic analysers, and software debugging tools such as GDB, perf, and valgrind.
- Excellent analytical, communication, and documentation skills.
Desirable Requirements
- Solid experience with ARM Cortex-M and Cortex-A devices, particularly STM32.
- Hands-on experience with the Yocto Project, PetaLinux, or similar build systems.
- Professional experience with Zephyr OS.
- Strong understanding of Linux kernel architecture, device drivers, bootloaders, systemd, and system services.
- Solid understanding of secure networking protocols such as TLS, SSH, IPSec, and HTTPS, as well as authentication and encryption methods.
- Experience in secure bootloader and firmware update development.
- Solid proficiency in Python.
- Experience with extremely high frequency RF systems.
- Familiarity with MISRA C/C++ or other high-reliability embedded software standards.
- Experience in Linux systems automation, including CI/CD and testing.
- Familiarity with container technologies such as Docker and Kubernetes.
- Basic soldering ability for minor modifications or attaching leads for probing.
- Ability to obtain SC security clearance, where required by the nature of the work.
Benefits & conditions
- 37.5 hour working week
- 25 days' holiday plus public holidays, with the option to buy up to 5 additional days
- Contributory pension scheme with up to 8% company contribution
- Life Assurance (4 x basic salary)
- Income Protection Insurance
- Save As You Earn (SAYE) share scheme
- Electric Vehicle (EV) scheme
- Cycle to Work scheme
- Volunteering day
- Learning and development opportunities
- Hybrid working available