Rust Software Engineer
Apply on
Availability Status
This job is expected to be in high demand and may close soon. We’ll remove this job ad once it's closed.
Job Description
The Role
The software team at K2 is building our stack primarily in Rust because we believe modern programming languages should be fun, as well as correct. We see Rust as a key enabling technology that allows us to be more effective as software engineers across the entire stack whether that is contributing to the GNC algorithms, application software on flight computers, embedded software on microcontrollers, and many things inbetween.
As a part of the team, you will be responsible for the development and verification of the software used to fly some of the largest spacecraft that have ever been flown. You will be able to write mission-critical code that controls propulsion systems, attitude control systems, and power systems to ensure safe and reliable operation of the vehicle. In your first 6 months you will develop core pieces of the software architecture including the strategies for fault tolerance, real-time control, and telemetry downlink. In your first year you will implement larger software systems and begin verifying your code using both software and hardware in the loop simulators. In your first two years you will operate your code on multiple spacecraft, demonstrating robust performance in demanding missions.
Responsibilities
Create software architecture for real-time, fault tolerant control of a 20kW+ spacecraft
Develop software applications for control of spacecraft subsystems, including propulsion, guidance/attitude control, thermal, power, and communications systems
Design and implement state machines for robust operation of the spacecraft
Author drivers for microcontroller peripherals and external sensors.
Create and utilize robust tools to allow for rapid deployment of quality code
Perform data analysis and anomaly investigation to identify and resolve software bugs
Support integration and testing of the spacecraft subsystems
Build and maintain infrastructure to increase reliability when developing and testing software
Qualifications
Bachelor's degree in computer science, computer engineering, electrical engineering, math, or a STEM discipline or 3+ years of professional experience in software engineering
Development experience in Rust
Nice to Have
Experience with spacecraft flight software development
Fluency with Linux systems programming and driver development
Experience with continuous integration and continuous delivery systems
Experience working with hard real-time embedded systems (bare-metal or RTOS)
Experience authoring no_std systems in Rust
Basic knowledge of electronics, computer architecture, and control systems
Experience developing or working with state machines
Experience with software verification and testing methods
Experience with software and network performance analysis and debugging
Experience working in Rust production environments
Experience with fault tolerant software design and implementation
Experience defining and creating test systems for both hardware-in-the-loop and hardware-out-of-the-loop
Compensation and Benefits:
Base salary range for this role is $116,000 - $200,000 + equity in the company
Salary will be based on several factors including, but not limited to: knowledge and skills, education, and experience level
Comprehensive benefits package including unlimited paid time off, medical/dental/vision/ coverage, life insurance, paid parental leave, and many other perks
If you don t meet 100% of the preferred skills and experience, we encourage you to still apply! Building a spacecraft unlike any other requires a team unlike any other and non-traditional career twists and turns are encouraged! If you need a reasonable accommodation as part of your application for employment or interviews with us, please let us know.
Export Compliance
As defined in the ITAR, U.S. Persons include U.S. citizens, lawful permanent residents (i.e., Green Card holders), and certain protected individuals (e.g., refugees/asylees, American Samoans). Please consult with a knowledgeable advisor if you are unsure whether you are a U.S. Person.
The person hired for this role will have access to information and items controlled by U.S. export control regulations, including the export control regulations outlined in the International Traffic in Arms Regulation (ITAR). The person hired for this role must therefore either be a U.S. person as defined by 22 C.F.R. 120.15 or otherwise eligible for a federally issued export control license.
Equal Opportunity
K2 Space is an Equal Opportunity Employer; employment with K2 Space is governed on the basis of merit, competence and qualifications and will not be influenced in any manner by race, color, religion, gender, national origin/ethnicity, veteran status, disability status, age, sexual orientation, gender identity, marital status, mental or physical disability or any other legally protected status.