Software Engineering Intern
K2 Space Corporation
About the Role
- 3-month internship
- Work closely with K2 engineers in a highly collaborative environment
- Own a software engineering project end-to-end
- Support actual on-orbit operations of spacecraft
- Interact with advanced technologies like cyber-physical system simulators, satellite sensors and actuators, build systems, and GNC algorithms
Key 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
- 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
Requirements & Tech Stack
- Development experience in Rust, C/C++, or Go
- Minimum 12 weeks internship availability in person at HQ in Torrance
Qualifications
- Currently enrolled in a Bachelor’s or Master’s degree in computer science, computer engineering, electrical engineering, or other relevant engineering discipline
- 6+ months of experience using technical engineering skills outside of the university classroom setting (e.g., laboratory, research, extracurricular project teams, volunteering, personal projects, or prior internship/work experience)
Nice to Have
- Ability to work well in an integrated collaborative team environment, including frequent interactions with technicians, engineers, and managers
- Experience with spacecraft flight software development
- Experience with Linux systems programming and driver development
- Experience with continuous integration and continuous delivery (CI/CD) 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 defining and creating test systems for both hardware-in-the-loop and hardware-out-of-the-loop