Overview
As an Embedded Software Engineer, you will design and maintain firmware for security-critical embedded platforms using C++ and Rust. You’ll work within a multidisciplinary team on defence and communications projects, spanning from early research to production-ready solutions. You’ll tackle complex engineering challenges, exploring new technologies to improve performance and security. This role offers hands-on development across embedded Linux and bare-metal environments, with a strong focus on impact and innovation.
Responsibilities
- Design, develop and maintain embedded software and firmware in C++ and Rust
- Develop for embedded platforms including embedded Linux and bare-metal microcontrollers
- Contribute to prototyping, testing, and validation of new technologies
- Collaborate with software, FPGA and hardware engineers to deliver integrated solutions
- Investigate complex problems and develop innovative approaches
- Contribute across the software lifecycle from concept to product development
- Explore emerging technologies to enhance performance and reliability
- Ensure software meets security, quality, and engineering standards
Key requirements
- Strong C++ experience in embedded software/firmware
- Experience with Rust or demonstrable potential to develop Rust expertise
- Experience developing for embedded systems and microcontrollers or resource-constrained platforms
- Knowledge of embedded Linux, bare-metal development, or low-level software engineering
- Strong problem-solving skills and proactive learning attitude
- Engineering/scientific/mathematical degree or equivalent practical experience
- strong problem-solving
- proactive learning
- collaboration
- C++ in embedded environments
- Rust language
- embedded systems development
…
