Flight Software Engineer

K2 Space Corporation

Seattle, WAFresher8h agovia LinkedIn

About the Role

The software team at K2 is building its stack primarily in Rust. This role involves the development and verification of software used to fly large spacecraft, writing mission-critical code to control propulsion systems, attitude control systems, and power systems for safe and reliable operation.

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.
  • Author drivers for microcontroller peripherals and external sensors.
  • Create and utilize robust tools for rapid deployment of quality code.
  • Perform data analysis and anomaly investigation to identify and resolve software bugs.
  • Support integration and testing of spacecraft subsystems.
  • Build and maintain infrastructure to increase reliability when developing and testing software.

Requirements & Tech Stack

  • Development experience in C/C++ or Rust.
  • Rust development for flight software.
  • Use of Rust for embedded software on microcontrollers.

Qualifications

  • Bachelor's degree in computer science, computer engineering, electrical engineering, math, or a STEM discipline.
  • 3+ years of professional experience in software engineering.

Nice to Have

  • Experience with spacecraft flight software development.
  • Fluency with Linux systems programming and driver development.
  • Experience with continuous integration and continuous delivery (CI/CD) 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.

Entry-Level Software Engineer Jobs in Seattle · last 7 days

28 openings · all need no experience

Most hiring: Blue Origin, Amazon, Microsoft

See all 28 →