GNSS Payload Software Engineer at Spire
Glasgow, GB / Luxembourg

As a GNSS payload software engineer at Spire, you will be part of a team laser-focused on delivering the critical data powering weather prediction models worldwide by leveraging GPS / GNSS technology and advanced signal processing techniques flying on Spire's constellation of nanosatellites. You will write software that will power and continuously improve the STRATOS GNSS radio occultations and reflection (GNSS-RO and GNSS-R) payload that collects and processes GNSS signals in real-time.

Our satellite constellation is continuously growing and updated by uploading software updates on-orbit that improve and expand the payload functionality in accordance with Spire strategies. If you have the drive to write stable, high-performance software that will have a global impact, we'd love to hear from you.

Responsibilities of your role:

  • Implementing real-time digital signal processing (DSP) algorithms for GNSS signals and testing them on a custom embedded board. These DSP algorithms might include, among others, digital beamforming, delay-Doppler maps, signal tracking algorithms, FFT acquisition, correlation, etc.
  • Testing DSP algorithms to verify they meet execution requirements, mathematical correctness, and stable runtime operation
  • Implementing/testing low-level data transfer and processing functions that interact with the FPGA, RF front-end, and peripheral sensors of the GNSS payload
  • Continuously improving the payload software in order to increase the quality and amount of GNSS-RO and GNSS-R data collected
  • Ensuring smooth interoperability between the payload and the rest of the satellite bus
  • Implementing/testing the GNSS payload onboard data handling architecture in coordination with other payloads and the satellite bus
  • Supporting the ground testing campaign through the documentation, execution, analysis, and debug phases
  • Conducting peer-reviews of code written by other team members, as part of Spire’s high-quality standards of code production (e.g., lines count minimization, code readability, naming rules, etc.)

Experience/ Requirements:

  • Bachelor’s degree in Computer Science, a technical field relevant to software engineering, or equivalent real-world experience
  • At least five years hands-on experience working with large-scale projects (i.e., hundreds of thousands of lines of code) developed in C++
  • Experience on at least two prior projects writing computationally and memory-efficient code that maximizes system performance while ensuring stable runtime operation
  • A detail-oriented personality; careful, methodical, and persistent in tracking down problems

Strong candidates will also possess skills in one or more of the following areas:

  • Strong data analysis skills (statistics, hypothesis testing, data visualization)
  • Knowledge of GNSS signal processing
  • Experience with Linux, Bash, Python, Ruby, Matlab, and/or Octave
  • Experience in systems engineering, covering the design, implementation, verification, and operation phases
  • Masters and / or PhD degree, or experience in relevant fields