Rocket Lab
The Role
The software team at K2 aims to integrate various software development areas, encouraging team members to explore parts of the stack beyond their usual experience. This includes GNC algorithms (Rust, C++), application software on flight computers (Rust, C++), embedded software on microcontrollers (Rust, C++), operating systems (Rust, C++, C), HDL programming (VHDL, SystemVerilog), and test systems (Python). Currently, this role does not involve front-end, artificial intelligence, or machine learning development.
As a team member, you will develop and verify software for some of the largest spacecraft ever flown, including controlling propulsion, attitude, and power systems to ensure safe and reliable operations. In the first 6 months, you will develop core software architecture components such as fault tolerance, real-time control, and telemetry. By the end of your first year, you'll implement larger systems and verify your code using simulators. Within two years, you'll operate your code on multiple spacecraft, demonstrating robustness in demanding missions.
Responsibilities
Create software architecture for real-time, fault-tolerant control of a 20kW+ spacecraft
Develop software for spacecraft subsystems, including propulsion, guidance/attitude control, thermal, power, and communication systems
Design and implement state machines for robust spacecraft operation
Create tools for rapid deployment of quality code
Perform data analysis and investigate anomalies to resolve software bugs
Support integration and testing of spacecraft subsystems
Build and maintain infrastructure to enhance development and testing reliability
Qualifications
Bachelor's degree in computer science, engineering, math, or a related STEM field, or 3+ years of professional software engineering experience
Development experience in Rust, C/C++, Python, VHDL, SystemVerilog
Nice to Have
Experience with spacecraft flight software development
Proficiency with Linux systems programming and driver development
Experience with CI/CD systems
Experience with real-time embedded systems (bare-metal or RTOS)
Basic electronics, computer architecture, and control systems knowledge
Experience with state machines, software verification, testing, performance analysis, debugging, Kalman Filters, fault-tolerant design, and test system development
#J-18808-Ljbffr
#J-18808-Ljbffr