EU remote
Senior Software Engineer
About this role
We are looking for a hands-on Autonomous Drone Software Engineer to join a swarming programme. As an engineer on a lean, high-impact team, you will have the opportunity to drive development of new features, have a say in architecture and design decisions and have real impact across all the team’s projects. You will not be siloed; this role spans the entire autonomy lifecycle, from developing autonomy capabilities to investigating real-world flight-test data.
The ideal candidate is someone who’s a self-starter, can work independently, can work with ambiguity, can take decisions on their own and not be afraid to drive and push towards getting the project across the finish line. Responsibilities and Duties Take ownership and drive the development of new features across the autonomy stack and partner integrations Collaborate closely with hardware engineers, product managers, and external partners to define system requirements and translate them into robust software architecture Design and implement robust distributed state machines, leader election protocols, and fault-tolerant architectures.
Deliver clean, readable and maintainable code while confidently managing complex concurrency and contention scenarios Develop and run rigorous tests utilizing SITL/HITL simulation environments to validate code prior to physical deployment Actively participate in code reviews, architectural discussions, and technical documentation to elevate the team's engineering standards Act decisively during flight-test investigations, applying strong engineering judgment to physical failure modes and release safety Qualifications and Skills 3+ years of professional engineering experience in robotics, embedded systems, or distributed systems.
Deep proficiency in modern C++, with practical experience designing, reasoning about, and debugging highly concurrent systems. Embedded systems experience working close to hardware on real-time or safety-critical platforms (e.g., avionics, automotive, robotics). Strong architectural understanding of distributed systems, with the ability to deliberately evaluate and select consensus designs. Familiarity with robust release management, versioned artifacts, and pinned dependencies.