About the Role
About the role
This is a hands-on software engineering role for someone who enjoys solving complex systems-level problems and working close to hardware.
The Platform team is responsible for building and evolving the reusable software capability that other engineering teams build on top of. This is not a DevOps or SRE platform role.
You’ll be working on an existing platform, taking ownership of meaningful parts of the system and helping it evolve to support multiple products, technical disciplines and future capabilities.
You’ll work closely with engineers across computer vision, machine learning, control systems, hardware and product, helping make complex lower-level problems easier for those teams to work with.
What you’ll be doing
- Build and improve the shared software platform underpinning their products
- Take ownership of significant parts of an existing complex system
- Design reusable libraries, tooling and platform capability for other engineers
- Work closely with Computer Vision, ML, Controls, Hardware and Product teams
- Solve problems across performance, memory, concurrency and system behaviour
- Build validation and benchmarking tooling to help measure system performance
- Support the integration of new algorithms and technical capabilities into the wider platform
- Contribute to architecture, technical design and engineering decisions
- Debug complex problems across software and hardware boundaries
- Help evolve the platform as the business moves from supporting one product to multiple products
- Work with a high degree of autonomy in a small, highly technical team
Technical environment
Currently uses Rust, but previous Rust experience is not essential.
Relevant backgrounds could include:
- C++
- C
- Linux
- Embedded or systems software
- Real-time or performance-sensitive systems
- Networking / distributed systems
- Concurrency and multithreading
- Hardware integration
- Robotics
- Autonomous systems
- Computer vision / imaging
- Simulation
- 3D graphics / game engines
- CUDA
About you
You’re a strong hands-on software engineer who enjoys understanding how systems work beyond an individual function or service.
You’ll ideally have:
- Strong software engineering fundamentals, ideally with C++, C, Rust or another systems-oriented language
- Experience working on complex, performance-sensitive or hardware-adjacent software
- Strong systems-level thinking and the ability to understand how different parts of a system interact
- Experience taking ownership of meaningful software components or subsystems
- Strong debugging and problem-solving skills
- An understanding of areas such as performance, memory management, concurrency or real-time behaviour
- Experience working with engineers from different technical disciplines
- The ability to operate autonomously and make sound technical decisions
- Curiosity and a willingness to work in technical areas you may not already be an expert in
You do not need to be a Computer Vision, ML or Controls specialist, but you should be comfortable working alongside engineers in those areas and understanding enough of the concepts to make good software decisions.
Why join?
- Work on genuinely complex software connected to real physical systems
- See the technology you build deployed on real aircraft and autonomous platforms
- Help shape a new Platform team from the ground up
- Work across software, AI, computer vision, controls and hardware
- Take meaningful ownership rather than working on a narrow part of the system
Requirements
C++ experience
Strong software engineering fundamentals, ideally with C++, C, Rust or another systems-oriented language.
Systems-level thinking
Ability to understand how different parts of a system interact.
Debugging skills
Strong debugging and problem-solving skills are essential.
Performance-sensitive software
Experience working on complex, performance-sensitive or hardware-adjacent software.
Nice to Have
Previous Rust experience is not essential but is a plus.
Familiarity with embedded or systems software is beneficial.
Benefits
Complex projects
Work on genuinely complex software connected to real physical systems.
Impactful work
See the technology you build deployed on real aircraft and autonomous platforms.
Team shaping
Help shape a new Platform team from the ground up.