Software Engineer - Java
Role details
Job location
Tech stack
Job description
As a Software Engineer on the Airspace team, you work on major subsystems within our airspace and control platform. You'll design robust backend services and influence system architecture while working on problems where correctness and reliability matter deeply., Contribute to services for routing, deconfliction, airspace management, and ground control.
Own end-to-end delivery of complex features, from design through rollout and monitoring.
Work across Java, C++, and Python services, with Postgres as a core data store.
Build and evolve APIs and data models that support real-time decision-making.
Design systems with failure modes, observability, and recovery in mind.
Collaborate closely with Aircraft, QA, and Operations teams to ensure safe and effective system behaviour.
Contribute to technical standards and best practices across the Airspace domain.
Take ownership of technical decisions and unblock delivery when needed.
Requirements
Strong professional experience building backend or systems software in production.
Minimum of 6 years Software Engineering experience
Proficiency in Java or C++ (experience with both is a plus); Python experience beneficial.
Experience designing and owning services in distributed or real-time systems.
Solid understanding of relational databases, especially Postgres.
Track record of owning features or subsystems end-to-end.
Strong debugging and problem-solving skills.
Experience with routing, optimisation, simulation, or autonomy-adjacent systems.
Background in safety-critical, robotics, aviation, or high-reliability domains.
Experience working with camera systems, telemetry, or geospatial data.
Familiarity with frontend tools such as React for operational UIs.
Exposure to incident response and reliability engineering practices.