Filling the gaps between
Sample Data
Sample Data
Terms &
Spirepedia is a collection of miniature articles about topics mentioned throughout the Spire website.
Sample Data

Software Engineer, Spaceflight Software

Spire — San Francisco, Boulder, Glasgow, Singapore
Software Engineer, Spaceflight Software - image

Spire Global is a 150 person space data company founded in 2012. It consists of two engineering teams:

  • The Space Program team, which produces a firehose of sensor data from one of the world's largest satellite and ground station constellations, designed and operated in house. This team includes the infrastructure group, which develops the Constellation Data Pipeline software.

  • The Data Products team, which develops API-based products that deliver insights into weather, aircraft activity, maritime activity, and more based on the sensor data firehose.

The company owns the entire stack from custom hardware to customer APIs. We are hiring at several levels including Staff Engineer, Sr. Staff Engineer and Principal Engineer.

Your first mission:

As a member of Spire's infrastructure team, your first mission will be to work on our spaceflight software

  • Developing and maintaining Spire’s python based satellite control daemon (Sbrain) which implements FDIR (Fault Detection Isolation and Recovery and payload and telemetry data management and interfaces with and coordinates a) all instruments/payloads including ADS-B, AIS, GNSS-RO, GNSS-R, and hosted payloads, and b) all subsystems of the spacecraft bus
  • Developing and maintaining satellite configuration system and syncing interface with the ground
  • Maintaining best practices and Interface Control Documents (ICDs) for a) exposing subsystem telemetry to the flight computer, and b) payload/instrument integration

Qualifications / Experience:

  • 5-10 years hands-on coding experience in spacecraft software, focused on onboard computer code development.
  • Expertise in satellite bus control code, satellite subsystem, payload control and spacecraft software fault tolerance.
  • Experience in debugging and enhancing control code of orbiting spacecraft.
  • Domain flexibility, good communication skills, and preference for simple, robust solutions.
  • Experience with interpreted languages (Python)
  • Strong understanding of algorithms and data structures.
  • Have good taste: see the big patterns and instinctively know the right way to do things.

Bonus points:

  • Experience with system languages (such as C, C++, Go).

About the team you'd be joining:

The Space Program Infrastructure team is the connecting point for all our hardware and software. We interface with most teams: the product team, the satellite operations team, the instrument teams, and the satellite bus and ground station teams. You'll be playing a critical role in making sure all the pieces work well together. The team's responsibilities include:

  • Pipeline Infrastructure:
    • Satellite software
      • Satellite side control daemon for all spacecraft subsystems
      • Fault detection isolation and recovery functionality
    • Groundstation software
      • Satellite tracking
      • Operating software designed radio (SDR) system
    • Cloud
      • Distributed logging & monitoring
      • Timeseries telemetry warehousing
      • Payload data warehousing
      • Configuration management system
    • Protocols
      • Satellite-ground communications protocol
    • Developer tooling
      • BI/alerting infrastructure (Apache Zeppelin is the default tool)
      • Build and deploy systems for ground and space software
  • Pipeline features:
    • Scheduling
      • Satellites and ground stations
    • Ground-space communications
      • Syncing of schedules 
      • Syncing of configurations
      • Downlinking of data
      • Up and downlinking of data
    • Spacecraft data acquisition
      • Data from GPS-RO instrument
      • Data from AIS instrument
      • Data from ADS-B instrument
      • etc