Rocket Lab is the end-to-end space company building rockets, spacecraft, and critical subsystems that keep the world connected, protected, expand humanity's reach to the Moon, Mars, and beyond. We move fast, build real hardware for meaningful missions, and make the impossible routine. Come shape the future with us.
Rocket Lab's Space Systems team is responsible for every satellite and satellite component made by Rocket Lab: from complete satellites destined for missions to the Moon and Mars, to the individual components and subsystems that make up a satellite like solar panels, flight software, reaction wheels and star trackers, separation systems, radios, and more. Our Space Systems team is made up of engineers, technicians, and designers who design, create, and put together our own satellites for missions across the commercial, government, and defense sectors, or who build and assemble satellite hardware and software that supports other satellite missions.
As a Senior Flight Software Engineer in Rocket Lab's Space Systems Software team, you'll serve as a technical expert across three equally important areas of flight software development: support for current missions on orbit or in development; next-generation FSW for our future large, autonomous satellite constellations; and embedded software for our hardware product lines (e.g., Gauss thruster, reaction wheels, Frontier radios). Key expectations of the role include technical advisory, guidance, and direction, as well as technical risk identification and mitigation across all three domains. In particular, you'll guide a set of multi-disciplinary teams to deliver flight and embedded software on schedule and on budget.
This role requires you to combine technical excellence with strengths in technical planning and communication:
Day to day, your key responsibilities could include:
Develop and maintain robust regression testing frameworks that span flight software and embedded software product lines, enabling rapid, reliable verification across current missions, new constellation builds, and component-level releases.
Working from datasheets and schematics, and collaborating regularly with electrical, systems, and test engineers
Developing for 32-bit Arm Cortex-M microcontrollers, all with hardware floating-point units on a Vorago Cortex-M4 and Microchip Cortex-M7 devices.
Developing for memory-constrained and code space constrained targets.
Writing portable, endianness-independent code that runs unchanged across targets (e.g., Cortex-M4, Cortex-M7).
Microcontroller programming in C/C++.
Developing on real-time operating systems.
Writing and maintaining device drivers.
Working with embedded communication interfaces and protocols such as CAN bus (2.0 and FD), SPI, and RS-422.
Writing code following The Power of 10 or similar rules for creating reliable software.
Writing scripts and automated tests in Python.
Developing for and on Linux/WSL and working comfortably in virtualized environments.
Tertiary qualification in Software Engineering, Computer Science, Electrical Engineering or similar.
Minimum of 5 years professional experience within a relevant discipline
Excellent problem-solving skills
Team player with a positive attitude
Experience with Rust
Experience with Robot Framework
Experience with UDP/TCP networking
Experience writing and maintaining bootloaders
Experience with propulsion systems, especially electric propulsion systems
FPGA experience or familiarity
CI/CD experience using GitLab and TeamCity
Experience with Docker/Kubernetes
Network programming (Sockets/WebSockets)
Nodejs/NPM related build systems and tooling
Elasticsearch experience