Senior Embedded Software Engineer

Job Description
Grace May is supporting an established technology organisation in the recruitment of a Senior Embedded Software Engineer to join its engineering team.
This is an opportunity for an experienced embedded software engineer to play a key role in the design and development of sophisticated, hardware-integrated products. You’ll work across embedded software and firmware, from system architecture and hardware bring-up through to development, integration, testing and production.
We’re looking for someone with strong embedded Linux experience who is comfortable working close to the hardware and enjoys solving complex technical challenges.
The role
As a Senior Embedded Software Engineer, you’ll contribute to the architecture, development and delivery of embedded software and firmware across a range of products and platforms.
Your responsibilities will include:
• Developing embedded software and firmware using C and C++
• Customising, configuring and optimising the Linux kernel
• Building and maintaining embedded Linux distributions using Yocto
• Working with Board Support Packages (BSPs), device drivers and hardware bring-up
• Building and customising Android Open Source Project (AOSP) for embedded platforms
• Working with Android HAL layers, system services and associated build systems
• Integrating image sensors and ISP pipelines using available drivers
• Designing reusable software frameworks for embedded products
• Working with cross-compilation environments, build systems and toolchains
• Debugging hardware and software using tools such as JTAG, gdb, strace, perf, oscilloscopes and logic analysers
• Working with communication interfaces including Ethernet, CAN, UART, SPI, I²C and USB
• Optimising software for performance, memory, power and CPU utilisation
• Collaborating closely with hardware, mechanical and test engineering teams
• Contributing to code reviews, technical documentation, unit testing and engineering best practice
Key Skills
What we’re looking for
You’ll have significant experience developing embedded software and firmware for hardware-based products, with a strong understanding of the interaction between software and hardware.
Ideally, your experience will include:
• Strong C and C++ embedded development
• Embedded software and firmware development
• Embedded Linux and Linux kernel development
• Strong experience with Yocto Project
• Device drivers and BSP development
• Hardware bring-up
• AOSP and embedded Android development
• Cross-compilation and embedded development toolchains
• Hardware and software debugging
• Real-time constraints and performance optimisation
• Git and modern software development practices
• CI/CD tools such as GitLab CI or Jenkins
• An understanding of cybersecurity considerations within embedded devices
Experience with embedded networking, GNSS, RF-based products, image sensors or ISP pipelines would be particularly valuable.
The person
Beyond the technical skills, we’re looking for someone who can take ownership of complex engineering challenges and contribute at a senior level.
You’ll be comfortable influencing system architecture and product design, working collaboratively across engineering disciplines and helping maintain high standards of software and firmware quality. You will be a team player and if you have experience mentoring other engineers, or providing technical leadership, that would be a strong advantage.
Benefits
Strong salary and benefits package to include a generous pension, holiday allowance and an early finish Friday.
