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

Software Engineer, Scheduling

Location
Spire — San Francisco, Boulder, Glasgow, Singapore
Software Engineer, Scheduling - 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.

What we offer:

  • Contribute to data products that have a strong social impact: weather monitoring, ship and aircraft tracking, and more.
  • Join a team that is unusually deep and broad: backend web services, distributed and embedded systems, electrical and mechanical engineering, RF, DSP, AI/ML, etc.
  • It’s a space program. Write code that runs on the ground and in orbit.
  • Our San Francisco office offers a great environment for doing technical work.
  • You get to work on technical problems that are different from your average web app.

Your first mission:

As a member of Spire's infrastructure team, your first mission will be to work on our communications and instrument scheduler:

  • Scheduling ground and space assets to meet Product objectives set by the satellite operations team
  • Modeling each satellite’s thermal and power characteristics based on previous schedules and telemetry
  • Exposing configuration parameters for the scheduling goal function to the satellite operations team including latency, volume, geographic distribution of instrument readings, and then
  • Generating an optimal schedule given goal function configuration: fixed goals like even distribution of spacecraft in the same orbit, satellite constraints (hardware capabilities, drag model, power model, thermal model, etc), groundstation constraints (technical capabilities, obscura maps), and legal constraints

Qualifications / Experience:

  • Have good taste: see the big patterns and instinctively know the right way to do things.
  • At least 4 years software development experience.
  • Domain flexibility, good communication skills, and preference for simple, robust solutions.
  • Experience with interpreted languages (Python)
  • Experience with distributed systems.
  • Strong understanding of algorithms and data structures.

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