The Role
The software team at K2 strives to blur the lines between the various types of software development and encourages team members to get into parts of the stack they may not otherwise have experience with. This spectrum 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, Verilog), and test systems (Python). By doing this, we create a stronger team with more capable engineers. For now, this does not include front-end, artificial intelligence, or machine learning development.
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
- Creating software architecture for real-time, fault-tolerant control of a 20kW+ spacecraft
- Developing software applications for control of spacecraft subsystems, including propulsion, guidance/attitude control, thermal, power, and communications systems
- Designing and implementing state machines for robust operation of the spacecraft
- Creating and utilizing robust tools to allow for rapid deployment of quality code
- Performing data analysis and anomaly investigation to identify and resolve software bugs
- Supporting integration and testing of the spacecraft subsystems
- Building and maintaining 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, C/C++, Python, VHDL, Verilog
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 building or working with hard real-time embedded systems (bare-metal or RTOS)
- 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 with implementing Extended Kalman Filters for inertial sensors
- 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 $85,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.
ITAR Requirements
To conform to U.S. Government space technology export regulations, including the International Traffic in Arms Regulations (ITAR), you must be a U.S. citizen, lawful permanent resident of the U.S., protected individual as defined by 8 U.S.C. 1324b(a)(3), or eligible to obtain the required authorizations from the U.S. Department of State.
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.
#J-18808-Ljbffr