About Rocket Lab
Rocket Lab is the global leader in small satellite launch. Our mission is to open access to space to improve life on Earth.
There are endless possibilities for what we can achieve with better access to space, and that access is now a reality thanks to Rocket Lab.
Collaboration is at our core - every idea is heard, and everyone makes a difference. Teams are nimble, decisions are made quickly, and we are action oriented.
While other companies talk about it, we do it!
Senior Embedded Software Engineer
At Rocket Lab, our family of Electron launch vehicles and Photon spacecraft are supporting a growing number of ground-breaking missions in low Earth orbit and far beyond.
Right now, our team is deep in the development of missions to the Moon and Mars for NASA, as well as the world’s first private mission to Venus.
We are looking for an experienced Senior Embedded Software Engineer to join the team making these missions a reality.
In this role, you will play a key role in supporting the development of flight software for both our Electron and Neutron launch vehicles, as well as our Photon spacecraft.
You’ll spend your days participating in all aspects of software design and development, from requirements definition through coding and testing.
And when we say test, we mean your software will be on orbit within weeks and months, not years. Thanks to having our own rockets and launch sites, we have frequent opportunities to test and operate our software on orbit.
This role is for someone who wants to see their software make a big impact on the way we explore space and use it as a platform for discovery and innovation.
While your software settles into life in space, you’ll be based in our Auckland Production Complex working amongst the rockets and Photon spacecraft as they’re built and collaborating with the vibrant, dedicated, and talented people who have made Rocket Lab into the global leader it is today.
Duties & Responsibilities
Develop embedded software to run on bare-metal processors from ARM, Microchip and ST.
Develop application software to run within a Real Time Operating System (RTOS) and / or embedded Linux.
Develop hardware drivers to interface to Inertial Measurement Units (IMUs), Thrust Vector Controllers (TVCs), Rocket Propulsion Systems, Global Positioning Systems (GPSs) and other launch vehicle and spacecraft sensors and actuators.
Develop and maintain comprehensive unit tests to run within a Continuous Integration framework.
Collaborate with hardware-in-the-loop test engineers to verify and validate combined software and hardware functionality.
Collaborate with systems engineers and embedded systems engineers in developing requirements.
Participate in review of source code changes.
Assist with launch, on-orbit (and interplanetary!) flight operations.
Software development within a Linux environment, specifically embedded applications.
Proficiency in C and C++ languages and development environments.
Proficiency developing embedded software to interface with serial (UART, SPI, I2C) devices.
Demonstrated success working in a dynamic environment with multiple priorities.
Document management & software systems engineering experience.
Required Education & Experience
An engineering degree in computer science, electrical engineering, computer engineering, or equivalent qualification.
5+ years of demonstrated applicable experience in embedded software development.
Experience writing embedded software within a multi-threaded / multi-processor environment.
Experience with Real Time Operating Systems (RTOS) such as uC / OS or FreeRTOS.
Experience with Embedded Linux
Experience developing software and drivers with CAN / CAN-FD and / or UDP / TCP within an embedded system.
Experience developing networked applications.
Experience developing within Python.
Experience working within an agile or scrum based workflow.
Experience with Redmine, Jira, Bugzilla or other issue tracker.
Experience mentoring, tasking and reviewing junior developers.
Experience developing software for autonomous vehicles operating in harsh environments, such as missiles, rockets, satellites, UAVs, or autonomous underwater vehicles.