Overview
In this role you will design and maintain embedded software for defence and communications applications, spanning from prototyping to production. You join a multidisciplinary team focused on secure, high-assurance technologies and contribute across the full software lifecycle. You will tackle challenging, security-critical problems and help evolve capabilities with modern languages and platforms. The opportunity emphasizes hands-on development, collaboration with hardware and FPGA engineers, and real-world impact in national security domains.
Responsibilities
- Design, develop and maintain embedded software/firmware in C++ and Rust where applicable
- Develop software for embedded platforms including embedded Linux and bare-metal MCUs
- Contribute to design, prototyping, testing and validation of new technologies
- Collaborate with software, FPGA and hardware teams to deliver integrated solutions
- Investigate complex problems and derive innovative engineering approaches
- Support the software lifecycle from concept to product development
- Explore emerging technologies to improve performance, reliability and capability
- Ensure software meets security, quality and engineering standards
Key requirements
- Strong C++ experience in embedded/firmware environments
- Experience with Rust or demonstrable ability to develop Rust expertise
- Experience developing for embedded systems, microcontrollers or resource-constrained platforms
- Knowledge of embedded Linux, bare-metal development or low-level software engineering
- Strong problem-solving skills and ability to navigate complex challenges
- Proactive learning mindset and willingness to explore new technologies
- Degree in engineering, mathematical or scientific discipline, or equivalent practical experience
- problem-solving
- proactive learning
- collaboration
- C++ (embedded/firmware)
- Rust (interest or expertise)
- embedded systems
…
