Software Engineer, Spaceflight Software at Spire
San Francisco, CA, US | Boulder, CO, US | Luxembourg

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.