We go to space to improve life on Earth
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. Our team is 500 people strong and we’re adding to it every week. 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.
At Rocket Lab, our family of 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 Photon 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 Flight Software Engineer – Space Systems 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 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 Long Beach HQ 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), Star Trackers, Reaction
- Wheels and other 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, documenting and validating requirements.
- Participate in review of source code changes and ensure all changes meet company coding standards.
- Participate in design reviews such as a PDR and CDR.
- Assist with 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 working within an agile or scrum based workflow.
- Experience mentoring, tasking and reviewing junior developers.
- Experience developing software for autonomous vehicles operating in harsh environments, such as satellites, UAVs, or autonomous underwater vehicles.